00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __I_SPL_EVENT_MGR_H__
00014 #define __I_SPL_EVENT_MGR_H__
00015
00016
00017 #include "callback_type.h"
00018 #include "i_event_callback.h"
00019 #include "i_event_data.h"
00020
00021
00022 #include <ltbasetypes.h>
00023 #include <ltmodule.h>
00024
00025 const uint8 EVENTMGR_EVENT_ANY = 0xFF;
00026 const uint8 EVENTMGR_PRIORITY_DEFAULT = 0x7F;
00027 const uint8 EVENTMGR_PRIORITY_ANY = 0xFF;
00028 const uint8 EVENTMGR_COUNT_FOREVER = 0xFF;
00029
00030 class ILTCSBase;
00031
00032 typedef int (*printf_fn)(const char *, ...);
00033
00034 class ISplEventMgr : public IBase
00035 {
00036 public:
00037 declare_interface(ISplEventMgr);
00038
00039 interface_version(ISplEventMgr, 0);
00040
00041 virtual LTRESULT Event(uint8 nEvent, float fFrameTime, float fGameTime,
00042 IEventData *pEventData = NULL,
00043 uint8 nPriority = EVENTMGR_PRIORITY_ANY) = 0;
00044
00045 virtual LTRESULT AddCallback(IEventCallback *pEC, uint8 nEvent,
00046 ECallbackType eCT, uint8 nCount, float fTime,
00047 uint8 nPriority = EVENTMGR_PRIORITY_DEFAULT) = 0;
00048
00049 virtual LTRESULT RemoveCallback(IEventCallback *pEC,
00050 uint8 nEvent = EVENTMGR_EVENT_ANY,
00051 uint8 nPriority = EVENTMGR_PRIORITY_ANY) = 0;
00052
00053 virtual LTRESULT GetCallbackInfo(IEventCallback *pEC, uint8 nEvent,
00054 uint8 nPriority, ECallbackType &eCT, uint8 &nCountRemaining,
00055 float &fLoopTime, float &fTimeRemaining) = 0;
00056
00057
00058 virtual void DumpData(printf_fn pPrintfFn) = 0;
00059
00060
00061 virtual void DebugSpew(printf_fn pPrintfFn) = 0;
00062
00063
00064 };
00065
00066 #endif // __I_SPL_EVENT_MGR_H__