#pragma once #include "Configuration.h" #include "PLC.h" #include class CModel { public: CModel(); ~CModel(); public: IObservable* getObservable(); void setWorkDir(const char* pszWorkDir); int init(); int term(); void onTimer(UINT nTimerid); std::map& gtPlcMap(); int addPlc(const char* pszName, const char* pszIp, const unsigned int port); int removePlc(const char* pszName); 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; private: IObservable* m_pObservable; IObservableEmitter* m_pObservableEmitter; CString m_strWorkDir; std::map m_mapPlc; private: int m_nTimerID; };