#pragma once #include "Configuration.h" #include "HsmsPassive.h" #include "CMaster.h" #include "CGlassPool.h" class CModel { public: CModel(); ~CModel(); public: IObservable* getObservable(); SERVO::CMaster& getMaster(); void setWorkDir(const char* pszWorkDir); int init(); int term(); public: int notify(int code); int notifyPtr(int code, void* ptr = NULL); int notifyObj(int code, IRxObject* pObj); int notifyObjAndPtr(int code, IRxObject* pObj, void* ptr); int notifyObjAndInt(int code, IRxObject* pObj1, IRxObject* pObj2, int exCode); int notifyInt(int code, int exCode); int notifyInt2(int code, int exCode, int exCode2); int notifyDouble(int code, double dValue); int notifyText(int code, const char* pszText); int notifyPtrAndInt(int code, void* ptr1, void* ptr2, int exCode); int notifyTextAndInt(int code, const char* pszText, int exCode); int notifyMesMsg(int code, int stream, int function, const char* pszText); public: CConfiguration m_configuration; CHsmsPassive m_hsmsPassive; SERVO::CGlassPool m_glassPool; SERVO::CMaster m_master; private: IObservable* m_pObservable; IObservableEmitter* m_pObservableEmitter; CString m_strWorkDir; CString m_strDataDir; };