00001 #ifndef __AITag__
00002 #define __AITag__
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
00035 #include "AIHeaderBegin.h"
00036
00040
00041
00042
00043
00044
00045
00046 #define kAITagSuite "AI Tag Suite"
00047 #define kAITagSuiteVersion AIAPI_VERSION(4)
00048 #define kAITagVersion kAITagSuiteVersion
00049
00052 #define kAITagChangedNotifier "AI Tag Changed Notifier"
00053
00056 #define kBadTagTypeErr 'TGTY'
00057
00059 #define kBadTagNameErr 'TGNM'
00060
00062 #define kBadTagDataErr 'TGDT'
00063
00065 #define kTagNotFoundErr 'TGNF'
00066
00067
00068
00069
00070
00071
00072
00073
00097 typedef struct AITagSuite {
00098
00107 AIErr (*SetTag) ( void *object, const char *name, const char *type, ... );
00108
00120 AIErr (*GetTag) ( void *object, const char *name, const char *type, ... );
00121
00130 AIErr (*GetTagType) ( void *object, const char *name,const char **type );
00131
00137 AIErr (*GetTagChangeCount) ( void *object, const char *name, ai::int32 *count );
00138
00143 AIErr (*RemoveTag) ( void *object, const char *name );
00144
00150 AIErr (*CountTags) ( void *object, ai::int32 *count );
00151
00158 AIErr (*GetNthTag) ( void *object, ai::int32 n, char **name );
00159
00160 } AITagSuite;
00161
00162
00163 #include "AIHeaderEnd.h"
00164
00165
00166 #endif