⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smgmodule.h

📁 linux 下的sgip 协议实现源代码中的头文件
💻 H
字号:
/****************************************************************
Copyright ?, 1989-2002, Hisunsray Tech. Co., Ltd.
File name: SMGModule.h
Author: lizhigang
Version:  V3.0.0.0#20030320-1
Date: 2003-03-20
Description:
History:
*****************************************************************/


#ifndef __APPSERVERMODULE_H_
#define __APPSERVERMODULE_H_

#include "BaseService.h"
#include "SessionObject.h"
#include "AppFlow.h"

class TSMGModule : public TBaseService
{
//属性
public:
	RTCS_CTuint			m_AlarmStation;		//告警模块站点号

	TSessionObjectTable	m_SessionObjectTable;//会话对象表

	TAppFlowTable		m_AppFlowTable;		//流程信息表
	
	RTCS_TraceLog *		logfile;			//日志文件

	RTCS_CTstring		m_ModuleName;		//模块名

	RTCS_CTuint			m_SMAIGOR;


private:
	RTCS_CTuint m_DataSourceCount;
	RTCS_CTuint m_DataSourceGOR[64];
	RTCS_CTstring m_DataSourceName[64];
	RTCS_CTuint UnpacketMsg(RTCS_CTbyteArray Msg_Content,RTCS_CTuint Msg_Content_lenth,RTCS_CTbyte flag,char *prefix);

public:
	TSMGModule(RTCS_CTstring clientname);
	~TSMGModule();

public:
	//取配置参数
	void GetParam();
	//初始化流程表
	void InitAppFlowTable();
	//系统初始化
    int SysInit();

	//添加统计信息:处理个数
	void AddHandleCount(); 
	//添加统计信息:缴费成功个数
	void AddPaymentSuccess(RTCS_CTdouble Money);
	//向维护终端发送告警信息
	RTCS_CTuint SendAlarm(RTCS_CTuint AlarmLevel, RTCS_CTstring AlarmObject, RTCS_CTstring AlarmDetial);
	//内存快照
	void Snapshot();
	//数据源
	RTCS_CTuint GetDataSource(RTCS_CTuint index);

//重载RTCS_Client的函数
	virtual RTCS_CTuint OnBusInserted();
	virtual RTCS_CTuint OnClientOnline(RTCS_CTstring clientname);
	virtual RTCS_CTuint OnClientOffline(RTCS_CTstring clientname);

//重载BaseService的函数
	// 初始化原子动作函数
	virtual void InitActions();
    // 初始化流程事件
	virtual void InitEvents();
	// 初始化系统变量
	virtual void InitSystemVars();
	// 初始化消息预处理函数
	void InitMsgAPI();
	// 非流程消息处理,相当于没有流程时的RTCS_Client的HandleMessage的作用
	virtual TRealtimeObject * HandleExceptionAPI(RTCS_CTpdu & message);
	//流程结束处理
	virtual void OnObjectIdle(TRealtimeObject * object);

//一般消息处理函数
    RTCS_CTuint OnPing(RTCS_CTpdu& pdu);
	RTCS_CTuint OnQueryInfo(RTCS_CTpdu& pdu);
	RTCS_CTuint OnRespQueryInfoFromDBAccessModule(RTCS_CTpdu& pdu);

//消息预处理函数
	//从接口模块发来的请求
	TRealtimeObject * OnISMGDeliver(RTCS_CTpdu& pdu);
	TRealtimeObject * OnISMGBindResp(RTCS_CTpdu& pdu);
	TRealtimeObject * OnISMGSubmitResp(RTCS_CTpdu& pdu);
	TRealtimeObject * OnISMGUnBindResp(RTCS_CTpdu& pdu);
	TRealtimeObject * OnDataAccessResp(RTCS_CTpdu& pdu);

	//从数据库访问模块返回的响应
	TRealtimeObject * OnEvtReturn(RTCS_CTpdu& pdu);
	TRealtimeObject * OnEvtTimerExpired(RTCS_CTpdu& pdu);
	TRealtimeObject * OnEvtFail(RTCS_CTpdu& pdu);


//消息发送函数
	//向接入网关发回应消息
	RTCS_CTint Report2Exterm(RTCS_CTstring FlowID,RTCS_CTstring CardID,RTCS_CTstring PhoneNumber,RTCS_CTstring FullTime,RTCS_CTstring FullMoney);
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -