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

📄 tmlsession.h

📁 pimserver是syncml_vc开发包的服务器实例
💻 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 + -