#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;
|
};
|