00001 #ifndef __AIUID__
00002 #define __AIUID__
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 __AIEntry__
00031 #include "AIEntry.h"
00032 #endif
00033
00034 #include "IAIUnicodeString.h"
00035
00036
00037 #include "AIHeaderBegin.h"
00038
00041
00042
00043
00044
00045
00046
00047 #define kAIUIDPoolSuite "AI UID Pool Suite"
00048 #define kAIUIDPoolSuiteVersion7 AIAPI_VERSION(7)
00049 #define kAIUIDPoolSuiteVersion kAIUIDPoolSuiteVersion7
00050 #define kAIUIDPoolVersion kAIUIDPoolSuiteVersion
00051
00052 #define kAIUIDSuite "AI UID Suite"
00053 #define kAIUIDSuiteVersion8 AIAPI_VERSION(8)
00054 #define kAIUIDSuiteVersion kAIUIDSuiteVersion8
00055 #define kAIUIDVersion kAIUIDSuiteVersion
00056
00057 #define kAIUIDREFSuite "AI UIDREF Suite"
00058 #define kAIUIDREFSuiteVersion8 AIAPI_VERSION(8)
00059 #define kAIUIDREFSuiteVersion kAIUIDREFSuiteVersion8
00060 #define kAIUIDREFVersion kAIUIDREFSuiteVersion
00061
00062 #define kAIUIDUtilsSuite "AI UID Utils Suite"
00063 #define kAIUIDUtilsSuiteVersion9 AIAPI_VERSION(9)
00064 #define kAIUIDUtilsSuiteVersion kAIUIDUtilsSuiteVersion9
00065 #define kAIUIDUtilsVersion kAIUIDUtilsSuiteVersion
00066
00067
00070 #define kUIDBadSyntax 'UIDx'
00071
00073 #define kUIDNotUnique 'UIDu'
00074
00076 #define kUIDNotFound 'UID!'
00077
00078
00083 #define kAIXMLNameChangedNotifier "AI XML Name Changed Notifier"
00084
00085
00086
00087
00088
00089
00090
00091
00098 typedef struct _t_AINamePool *AINamePoolRef;
00099
00100
00101
00102
00103
00104
00105
00106
00107
00120 typedef struct AIUIDPoolSuite {
00121
00129 AIAPI ai::int32 (*AddRef) ( void* pool );
00130
00139 AIAPI ai::int32 (*Release) ( void* pool );
00140
00147 AIAPI AIErr (*GetPool) ( const char* name, AINamePoolRef* pool );
00148
00157 AIAPI AIErr (*NewUID) ( AINamePoolRef pool, const ai::UnicodeString& name, AIUIDRef* uid );
00158
00165 AIAPI AIErr(*GetUID) (AINamePoolRef pool, const ai::UnicodeString& name, AIUIDRef* uid);
00166
00175 AIAPI AIErr (*NewUIDREF) ( AINamePoolRef pool, const ai::UnicodeString& name, AIUIDREFRef* uidref );
00176
00184 AIAPI AIErr (*NewUIDFromBase) ( AINamePoolRef pool, const ai::UnicodeString& base, AIUIDRef* uid );
00185
00186 } AIUIDPoolSuite;
00187
00188
00206 typedef struct AIUIDSuite {
00207
00215 AIAPI ai::int32 (*AddRef) ( void* uid );
00216
00225 AIAPI ai::int32 (*Release) ( void* uid );
00226
00234 AIAPI AIBoolean (*IsInUse) ( AIUIDRef uid );
00235
00242 AIAPI void (*GetPool) ( AIUIDRef uid, AINamePoolRef* pool );
00243
00248 AIAPI AIErr (*GetName) ( AIUIDRef uid, ai::UnicodeString& name );
00249
00257 AIAPI AIEntryRef (*GetContainer) ( AIUIDRef uid );
00258
00264 AIAPI AIErr (*NewUIDREF) ( AIUIDRef uid, AIUIDREFRef* ruidref );
00265
00266 } AIUIDSuite;
00267
00268
00285 typedef struct AIUIDREFSuite {
00286
00294 AIAPI ai::int32 (*AddRef) ( void* uidref );
00295
00304 AIAPI ai::int32 (*Release) ( void* uidref );
00305
00312 AIAPI AIBoolean (*IsInUse) ( AIUIDREFRef uidref );
00313
00320 AIAPI void (*GetPool) ( AIUIDREFRef uidref, AINamePoolRef* pool );
00321
00326 AIAPI AIErr (*GetName) ( AIUIDREFRef uidref, ai::UnicodeString& name );
00327
00335 AIAPI AIEntryRef (*GetContainer) ( AIUIDREFRef uidref );
00336
00343 AIAPI void (*GetUID) ( AIUIDREFRef uidref, AIUIDRef* uid );
00344
00345 } AIUIDREFSuite;
00346
00347
00355 typedef struct AIUIDUtilsSuite {
00356
00364 AIAPI AIErr (*GetArtUID) ( AIArtHandle art, AIBoolean create, AIUIDRef* uid );
00365
00370 AIAPI AIErr (*SetArtUID) ( AIArtHandle art, AIUIDRef uid );
00371
00377 AIAPI AIErr (*TransferArtUID) ( AIArtHandle srcart, AIArtHandle dstart );
00378
00384 AIAPI AIErr (*NewArtUIDREF) ( AIArtHandle art, AIUIDREFRef* uidref );
00385
00392 AIAPI AIErr (*GetReferencedArt) ( AIUIDREFRef uidref, AIArtHandle* art );
00393
00399 AIAPI AIErr (*GetArtUIDName) ( AIArtHandle art, ai::UnicodeString& name );
00400
00406 AIAPI AIErr (*SetArtUIDName) ( AIArtHandle art, const ai::UnicodeString& name );
00407
00418 AIAPI AIErr (*GetArtNameOrUID) ( AIArtHandle art, ai::UnicodeString& name, ASBoolean* isDefaultName );
00419
00429 AIAPI AIErr (*SetArtNameOrUID) ( AIArtHandle art, const ai::UnicodeString& name );
00430
00436 AIAPI AIErr (*MakeUIDFromBase) ( AIUIDRef base, AIUIDRef* uid );
00437
00443 AIAPI AIErr (*MakeUniqueNameFromBase) ( const ai::UnicodeString& base, ai::UnicodeString& name );
00444
00450 AIAPI AIErr (*GetStoryUID) (AIArtHandle art, AIBoolean create, AIUIDRef* ruid);
00451
00456 AIAPI AIErr (*SetStoryUID) ( AIArtHandle art, AIUIDRef uid );
00457
00463 AIAPI AIErr (*TransferStoryUID) ( AIArtHandle srcart, AIArtHandle dstart );
00464
00472 AIAPI AIErr (*NewStoryUIDREF) ( AIArtHandle art, AIUIDREFRef* uidref );
00473
00479 AIAPI AIErr (*TransferStoryUIDToArt) ( AIArtHandle frame, AIArtHandle art );
00480
00486 AIAPI AIErr (*TransferArtUIDToStory) ( AIArtHandle art, AIArtHandle frame );
00487
00488
00489
00496 AIAPI AIErr (*FindEquivUID) ( AIUIDRef target, AIUIDRef& equiv );
00497
00498
00499 } AIUIDUtilsSuite;
00500
00501 #include "AIHeaderEnd.h"
00502
00503
00504 #endif