/************************************************************* /* Copyright (C), 2008-2010, StoneU Tech. Co., Ltd. /* 文件名: DBInterface.h /* 作者: Jesse /* 创建日期: 2010-08-02 /* 版本号: V1.0 /* 描述: 实现多种数据库的支持 /* 其它: /* 主要类模块: CDBInterface /* 历史修改记录: 作者 时间 版本 描述 Jesse 10/08/02 1.0 创建这个模块 ***************************************************************/ #ifndef _DB_INTERFACE_H #define _DB_INTERFACE_H namespace DBInterface { const MAX_DB_TYPE = 20; /************************************************* /* 类名 /* { /* 构造函数; /* 析构函数; /* 提供全局访问函数; /* 静态类指针变量; /* 数据库类型成员变量; /* /* } **************************************************/ class CDBInterface { public: CDBInterface() { }; ~CDBInterface() { }; // 静态成员函数,提供全局访问的接口 static CDBInterface* GetInstancePtr(); // 设置数据库类型 void SetDBType(char *pDBType); //获取表最大的ID, 通用函数 INT GetMaxID( CHAR *pTableName, CHAR *pFieldName, CHAR *pMaxID ); // 分配用户角色 void InitUserRoleInfo(); // 回收用户角色 void UnInitUserRoleInfo(); // 获取有权限的设备UID int GetHasPurviewUidList(list& list1); // 获取具有某个设备权限的用户信息 int GetUserInfoList(char *pUid, list& list1, list& list2, list& list3, list& list4); // 获取用户信息 int GetUserInfoList(list& list1, list& list2, list& list3, list& list4); // 得到时间计划 INT GetDatePlan( int nPlanType, CHAR *pPlanID, unsigned char nBufDate[7][24] ); // 得到时间计划 INT GetDatePlan( int nPlanType, CHAR *pUid, int nVarID, unsigned char nBufDate[7][24] ); // 获取设备资料 INT GetDevInfo(); // 修改设备资料 INT EditDevInfo(); // 修改设备资料 INT EditDevInfo(int nDevideIndex, char *pDevUid); //获取变量 INT GetVarInfo(void *pPara, CHAR *pUid); //获取变量 INT EditVarInfo(int nDeviceIndex, int nVarIndex, CHAR *pUid, int nVarID); // 获取Summary资料 INT GetSummaryInfo(char *pUid, char *pVarDesc, char *pID); // 插入告警记录 INT InsertWarningRecord( char* pEquipDesc, // 设备描述 char* pVarDesc, // 变量描述 char* pHappentime, // 发生时间 int iCurrStatus, // 当前状态 double dbCurrValue, // 当前值 char* pMemos, // 备注 char* pContent // 报警内容 ); //插入Summary记录 INT InsertSummaryRecord( CHAR* pDevName, // 设备名称 CHAR* pHappenTime, // 发生时间 CHAR* pMemo, // 备注 CHAR *pVarDesc, // 变量描述 double dbCurrValue, // 当前值 CHAR* pVarUid, // 设备Uid CHAR* pVarName // 变量名称 ); //更新Summary记录 INT EditSummaryRecord( CHAR *pDevName, // 设备名称 CHAR *pHappenTime, // 发生时间 CHAR* pMemo, // 备注 int iID, // ID CHAR* pVarDesc, // 变量描述 double dbCurrValue, // 当前值 CHAR* pVarUid, // 设备Uid CHAR* pVarName // 变量名称 ); //更新Summary记录 INT EditSummaryRecord( CHAR *pDevName, // 设备名称 CHAR *pHappenTime, // 发生时间 CHAR* pMemo, // 备注 CHAR* pVarDesc, // 变量描述 double dbCurrValue, // 当前值 CHAR* pVarUid, // 设备Uid CHAR* pVarName // 变量名称 ); //插入Sms记录 INT InsertSmsRecord( CHAR* pTelNum, // 电话号码 CHAR* pContactName, // 联系人姓名 CHAR* pSendTime, // 发送时间 CHAR* pContent, // 内容 CHAR* pMemo // 备注 ); //插入Notice记录 INT InsertNoticeRecord( CHAR* pTelNum, // 电话号码 CHAR* pContactName, // 联系人姓名 CHAR* pSendTime, // 发送时间 CHAR* pContent, // 内容 CHAR* pMemo // 备注 ); //插入Email记录 INT InsertEmailRecord( CHAR* pEmailAddr, // Email地址 CHAR* pContactName, // 联系人姓名 CHAR* pSendTime, // 发送时间 CHAR* pContent, // 内容 CHAR* pMemo // 备注 ); // 获取报警状态ID对应的意义,用来组织报警内容 INT GetAlarmStatusDescList(char chDevUid[MAX_UID], int nVarID, list& list1, list& list2); // 获取是否设置时间计划 BOOL IsExistDatePlan(char *pDevUid, int nVarID); // 获取变量对应的bit位信息 INT GetVarItemInfo(char chDevUid[MAX_ID], int nVarItemID, CHAR *pStartBit, CHAR *pEndBit); private: static CDBInterface* m_pDBInterface; char m_chDBType[MAX_DB_TYPE]; }; }; #endif