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

📄 xmlparse.h

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

#include <e32base.h>
#include <aknprogressdialog.h> 
#include "HTTPExampleEngine.h"

#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 ConstrutL();
	CXMLparse();

public:
	void Login(const TDesC& aPhoneNum, const TDesC& aPassWord);//登录用
	void Reg(const TDesC& aPhoneNum, const TDdes& aPassWord);//注册
	void Upload(const TDesC& aPhoneNum, CArrayPtrSeg<CBookInfo>* aCardArray);//上传函数
	void Download(const TDesC& aPhoneNum, const TDesC& aPassWord);//下载数
	void Cancel();//取消
	void TestFun();//测试函数
	const TInt GetResult();//获得服务器的响应值
	const CArrayPtrSeg<CBookInfo>* GetArray();//获得从服务器下载的名片数组 

private:
	void AddCard(CBookInof* aCard);//添加名片夹
	void CreateBody(const TDesC& aPhoneNum, CArrayPtrSeg<CBookInfo>* aCardArray);//生成上传时的主体
	void CreateUrl(TInt aState, const TDesC& aPhoneNum, const TDesC& aPassWord);//注册,登录,下载分别对应0、1、2
	void Xml(const TDesC& aResponse);//解析下载时的XML

private:
	void ResponseStatusL(TInt aStatusCode, const TDesC& aStatusText);
	void ResponseReceivedL(const TDesC& aResponse);

	TBuf<128> URLBasic;//注册登录基本地址
	TInt iStatePos;//状态值标识位置
	TInt iPhoneNumPos;//电话标识位置
	TInt iPassWord;//密码标识位置
	TInt iStateLength;//状态值标识长度
	TInt iPassWordLenth;//密码标识长度

	CHTTPExampleEngine* iEngine;
	TInt iResult;//服务器响应值
	
	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:
	//id
	void SetItemID(TInt aID) {m_nItem_id = aID;}
	TInt GetItemID() {return m_nItem_id;}
	
	//名字最后一个
	void SetLastName(const TDesC& aBuf);
	HBufC* GetLastName() {return m_sLastName;}

	//名字最先一个
	void SetFirstName(const TDesC& aBuf);
	HBufC* GetFirstName() {return m_sFirstName;}

	//电话
	void SetTelephone(const TDesC& aBuf);
	HBufC* GetTelephone() {return m_sTelephone;}

	//家庭电话
	void SetHomeTelephone(const TDesC& aBuf);
	HBufC* GetHomeTelephone() {return m_sHomeTelephone;}

	//商业电话
	void SetBusinessTelephone(const TDesC& aBuf);
	HBufC* GetBusinessTelephone() {return m_sBusinessTelephone;}

	//家庭移动电话
	void SetHomeMobileNumber(const TDesC& aBuf);
	HBufC* GetHomeMobileNumber() {return m_sHomeMobileNumber;}
	
	//修改时间
	void SetModifyTime(const TDesC& aBuf);
	HBufC* GetModifyTime() {return 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 + -