2010-06-04 06:25:07 +00:00
|
|
|
enum SystemEvent {
|
|
|
|
SysEvent_ExecuteInterrupt,
|
|
|
|
SysEvent_GSButtonPressed,
|
|
|
|
SysEvent_ResetCPU_Soft,
|
2010-06-12 02:02:06 +00:00
|
|
|
SysEvent_ResetCPU_SoftDone,
|
2010-06-04 06:25:07 +00:00
|
|
|
SysEvent_ResetCPU_Hard,
|
|
|
|
SysEvent_CloseCPU,
|
|
|
|
SysEvent_PauseCPU_FromMenu,
|
|
|
|
SysEvent_PauseCPU_AppLostActive,
|
|
|
|
SysEvent_PauseCPU_AppLostActiveDelay,
|
|
|
|
SysEvent_PauseCPU_AppLostFocus,
|
|
|
|
SysEvent_PauseCPU_SaveGame,
|
|
|
|
SysEvent_PauseCPU_LoadGame,
|
|
|
|
SysEvent_PauseCPU_DumpMemory,
|
|
|
|
SysEvent_PauseCPU_SearchMemory,
|
|
|
|
SysEvent_ResumeCPU_FromMenu,
|
|
|
|
SysEvent_ResumeCPU_AppGainedActive,
|
|
|
|
SysEvent_ResumeCPU_AppGainedFocus,
|
|
|
|
SysEvent_ResumeCPU_SaveGame,
|
|
|
|
SysEvent_ResumeCPU_LoadGame,
|
|
|
|
SysEvent_ResumeCPU_DumpMemory,
|
|
|
|
SysEvent_ResumeCPU_SearchMemory,
|
|
|
|
SysEvent_ChangingFullScreen,
|
|
|
|
SysEvent_ChangePlugins,
|
|
|
|
SysEvent_SaveMachineState,
|
|
|
|
SysEvent_LoadMachineState,
|
|
|
|
SysEvent_Interrupt_SP,
|
|
|
|
SysEvent_Interrupt_SI,
|
|
|
|
SysEvent_Interrupt_AI,
|
|
|
|
SysEvent_Interrupt_VI,
|
|
|
|
SysEvent_Interrupt_PI,
|
|
|
|
SysEvent_Interrupt_DP,
|
|
|
|
SysEvent_Profile_StartStop,
|
|
|
|
SysEvent_Profile_ResetLogs,
|
|
|
|
SysEvent_Profile_GenerateLogs,
|
|
|
|
};
|
|
|
|
|
|
|
|
class CSystemEvents
|
|
|
|
{
|
|
|
|
typedef std::vector<SystemEvent> EventList;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
CSystemEvents();
|
|
|
|
virtual ~CSystemEvents();
|
|
|
|
|
|
|
|
public:
|
|
|
|
void ExecuteEvents ( void );
|
|
|
|
void QueueEvent ( SystemEvent action);
|
|
|
|
|
|
|
|
inline const BOOL & DoSomething ( void ) const { return m_bDoSomething; }
|
|
|
|
|
|
|
|
private:
|
2010-06-29 02:11:22 +00:00
|
|
|
void ChangePluginFunc( void );
|
2010-06-04 06:25:07 +00:00
|
|
|
|
|
|
|
EventList m_Events;
|
|
|
|
BOOL m_bDoSomething;
|
|
|
|
CriticalSection m_CS;
|
|
|
|
};
|