📄 appservice.h
字号:
#ifndef APPSERVICE_H#define APPSERVICE_H#include "msystem.h"#include "DevMgr.h"#include "channelmgr.h"#include "dlservice.h"#include "cdtframe.h"#include "TAFrame.h"//#include "101frame.h"#include "channelmgr.h"/** *@author */class CSAppService{public: virtual void ProtInfo(BYTE* pBuf, WORD wSize) {}; virtual void YC(YCData* pYCValue,WORD wCount)=0; virtual void YX(YXData* pYXValue,WORD wCount)=0; virtual void DD(DDData* pDDValue,WORD wCount)=0; virtual void SOE(SOEData* pSOEValue,WORD wCount)=0;// void SetPRM(bool bIsPRM){m_bPRM = bIsPRM;}//主动;被动// bool GetPRM() {return m_bPRM;}// void SetDIR(bool bDIR) {m_bDIR = bDIR;}// bool GetDIR() {return m_bDIR} virtual ~CSAppService(); virtual bool Init() = 0;protected:// bool m_bDIR; bool m_bBalance; CAllMgr* m_pAllMgr; CSAppService(CAllMgr* pAllMgr,bool bBalance); pthread_mutex_t m_mutex; BYTE m_byAddr;// void Spont(); //突发// void Init();// void Req();/* void Act(); void ActConfirm(); void Deact(); void DecatConfirm(); void ActTerm(); void RetRemote(); void RetLocate(); void File(); void Introl(BYTE byReason);//group No that index with 0 + 20-41 timeval m_tv;*/};class CMAppService{public: virtual bool Init() = 0; void Destroy(); //virtual bool YK(WORD wDevNo,BYTE byRoute,bool bIsOn) = 0; virtual bool YK(WORD wDevNo,BYTE byRoute,bool bIsOn) = 0; virtual bool GetFV(WORD wDevNo,BYTE*& pbyData,WORD& wLength,WORD wFuncCode=0) = 0; virtual bool PutFV(WORD wDevNo,BYTE* pFixVal,WORD bySize,WORD wFuncCode=0) = 0; virtual bool GetStreamNode(CDataNode*& pdnStream) {pdnStream = NULL; return false;}// void SetPRM(bool bIsPRM){m_bPRM = bIsPRM;}//主动;被动// bool GetPRM() {return m_bPRM;}// void SetDIR(bool bDIR) {m_bDIR = bDIR;}// bool GetDIR() {return m_bDIR} bool IsMyDev(WORD wDevNo) { bool bRet = false; if (m_subdevmgr.Has(wDevNo)) bRet = true; return bRet; } string& GetName() {return m_strName;} virtual ~CMAppService(); bool IsRun() { bool bRet = true; CTimeVal tv; CTimeValSpan tvs = tv - m_tvXXX; if ((tvs.GetASecs() > 10) && (m_dwLast == m_dwPrev)) bRet = false; if (m_dwLast != m_dwPrev) { m_dwLast = m_dwPrev; m_tvXXX = tv; } return bRet; }protected:// bool m_bDIR; bool m_bBalance; CMAppService(CAllMgr* pAllMgr,WORD wChannelNo,string strName = string(""),int nOverTime = 2000); pthread_t m_hThread; pthread_mutex_t m_mutex; CAllMgr* m_pAllMgr; CSubdevMgr m_subdevmgr; string m_strName; void SendYCData(WORD wDevNo,double* pData,WORD wCount); void SendYXData(WORD wDevNo,BYTE* pData,BYTE byDSize); void SendDDData(WORD wDevNo,DWORD* pData,WORD wCount); void SendSOEData(SOEData* pData,WORD wCount); void SendFVData(WORD wDevNo,FVData* pData,WORD wCount); // void Spont(); //突发// void Init();// void Req();/* void Act(); void ActConfirm(); void Deact(); void DecatConfirm(); void ActTerm(); void RetRemote(); void RetLocate(); void File(); void Introl(BYTE byReason);//group No that index with 0 + 20-41 timeval m_tv;*/protected: DWORD m_dwLast,m_dwPrev; CTimeVal m_tvXXX;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -