eis/inc/zhd/Snapshot.h

101 lines
2.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*********************************************************************
*
* 文 件: Snapshot.h 启动文件
*
* 版权所有: Shanghai Baosight Software Co., Ltd.
*
* 概述://TODO请添加本文件包含功能详细描述
* //TODO
* //TODO
*
* 版本历史
* %USER%
*********************************************************************/
#ifndef __SNAPSHOT_h__
#define __SNAPSHOT_h__
#include <proxy/MessageICE.h>
#include <tag/Tag.h>
#include <zhd/data_types.h>
#include <zhd/error_code.h>
#include <zhd/hd3Enum.h>
#include <zhd/hd3MaskDefine.h>
#include <zhd/hd3Struct.h>
#include <zhd/hdKingAPI.h>
#include <zhd/IhyperDBcommon.h>
#include <glob/BinaryTele.h>
namespace baosight
{
const int IHD_SIZE_MAX = 10000;
struct IHD_TAGID{
int size;
unsigned int tagID[IHD_SIZE_MAX];
};
class Snapshot
{
public:
Snapshot();
virtual ~Snapshot();
public:
virtual int Dispatch(int eventNo,const ::Ice::ByteSeq& seq) = 0;
protected:
virtual int CacheCase(int eventNo, const char* seq) = 0;
virtual int StatCase(int eventNo, const char* seq) = 0;
virtual int TeleCase(int eventNo, const char* seq) = 0;
virtual int iMultiLinkCase(int eventNo, const char* seq) = 0;
protected:
int ConnectDB();
void DisConnectDB(int retcode);
int SnapShotLocal(int eventNo, int tagitemcount, bool isArchiving);
int GetTagIDs(int eventNo,bool isArchiving = true);
int IDBStorage(TeleItem &item, int tagItemCount, bool Statcase = 0, float value=0);
int IDBStorage(char type, int tagItemCount, const string& value);
protected:
int CheckTagName(HD3HANDLE hServer,string szTagName,HD3_TAG_TYPE tagType,uint32 &tagID,bool isArchiving = true);
int CheckTagNames(HD3HANDLE hServer,int32 nTagNum,char szTagNames[][TAGNAME_MAXLEN],HD3_TAG_TYPE tagTypes[],uint32 tagID[],bool isArchiving = true);
protected:
HD3Connection conn;
bool m_isconn;
protected:
BinaryTele* mp_btele;
HD3HANDLE hServer;
string nodeName;
HD3Record snapshotsSaved[IHD_SIZE_MAX];
int32 nErrorCodes[IHD_SIZE_MAX];
char tagNames[IHD_SIZE_MAX][TAGNAME_MAXLEN];
char tagChinese[IHD_SIZE_MAX][TAGNAME_MAXLEN];
HD3_TAG_TYPE tagTypes[IHD_SIZE_MAX];
int tagItemCount;
IHD_TAGID m_tagids;
map<int,IHD_TAGID> mv_tagids;
};
}
#endif