chenluhua1980
2026-01-24 2a7efcf2a4bac5e7f9813975c87683ea09fb984e
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
#pragma once
#include "Component.h"
#include <map>
#include <list>
#include "Alarm.h"
 
class CLoadMonitor :
    public CComponent
{
public:
    CLoadMonitor();
    ~CLoadMonitor();
 
public:
    virtual std::string& getClassName();
    virtual void onData(int id, const void* pData, int size);
    virtual void onRecvBroadcast(void* pSender, CIntent* pIntent);
    virtual void init();
    virtual void term();
    void setBeginAddr(int nAddr);
    virtual void OnTimer(UINT nTimerid);
    void ReqNotReady(int layer);
    void ReqLoad(int layer);
    void ReqUnload(int layer);
    int loadReady(const char* pszMaterielId, const char* pszRecipeId);
    DWORD WaitForGetRunRecipeResult(int timeout, int& result);
    unsigned RunRecipeThreadFunction();
    virtual void Serialize(CArchive& ar);
 
private:
    void AddAlarm(CAlarm* pAlarm);
 
private:
    int m_nBeginAddr;
 
private:
    std::map<int, std::string> m_mapAlarmText;
    int m_nLastId;
    int m_nLastLevel;
    std::list<CAlarm*> m_alarms;
    HANDLE m_hEventRunRecipeResult;
    BOOL m_bWaitingRecipeResult;
    int m_nRunRecipeResult;
    BOOL m_bRunRecipeWorking;
    HANDLE m_hRunRecipeWorkEvent;
    HANDLE m_hRunRecipeWorkThreadHandle;
    unsigned m_nRunRecipeWorkThrdaddr;
};