www.pudn.com > Chesssource.rar > System.h
#if !defined(_SYSTEM_H_)
#define _SYSTEM_H_
enum Purposes {
NOPURPOSE = 0,
INITPURPOSE,
SHUTDOWNPURPOSE,
FRAMEPURPOSE
};
class cStateManager
{
typedef struct sState {
void (*Function)(void *Ptr, long Purpose);
sState *Next;
sState()
{
Function = NULL;
Next = NULL;
}
~sState()
{
delete Next;
}
} sState;
protected:
sState *m_StateParent;
public:
cStateManager();
~cStateManager();
void Push(void (*Function)(void *Ptr, long Purpose), void *DataPtr = NULL);
BOOL Pop(void *DataPtr = NULL);
void PopAll(void *DataPtr = NULL);
BOOL Process(void *DataPtr = NULL);
};
#endif