00001 #ifndef _AICSXSExtension_H_
00002 #define _AICSXSExtension_H_
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
00031 #ifndef __AITypes__
00032 #include "AITypes.h"
00033 #endif
00034
00035 #include "AIHeaderBegin.h"
00036
00039
00040
00041
00042
00043
00044
00045 #define kAICSXSExtensionSuite "AI CSXS Extension Suite"
00046 #define kAICSXSExtensionSuiteVersion AIAPI_VERSION(4)
00047 #define kAICSXSExtensionVersion kAICSXSExtensionSuiteVersion
00048
00049 #define kAICSXSExtensionUnloadNotifier "Extension Unloaded Notifier"
00050
00051 #define kAICSXSExtensionLoadNotifier "Extension Loaded Notifier"
00052
00053 #define kAICSXSPanelVisibilityChangeNotifier "Extension Panel Visibility Changed Notifier"
00054
00058 enum AICSXSExtensionState
00059 {
00061 kAICSXSExtensionNotRegisteredState,
00063 kAICSXSExtensionRegisteredState,
00065 kAICSXSExtensionLoadedState,
00067 kAICSXSExtensionLoadedVisibleState,
00069 kAICSXSExtensionLoadedInvisibleState,
00071 kAICSXSExtensionUnLoadedState,
00073 kCSXSExtensionMaximumState = 0xffff
00074
00075 };
00076
00077 typedef struct AICSXSExtensionNotifierMsg
00078 {
00079 AICSXSExtensionState state;
00080 const char* extensionId;
00081 }AICSXSExtensionNotifierMsg;
00082
00083
00084
00085
00086
00087
00088
00096 typedef struct {
00097
00102 AIAPI AIErr (*GetExtensionState) (const char* extensionId, ai::int32& state);
00103
00108 AIAPI AIErr (*IsPrimaryStageVisible) (const char* extensionId, AIBoolean& isVisible);
00109
00113 AIAPI AIErr (*LaunchExtension) (const char* extensionId);
00114
00121 AIAPI AIErr (*SendEventToExtension) (const char* extensionId, const char* eventID, const char* appId, const char* data);
00122
00129 AIAPI AIErr (*ShowExtension) (const char* extensionId, bool show);
00130
00134 AIAPI AIErr(*UnloadExtension) (const char* extensionId);
00135 } AICSXSExtensionSuite;
00136
00137 #include "AIHeaderEnd.h"
00138
00139 #endif //_AICSXSExtension_H_