?? xmlparse.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 + -