1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #pragma once
- #include "sp_svc.h"
- #include "sp_iom.h"
- #include "sp_mod.h"
- #include "sp_cfg.h"
- #include "sp_log.h"
- #include "array.h"
- class SpEntity;
- typedef ErrorCodeEnum (*EntryRoutine)();
- class SpModule
- {
- public:
- SpModule(sp_mod_t *mod, sp_cfg_shell_module_t *cfg_mod);
- ~SpModule();
- ErrorCodeEnum Init(const char *url);
- VOID Term();
- void SetThreadEntity(SpEntity* pEntity);
- SpEntity* GetThreadEntity();
- sp_iom_t *get_iom() { return m_iom; }
- sp_mod_t *get_mod() { return m_mod; }
- ErrorCodeEnum AddEntityBase(CEntityBase *pEntity);
- ErrorCodeEnum RemoveEntityBase(CEntityBase *pEntity);
- ErrorCodeEnum GetEntityBase(const char *pszEntityName,CSmartPointer<CEntityBase> &pEntity);
- int GetEntityCount();
- SpEntity *FindEntity(const char *lpName);
- ErrorCodeEnum Run();
- static void SetEntryRoutine(EntryRoutine pfMain, EntryRoutine pfExit) { s_pfMain = pfMain;s_pfExit = pfExit;}
- void LogMessage(const LogTypeEnum LogType, const SeverityLevelEnum Level, DWORD dwSysErrorCode, DWORD dwUserErrorCode, const char *pMessage);
- void LogMessage(const LogTypeEnum LogType, const SeverityLevelEnum Level, DWORD dwSysErrorCode, DWORD dwUserErrorCode, const char* pMessage, const linkContext& t_context);
- void getEntryRoutine(void **pfMain, void **pfExit) { *pfMain = (void*)s_pfMain; *pfExit = (void*)s_pfExit; }
- private:
- int on_module_init();
- int on_module_term();
- static int __on_module_init(sp_mod_stub_t *, void *user_data);
- static int __on_module_term(sp_mod_stub_t *, void *user_data);
- private:
- DWORD m_dwEntityTls;
- array_header_t *m_arrEntity;
- sp_iom_t *m_iom;
- sp_mod_t *m_mod;
- sp_cfg_shell_module_t *m_cfg_mod;
- sp_log_client_t *m_anonymous_log;
- sp_mod_stub_t *m_stub;
- static EntryRoutine s_pfMain;
- static EntryRoutine s_pfExit;
- };
- SpModule *GetSpModule();
|