00001 #ifndef __AITimer__
00002 #define __AITimer__
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 kAITimerSuite "AI Timer Suite"
00051 #define kAITimerSuiteVersion AIAPI_VERSION(5)
00052 #define kAITimerVersion kAITimerSuiteVersion
00053
00054
00057 #define kCallerAITimer "AI Timer"
00058
00061 #define kSelectorAIGoTimer "AI Go"
00062
00064 #define kTicksPerSecond 60
00065
00066
00067
00068
00069
00070
00071
00072
00074 typedef struct _t_AITimerOpaque *AITimerHandle;
00075
00077 typedef struct {
00079 SPMessageData d;
00081 AITimerHandle timer;
00082 } AITimerMessage;
00083
00084
00085
00086
00087
00088
00089
00090
00109 typedef struct {
00110
00128 AIAPI AIErr (*AddTimer) ( SPPluginRef self, const char *name, ai::int32 period,
00129 AITimerHandle *timer );
00130
00136 AIAPI AIErr (*GetTimerName) ( AITimerHandle timer, char **name );
00137
00144 AIAPI AIErr (*GetTimerActive) ( AITimerHandle timer, AIBoolean *active );
00145
00151 AIAPI AIErr (*SetTimerActive) ( AITimerHandle timer, AIBoolean active );
00152
00158 AIAPI AIErr (*GetTimerPeriod) ( AITimerHandle timer, ai::int32 *period );
00159
00165 AIAPI AIErr (*SetTimerPeriod) ( AITimerHandle timer, ai::int32 period );
00166
00173 AIAPI AIErr (*GetTimerPlugin) ( AITimerHandle timer, SPPluginRef *plugin );
00174
00180 AIAPI AIErr (*CountTimers) ( ai::int32 *count );
00181
00187 AIAPI AIErr (*GetNthTimer) ( ai::int32 n, AITimerHandle *timer );
00188
00189 } AITimerSuite;
00190
00191
00192 #include "AIHeaderEnd.h"
00193
00194
00195 #endif