46 lines
1.6 KiB
C++
46 lines
1.6 KiB
C++
#pragma once
|
|
#include <vector>
|
|
#include "Export.h"
|
|
#include "FesDef.h"
|
|
#include "FesBase.h"
|
|
#include "ProtocolBase.h"
|
|
#include "DNP3MasterDataProcThread.h"
|
|
#include "pub_utility_api/CommonConfigParse.h"
|
|
#include "DNP3MasterCommon.h"
|
|
|
|
|
|
extern "C" PROTOCOLBASE_API int EX_SetBaseAddr(void *Address);
|
|
extern "C" PROTOCOLBASE_API int EX_SetProperty(int FesStatus);
|
|
extern "C" PROTOCOLBASE_API int EX_OpenChan(int MainChanNo,int ChanNo,int OpenFlag);
|
|
extern "C" PROTOCOLBASE_API int EX_CloseChan(int MainChanNo,int ChanNo,int CloseFlag);
|
|
extern "C" PROTOCOLBASE_API int EX_ChanTimer(int MainChanNo);
|
|
extern "C" PROTOCOLBASE_API int EX_ExitSystem(int flag);
|
|
|
|
class PROTOCOLBASE_API DNP3Master : public CProtocolBase
|
|
{
|
|
public:
|
|
DNP3Master();
|
|
virtual ~DNP3Master();
|
|
|
|
int SetBaseAddr(void *address);
|
|
int SetProperty(int IsMainFes);
|
|
int OpenChan(int MainChanNo,int ChanNo,int OpenFlag);
|
|
int CloseChan(int MainChanNo,int ChanNo,int CloseFlag);
|
|
int ChanTimer(int MainChanNo);
|
|
|
|
|
|
private:
|
|
|
|
int ReadConfigParam();
|
|
int parseRtuConfig(CCommonConfigParse &configParse, const std::string &strRtuName, SDNP3MASTERAppConfParam &stParam);
|
|
void ClearDataProcThreadByChanNo(int nChanNo);
|
|
|
|
private:
|
|
int m_ProtocolId; //本协议的ID
|
|
CFesBase* m_ptrCFesBase; //CProtocolBase类中定义
|
|
DNP3MasterDataProcThreadPtrSeq m_vecDataThreadPtr; //存放所有本协议的线程处理指针
|
|
boost::unordered_map<int,SDNP3MASTERAppConfParam> m_mapConfMap; //存储RTU对应的配置参数
|
|
};
|
|
|
|
|