📄 tmlsession.h
字号:
// TmlSession.h: interface for the CTmlSession class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TMLSESSION_H__30B752D3_2898_4354_AFDF_27B2E0F7A788__INCLUDED_)
#define AFX_TMLSESSION_H__30B752D3_2898_4354_AFDF_27B2E0F7A788__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "..\\inc\\tml\\define.h"
#include "..\\inc\\tml\\syncml_tk_prefix_file.h"
#include "..\\inc\\xpttransport.h"
#include "..\\inc\\tml\\tml.h"
#include "..\\inc\\tml\\tmldef.h"
#include "..\\inc\\tml\\tmldtd.h"
#include "..\\inc\\xpt.h"
class CTmlSession ;
char* _get_nowtime();
int _search_locuri_pimupfile(CTmlSession*pSess,char*curLocuri);
int _insert_pimupfile(CTmlSession*pSess);
int _load_pimupfile(CTmlSession*pSess,char*locuri);
int _update_pimupfile(CTmlSession*pSess);
int _update_pimmagicmmsdownfile(CTmlSession*pSess);
int _insert_pimmagicmms(CTmlSession*pSess);
int _insert_pimmagicmmsdownfile(CTmlSession*pSess);
typedef enum TmlSessState { TmlSess_NoOffer =1,TmlSess_NoCredit,TmlSess_Credit,TmlSess_Offer } TmlSessState;
typedef enum TmlCredState { TmlCred_NoOffer =1,TmlCred_Offer ,TmlCred_Failed,TmlCred_Success,TmlCred_Ok} TmlCredState;
typedef struct TmlCmdTHdr_s
{
TmlProtoElement_t elementType;
char * version;
char * sessionID;
char * credit;
char * maxmsgsize;
char * businesscode;
}TmlCmdTHdr_s;
typedef struct TmlCmdTStatus_s
{
TmlProtoElement_t elementType;
char * cmdref;
char * data;
}TmlCmdTStatus_s;
typedef struct TmlCmdRStatus_s
{
TmlProtoElement_t elementType;
char * cmdref;
char * itemref;
char * nextitem;
char * data;
char * locuri;
}TmlCmdRStatus_s;
typedef struct TmlCmdMStatus_s
{
TmlProtoElement_t elementType;
char * cmdref;
char * itemref;
char * nextitem;
char * data;
char * locuri;
}TmlCmdMStatus_s;
typedef struct TmlCmdLItems_s
{
TmlProtoElement_t elementType;
char * count;
} TmlCmdLItems_s;
typedef struct TmlCmdContacts_s
{
TmlProtoElement_t elementType;
char * count;
} TmlCmdContacts_s;
typedef struct TmlCmdResources_s
{
TmlProtoElement_t elementType;
char * count;
} TmlCmdResources_s;
typedef struct TmlCmdMagicmmss_s
{
TmlProtoElement_t elementType;
char * count;
} TmlCmdMagicmmss_s;
typedef struct TmlCmdFinal_s
{
TmlProtoElement_t elementType;
char * final;
} TmlCmdFinal_s;
typedef struct TmlCmdCStatuss_s
{
TmlProtoElement_t elementType;
char * count;
} TmlCmdCStatuss_s;
typedef struct TmlCmdResource_s
{
TmlProtoElement_t elementType;
char * cmd;
char * cmdid;
char * locuri;
char * rtype;
char * rname;
char * item;
char * all;
char * data;
char * content;
} TmlCmdResource_s;
typedef struct TmlCmdContact_s
{
TmlProtoElement_t elementType;
char * cmd;
char * cmdid;
char * op;
char * cmobile;
char * cname;
char * locuri;
} TmlCmdContact_s;
typedef struct TmlCmdCStatus_s
{
TmlProtoElement_t elementType;
char * cmdref;
char * cmdidref;
char * opref;
char * data;
char * locuri;
}TmlCmdCStatus_s;
typedef struct TmlCmdResourcesDirectory_s
{
TmlProtoElement_t elementType;
char * rtype;
} TmlCmdResourcesDirectory_s;
typedef struct TmlCmdLItem_s
{
TmlProtoElement_t elementType;
char * locuri;
char * rtype;
char * rname;
char * rtime;
} TmlCmdLItem_s;
typedef struct TmlSessionCmdItem_t
{
TmlProtoElement_t ItemType;
void * CmdItem;
struct TmlSessionCmdItem_t * next;
} TmlSessionCmdItem_t;
typedef struct TmlCmdMagicmms_s
{
TmlProtoElement_t elementType;
char * cmd;
char * cmdid;
char * action;
char * area;
char * message;
char * style;
char * sno;
char * item;
char * type;
char * all;
char * data;
char * content;
char * locuri;
} TmlCmdMagicmms_s;
class CTmlSession
{
public:
CTmlSession();
virtual ~CTmlSession();
void DebugInfo();
int ElapsedIdleSeconds();
void HandleStartMessage(InstanceID_t id,TmlCmdTHdr_s*pTHdr);
void HandleResource(InstanceID_t id,TmlCmdResource_s*pRes);
void HandleResourcesDirectory(InstanceID_t id,TmlCmdResourcesDirectory_s*pRes);
void InsertCmdItem(TmlProtoElement_t ItemType,void *CmdItem);
void HandleMagicmmss(InstanceID_t id,TmlCmdMagicmmss_s*pRes);
void HandleMagicmms(InstanceID_t id,TmlCmdMagicmms_s*pRes);
void HandleMStatus(InstanceID_t id,TmlCmdMStatus_s*pRes);
void HandleRStatus(InstanceID_t id,TmlCmdRStatus_s*pRStatus);
void HandleSendResource(InstanceID_t id,TmlCmdResource_s*pRes);
void HandleCStatus(InstanceID_t id,TmlCmdCStatus_s*pCStatus);
void HandleContacts(InstanceID_t id,TmlCmdContacts_s*pRes);
void HandleContact(InstanceID_t id,TmlCmdContact_s*pRes);
void HandleCStatuss(InstanceID_t id,TmlCmdCStatuss_s*pRes);
void HandleEndContacts(InstanceID_t id);
void HandleFinal(InstanceID_t id,TmlCmdFinal_s*pFinal);
void CreateSyncID();
void ClearSyncID();
String_t m_sLast;
String_t m_sNext;
String_t m_sSessID;
String_t m_sUser;
String_t m_sPwd;
String_t m_sCurLocURI;
String_t m_sCurMagicLocURI;
String_t m_sRType;
String_t m_sRName;
String_t m_sMessage;
String_t m_sAction;
String_t m_sArea;
String_t m_sStyle;
String_t m_sType;
String_t m_sSno;
String_t m_sSyncID;
TmlSessionCmdItem_t* m_pHead;
TmlSessionCmdItem_t* m_pEnd;
TmlCredState m_eCredState;
TmlSessState m_eSessState;
int m_nCmdID;//自增
int m_nNextItem;
int m_nItem;//
int m_nAll;
int m_nSessFlag;
int m_nIsSend;
FILE* m_fpFile;
size_t m_nFileLength;
int m_nRevData;//m_fpFile文件大小
int m_nSendData;
int m_nSendOK;
String_t m_sPath;
int m_nActiveTime;
int m_nStoreFlag;
int m_nRevOK;
int m_nTxlFlag;
int m_nCount;
};
int _database_get_contactflag(CTmlSession*_pSess,TmlCmdContact_s*pCont);
#endif // !defined(AFX_TMLSESSION_H__30B752D3_2898_4354_AFDF_27B2E0F7A788__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -