00001 #ifndef __AINotifier__
00002 #define __AINotifier__
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 #ifndef __AIPlugin__
00035 #include "AIPlugin.h"
00036 #endif
00037
00038
00039 #include "AIHeaderBegin.h"
00040
00044
00045
00046
00047
00048
00049
00050 #define kAINotifierSuite "AI Notifier Suite"
00051 #define kAINotifierSuiteVersion AIAPI_VERSION(4)
00052 #define kAINotifierVersion kAINotifierSuiteVersion
00053
00056 #define kCallerAINotify "AI Notifier"
00057
00059 #define kSelectorAINotify "AI Notify"
00060
00061
00062
00063
00064
00065
00066
00067
00069 typedef struct _t_AINotifierOpaque *AINotifierHandle;
00070
00072 struct AINotifierMessage {
00074 SPMessageData d;
00078 AINotifierHandle notifier;
00083 const char *type;
00087 void *notifyData;
00088 };
00089
00090
00091
00092
00093
00094
00095
00096
00124 struct AINotifierSuite {
00125
00135 AIAPI AIErr (*AddNotifier) ( SPPluginRef self, const char *name, const char *type,
00136 AINotifierHandle *notifier );
00137
00142 AIAPI AIErr (*GetNotifierName) ( AINotifierHandle notifier, const char **name );
00143
00148 AIAPI AIErr (*GetNotifierType) ( AINotifierHandle notifier, const char **type );
00149
00154 AIAPI AIErr (*GetNotifierActive) ( AINotifierHandle notifier, AIBoolean *active );
00155
00161 AIAPI AIErr (*SetNotifierActive) ( AINotifierHandle notifier, AIBoolean active );
00162
00168 AIAPI AIErr (*GetNotifierPlugin) ( AINotifierHandle notifier, SPPluginRef *plugin );
00169
00174 AIAPI AIErr (*CountNotifiers) ( ai::int32 *count );
00175
00181 AIAPI AIErr (*GetNthNotifier) ( ai::int32 n, AINotifierHandle *notifier );
00182
00189 AIAPI AIErr (*Notify) ( const char *type, void *notifyData );
00190
00191 };
00192
00193
00194 #include "AIHeaderEnd.h"
00195
00196 #endif