chenluhua1980
2026-01-24 8fc148424accf484b4f331c7d5fb11eb7383cf89
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#pragma once
#include "Configuration.h"
#include "PLC.h"
#include <map>
 
 
class CModel
{
public:
    CModel();
    ~CModel();
 
public:
    IObservable* getObservable();
    void setWorkDir(const char* pszWorkDir);
    int init();
    int term();
    void onTimer(UINT nTimerid);
    std::map<std::string, CPLC*>& getPlcMap();
    int addPlc(const char* pszName, const char* pszIp, const unsigned int port);
    int removePlc(const char* pszName);
 
    // ÉèÖÃ/»ñÈ¡µ±Ç°PLC
    void setCurrentPlc(CPLC* pPlc);
    CPLC* getCurrentPlc();
 
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<std::string, CPLC*> m_mapPlc;
    CPLC* m_pActivePlc;
 
private:
    int m_nTimerID;
};