#pragma once #include "CBonder.h" #include "Configuration.h" #include "CPanel.h" #include "GB2860SQLite.h" class CModel { public: CModel(); ~CModel(); public: IObservable* getObservable(); void setWorkDir(const char* pszWorkDir); int init(); int term(); void onTimer(UINT nTimerid); CBonder& getBonder(); BEQ::IEquipment* getEquipment(); 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 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); private: int savePanel(CPanel* pPanel, CComponent* pComponent); public: CConfiguration m_configuration; private: IObservable* m_pObservable; IObservableEmitter* m_pObservableEmitter; CString m_strWorkDir; CString m_strDataDir; private: CBonder m_bonder; BEQ::IEquipment* m_pEquipment; int m_nTimerID; CGB2860SQLite m_sqlite; };