123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #ifndef NULLSOFT_AGAVE_METADATA_API_METADATA_H
- #define NULLSOFT_AGAVE_METADATA_API_METADATA_H
- #include <bfc/dispatch.h>
- #include "svc_metatag.h"
- class api_metadata : public Dispatchable
- {
- protected:
- api_metadata() {}
- ~api_metadata() {}
- public:
-
- int GetExtendedFileInfo(const wchar_t *filename, const wchar_t *tag, wchar_t *data, size_t dataLength);
-
- int SetExtendedFileInfo(const wchar_t *filename, const wchar_t *tag, const wchar_t *data);
- int WriteExtendedFileInfo(const wchar_t *filename);
-
- svc_metaTag *GetMetaTagObject(const wchar_t *filename, int flags=METATAG_ALL, GUID *exclude=0, int numExcludes=0);
- svc_metaTag *GetMetaTagObject(const GUID metaTagGuid);
-
- uint32_t GenerateKey(const wchar_t *field);
- DISPATCH_CODES
- {
- API_METADATA_GETEXTENDEDFILEINFO = 10,
- API_METADATA_SETEXTENDEDFILEINFO = 11,
- API_METADATA_WRITEEXTENDEDFILEINFO = 12,
- API_METADATA_GETMETATAGOBJECT = 20,
- API_METADATA_GETMETATAGOBJECTBYGUID = 30,
- API_METADATA_GENERATEKEY = 40,
- };
- };
- inline int api_metadata::GetExtendedFileInfo(const wchar_t *filename, const wchar_t *tag, wchar_t *data, size_t dataLength)
- {
- return _call(API_METADATA_GETEXTENDEDFILEINFO, (int)0, filename, tag, data, dataLength);
- }
- inline int api_metadata::SetExtendedFileInfo(const wchar_t *filename, const wchar_t *tag, const wchar_t *data)
- {
- return _call(API_METADATA_SETEXTENDEDFILEINFO, (int)0, filename, tag, data);
- }
- inline int api_metadata::WriteExtendedFileInfo(const wchar_t *filename)
- {
- return _call(API_METADATA_WRITEEXTENDEDFILEINFO, (int)0, filename);
- }
- inline svc_metaTag *api_metadata::GetMetaTagObject(const wchar_t *filename, int flags, GUID *exclude, int numExcludes)
- {
- return _call(API_METADATA_GETMETATAGOBJECT, (svc_metaTag *)NULL, filename, flags, exclude, numExcludes);
- }
- inline svc_metaTag *api_metadata::GetMetaTagObject(const GUID metaTagGuid)
- {
- return _call(API_METADATA_GETMETATAGOBJECTBYGUID, (svc_metaTag *)NULL, metaTagGuid);
- }
- #pragma warning(push)
- #pragma warning(disable : 4267)
- inline uint32_t api_metadata::GenerateKey(const wchar_t *field)
- {
- return _call(API_METADATA_GENERATEKEY, (uint32_t)-1);
- }
- #pragma warning(pop)
- static const GUID api_metadataGUID =
- { 0xdfa89f63, 0x995a, 0x407b, { 0x8b, 0xc8, 0x82, 0x79, 0x0, 0x44, 0x7, 0x27 } };
- #endif
|