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

📄 xmlparse0.h

📁 symbian系统上的记事本程序
💻 H
字号:
#ifndef __XMLPARSE_H__
#define __XMLPARSE_H__

#include <e32base.h>
#include <aknprogressdialog.h>
#include <aknprogressdialog.h>  // MProgressDialogCallback
#include "HTTPExampleEngine.h"  // MHTTPExampleEngineObserver


#define MEM_FREE(p) if(NULL!=p) {delete p;p=NULL;};


class CBookInfo;


class CXMLparse : public CBase, public MHTTPExampleEngineObserver
{
public:
	static CXMLparse* NewL();
	static CXMLparse* NewLC();
	~CXMLparse();

private:
	void ConstructL();
	CXMLparse();

public:
	//注册
	void Reg(const TDesC& aPhoneNum, const TDesC& aPassWord);
	
	//登录
	void Login(const TDesC& aPhoneNum, const TDesC& aPassWord);
	
	//上传
	void UpLoad(const TDesC& aPhoneNum, CArrayPtrSeg<CBookInfo>* aCardArray);
	
	//下载
	void DownLoad(const TDesC& aPhoneNum, const TDesC& aPassWord);
	
	//取消
	void Cancal();
	
	//测试
	void TestFun();
	
	//获得服务器的响应值
	const TInt GetResult();

	//获得服务器状态值
	const TInt GetServerState();

	//复位响应
	void ResetResult();

	//复位状态
	void ResetServerState();
	
	//获得从服务器下载的名片数组
	const CArrayPtrSeg<CBookInfo>* GetArray();

private:
	// 上传的时候添加名片夹
	void AddaCard(CBookInfo* aCard);
	
	// 上传时的Body
	void CreateBody(const TDesC& aPhoneNum, CArrayPtrSeg<CBookInfo>* aCardArray);
	
	// 0注册,1登录,2下载
	void CreateURL(TInt aState, const TDesC& aPhoneNum, const TDesC& aPassWord);
	
// 解析下载时的XML
	void XML(const TDesC& aResponse);

private:
	void ResponseStatusL(TInt aStatusCode, const TDesC& aStatusText);
    void ResponseReceivedL(const TDesC& aResponse);
	
private:
	TBuf<128> URLBasic;	// 注册登录基本地址,需要替换标记位置

	TInt iStactPos;	// 状态值标识位置
	TInt iPhoneNumPos;	// 电话标识位置
	TInt iPassWDPos;	// 密码标识位置

	TInt iStactLength;	// 状态值标识长度
	TInt iPhoneNumLength;	// 电话标识长度
	TInt iPassWDLength;	// 密码标识长度

	CHTTPExampleEngine* iEngine;
	TInt iResult;	// 服务器响应值
	TInt iServerState;//与服务器连结情悦

	HBufC* iBody;	// 发送POST时的Body
	HBufC* iCard;	// 一个名片

	CArrayPtrSeg<CBookInfo>* iCardArray;
};

class CBookInfo: public CBase
{
public:
	static CBookInfo* NewL();
	static CBookInfo* NewLC();
	~CBookInfo();
protected:	
	CBookInfo();
	void ConstructL();
public:
//Operation
	//nServerUID, ClientID, ItemID
	void	SetItemID(TInt aID) {m_nItem_ID = aID;}
	TInt	GetItemID() {return m_nItem_ID;}
	
	//Last Name
	void	SetLastName(const TDesC& aBuf);
	HBufC*	GetLastName() {return m_sLastName;}
	
	//First name
	void	SetFirstName(const TDesC& aBuf);
	HBufC*	GetFirstName() {return m_sFirstName;}
	
	//m_sTelephone
	void	SetTelephone(const TDesC& aBuf);
	HBufC*	GetTelephone() {return m_sTelephone;}
	
	//m_sHomeTelephone
	void	SetHomeTelephone(const TDesC& aBuf);
	HBufC*	GetHomeTelephone() {return m_sHomeTelephone;}
	
	//m_sBusinessTelephone
	void	SetBusinessTelephone(const TDesC& aBuf);
	HBufC*	GetBusinessTelephone() {return m_sBusinessTelephone;}
	
	//m_sHomeMobile
	void	SetHomeMobileNumber(const TDesC& aBuf);
	HBufC*	GetHomeMobileNumber() {return m_sHomeMobile;}
	
	//m_sModifyTime
	void	SetModifyTime(const TDesC& aBuf);
	HBufC*	GetModifyTime() {return m_sModifyTime;}
	
	//m_sModifyTime
	void	SetModifyDate(const TDesC& aBuf);
	HBufC*	GetModifyDate() {return m_sModifyDate;}

	
private:
	TInt	m_nItem_ID;

	HBufC*	m_sLastName;
	HBufC*	m_sFirstName;
	HBufC*	m_sTelephone;
	HBufC*	m_sHomeTelephone;
	HBufC*	m_sBusinessTelephone;
	HBufC*	m_sHomeMobile;
	HBufC*	m_sModifyTime;
	HBufC*	m_sModifyDate;
};


#endif

⌨️ 快捷键说明

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