00001 #ifndef __AIAssetMgmt__
00002 #define __AIAssetMgmt__
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 #ifndef __AITypes__
00031 #include "AITypes.h"
00032 #endif
00033 
00034 #include "IAIFilePath.hpp"
00035 
00036 #include "AIHeaderBegin.h"
00037 
00040 
00041 
00042 
00043 
00044 
00045 
00046 #define kAIAssetMgmtSuite                               "AI Asset Management Suite"
00047 #define kAIAssetMgmtSuiteVersion9               AIAPI_VERSION(9)
00048 #define kAIAssetMgmtSuiteVersion                kAIAssetMgmtSuiteVersion9
00049 #define kAIAssetMgmtVersion                             kAIAssetMgmtSuiteVersion
00050 
00052 #define kAILaunchProjectBridgeNotifier  "AI Launch Project Bridge Notifier"
00053 
00056 enum AIXMPMetadataSelector {
00058         kAIXMPDefault                           = 0x00000000,
00060         kAIXMPPreserveDocumentID        = 0x00000001,
00062         kAIXMPNoPageInfo                        = 0x00000002,
00064         kAIXMPNoDocumentSwatches        = 0x00000004,
00066         kAIXMPNoPlateUsages                     = 0x00000008,
00068         kAIXMPNoUsedFonts                       = 0x00000010,
00070         kAIXMPNoThumbnail                       = 0x00000020
00071 };
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00082 typedef struct _AIXMPSession *AIXMPSession;
00083 
00086 typedef struct AIXMPDataFieldMap {
00088     const char *name;
00092     const char *value;
00095         AIBoolean       replace;
00096 } AIXMPDataFieldMap;
00097 
00098 
00099 
00100 
00101 
00102 
00103 
00104 
00113 typedef struct AIAssetMgmtSuite {
00118         AIAPI AIBoolean (*IsAssetMgmtEnabled)();
00119 
00131         AIAPI AIErr (*UpdateDynamicMetadataFields) (const char *xapIn,
00132                 const AIXMPDataFieldMap *fields, const ai::int32 length,
00133                                                                                                 char **xapOut);
00134 
00143         AIAPI AIErr (*UpdateDynamicMetadata) (const char *mimeType, const char* managedURL , ai::uint32 metadataSelectors);
00144 
00149         AIAPI AIBoolean (*Progress) ( ai::int32 bytesTransferred, ai::int32 contentLength,
00150                                                                   char *server, char *uri, char *method,
00151                                                                   char *contentType, const ai::FilePath &localFile);
00160         AIAPI AIErr (*CreateXMPSession) (const char *xmpIn , AIXMPSession* xmp);
00161 
00166         AIAPI AIErr (*DisposeXMPSession) (AIXMPSession xmp);
00167 
00174         AIAPI AIErr (*GetXMPSessionSize) (AIXMPSession xmp , int* xmpSize);
00175 
00182         AIAPI AIErr (*GetXMPSessionBuffer) (AIXMPSession xmp , char *xmpOut);
00183 
00193         AIAPI AIErr (*GetPropertySize) (AIXMPSession xmp, const char *nameSpace, const char* key, ai::int32* valueSize);
00194 
00203         AIAPI AIErr (*GetProperty) (AIXMPSession xmp, const char *nameSpace, const char* key , char* value);
00204 
00212         AIAPI AIErr (*SetProperty) (AIXMPSession xmp, const char *nameSpace, const char* key , const char* value);
00213 
00220         AIAPI AIErr (*DeleteProperty) (AIXMPSession xmp, const char *nameSpace, const char* key);
00221 
00222         
00233         AIAPI AIErr (*ShowMetadataDialog) (const char *xmpIn, char **xmpOut, const char *dialogTitle);
00234 } AIAssetMgmtSuite;
00235 
00236 #include "AIHeaderEnd.h"
00237 
00238 
00239 #endif