eis/inc/zdp/DataProcess.h

95 lines
1.9 KiB
C
Raw Normal View History

/*********************************************************************
*
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: MemZone.h
*
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Shanghai Baosight Software Co., Ltd.
*
*********************************************************************/
#ifndef _H_COLLECT_ZONE_H
#define _H_COLLECT_ZONE_H
#include <Ice/BuiltinSequences.h>
#include <zlib/MemTrk.h>
#include <zlib/MemZone.h>
#include <glob/BinaryTele.h>
#include <zlib/MemTable.hpp>
#include <zcus/RuleAlarm.h>
#include <T_TIME_SET.h>
using namespace baosight;
struct ADDR{
short mode;
short event;
short addr;
short addrbit;
};
class AD_MODE{
public:
static const short NORMAL = 0;
static const short UNKNOW = 1;
static const short BINARY = 2;
};
struct FEED_BACK{
short addr_action;
short addr_feedback;
long long start;
// time_t start;
};
const int CS_FEED_BACK = 5;
class DataProcess
{
public:
DataProcess(void);
public:
~DataProcess(void);
public:
int dispatch(int eventNo,const ::Ice::ByteSeq&);
private:
int fdaacase(int eventNo,const ::Ice::ByteSeq&);
int actionFeedbackOpen(int eventNo,const ::Ice::ByteSeq&);
int actionFeedbackClose(int eventNo,const ::Ice::ByteSeq&);
int cachecase(int eventNo,const ::Ice::ByteSeq&);
int telecase(int eventNo,const ::Ice::ByteSeq&);
long long mstime(void);
short Proxy(int eventNo,const string& proxyName, const char* keyValue,int length);
private:
vector<CMemZone*> v_memzone;
BinaryTele* p_tele;
BinaryTele* p_btel;
RuleAlarm* p_dbalarm;
/*map<zone,vector<pos> > */;
map<string,vector<int> > v_zpos;
/*map<zone,vector<addr> >*/
// map<string,vector<string> > v_zaddr;
map<string,vector<ADDR> > v_zaddr;
vector<short> v_btel;
FEED_BACK m_feedback[CS_FEED_BACK];
FEED_BACK m_feedback_close[CS_FEED_BACK];
CMemTable<T_TIME_SET::STR_T_TIME_SET>* mp_timeset;
/*map<zone,map<telid,vector<index>>>*/
// map<string,map<string,vector<int> > > v_zonetel;
};
#endif