📄 sgipapp.h
字号:
/*****************************
** FILE: SGIPApp.h ****
** Auth: Liaomch ****
** Date: 2003-06-19 ****
** Modify: ****
*****************************/
/*
* SGIPApp.h
*/
#ifndef __SGIPAPP_H__
#define __SGIPAPP_H__
using namespace std;
#include <vector>
#include "sgip.h"
#include "SGIPPkg.h"
#include "SGIPComm.h"
#include "SGIPLog.h"
typedef struct
{
char cMsgid[30];
SGIP_DELIVER_BODY Body;
}SGIP_DELIVER_PACKAGE;
typedef struct
{
char cMsgid[30];
SGIP_REPORT_BODY Body;
}SGIP_REPORT_PACKAGE;
class CSGIPApp : CSGIPComm
{
public:
CSGIPApp();
~CSGIPApp();
bool SGIPInit(char *pConfFile = NULL);
int SGIPDeliver(SGIP_DELIVER_BODY &sDeliver, char *pMsgid, int nTimeOut);
int SGIPReport(SGIP_REPORT_BODY &sSubReport, char *pMsgid, int nTimeOut);
int SGIPSingleSend(SGIP_SUBMIT_BODY &sSubmit, char *pMsgid);
void SGIPFinal(void);
#ifdef __DEBUG_API__
int SGIPSingleSendReport(SGIP_REPORT_BODY &sReport);
int SGIPSingleSendDeliver(SGIP_DELIVER_BODY &sDeliver);
void CreateSubmit(SGIP_SUBMIT_BODY &sSubmit);
void CreateReport(SGIP_REPORT_BODY &sReport);
void CreateDeliver(SGIP_DELIVER_BODY &sDeliver);
#endif
private:
bool initConfig(char *pFile = NULL);
void GetValByName(const char *pName, char *pBuf, char *pVal);
bool HadTimeOut(time_t tBase, int nTimeOut);
friend void *GetAcceptProc(CSGIPApp *pSGIPApp);
friend void *RecvThread(CSGIPApp *pSGIPApp);
private:
pthread_mutex_t m_DeliverVec_mutex;
pthread_mutex_t m_ReportVec_mutex;
pthread_mutex_t m_AcceptSock_mutex;
int m_Listenfd;
int m_nAccSock;
CMobilLog *m_pLog;
time_t tLastSendSubmitTime;//最后一次发SUBMIT包时间
int nSubmitTimes; //已重发SUBMIT的次数
bool bInitConf;
bool bTermitnate;
//vector<SGIP_DELIVER_BODY *> m_pDeliver; //存贮返回的mo deliver
//vector<SGIP_REPORT_BODY *> m_pReport; //存贮返回的mo Report
vector<SGIP_DELIVER_PACKAGE *> m_pDeliver;
vector<SGIP_REPORT_PACKAGE *> m_pReport; //存贮返回的mo Report
//add by liaomch 2003-08-14
private:
int m_nSendSock;
bool bSendFinish;
public:
void SetFinishStat(bool bStat)
{
bSendFinish = bStat;
}
bool GetFinishStat(void)
{
return bSendFinish;
}
};
#endif//__MOBILAPP_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -