123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- #ifndef __GUI_TASK_H
- #define __GUI_TASK_H
- #pragma once
- #include "SpBase.h"
- #define EE_AUTO 0
- #define EE_MANUAL 1
- #define WM_GUICONSOLE (WM_APP + 0x1)
- #define WM_SHOWDEBUGMSG (WM_APP + 0x2)
- struct EntityEntry
- {
- CSimpleStringA Name;
- CSimpleStringA ModuleName;
- int Type;
- int State;
- int Id;
- int Pid;
- int DevelopID;
- static const char *GetTypeName(int type)
- {
- static const char *_names[] = {
- "auto",
- "manual"
- };
- return _names[type % ARRAYSIZE(_names)];
- }
- static const char *GetStateName(int state)
- {
- static const char *_names[] = {
- "NoStart",
- "Starting",
- "Idle",
- "Busy",
- "Pause",
- "UnLoading",
- "Lost",
- "Close",
- "Killed",
- };
- return _names[state % ARRAYSIZE(_names)];
- }
- static const char *GetErrorName(ErrorCodeEnum Error)
- {
- return "Unknown Error";
- }
- };
- struct StartMenuEntry
- {
- CSimpleStringA strEntity;
- CSimpleStringA strCmdLine;
- };
- struct IConsole
- {
- virtual ErrorCodeEnum Initialize()=0;
- virtual ErrorCodeEnum UnInitialize()=0;
- virtual void OnStartRead(BOOL bOk)=0;
- virtual void OnStopReady()=0;
- virtual ErrorCodeEnum AsyncStartEntity(const char *entity_name, const char *cmdline, void *pData)=0;
- virtual ErrorCodeEnum AsyncStopEntity(const char *entity_name, void *pData)=0;
- virtual ErrorCodeEnum GetAllEntity(CAutoArray<EntityEntry> &Entities)=0;
- virtual ErrorCodeEnum GetEntity(const char *entity_name, EntityEntry &e)=0;
- virtual ErrorCodeEnum ReqFrameworkQuit() =0;
- };
- class UKEYTask : public IConsole, public ICallbackListener/*, public IEntityStateListener*/
- {
- public:
- UKEYTask();
- virtual ~UKEYTask();
- void SetOwner(CEntityBase *pEntity) { m_pEntity = pEntity; }
- ErrorCodeEnum WaitWindowCreated();
- ErrorCodeEnum CloseWindow();
- // IConsole
- virtual ErrorCodeEnum Initialize();
- virtual ErrorCodeEnum UnInitialize();
- virtual void OnStartRead(BOOL bOk);
- virtual void OnStopReady();
- virtual ErrorCodeEnum AsyncStartEntity(const char *entity_name, const char *cmdline, void *pData);
- virtual ErrorCodeEnum AsyncStopEntity(const char *entity_name, void *pData);
- virtual ErrorCodeEnum GetAllEntity(CAutoArray<EntityEntry> &Entities);
- virtual ErrorCodeEnum GetEntity(const char *entity_name, EntityEntry &e);
- virtual ErrorCodeEnum ReqFrameworkQuit();
- //ICallbackListener
- virtual void OnAnswer(CSmartPointer<IAsynWaitSp> pAsynWaitSp);
- ErrorCodeEnum Kickoff();
- ErrorCodeEnum Close();
- ErrorCodeEnum OutputMsg(const char *pMsg);
- private:
- void Process();
- static unsigned int __stdcall __Process(void *arg)
- {
- UKEYTask *pThis = static_cast<UKEYTask *>(arg);
- pThis->Process();
- return 0;
- }
- private:
- HANDLE m_hEventStartReady;
- HANDLE m_hEventStopReady;
- HANDLE m_hThread;
- HWND m_hWndMainFrame;
- CEntityBase *m_pEntity;
- CUUID m_logSubID;
- };
- #endif // __GUI_TASK_H
|