📄 xmlparse.h
字号:
#ifndef __XMLPARSE_H__
#define __XMLPARSE_H__
#include <e32base.h>
#include <aknprogressdialog.h>
#include "HTTPExampleEngine.h"
#include "PHKServerBookEngine.h"
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();
/*得到从服务器下载的名片数组*/
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 iServerState; // 联网情况
TInt iResult; // 服务器响应值
HBufC* iBody; // POST时的Body
HBufC* iCard; // 一个名片
CArrayPtrSeg<CBookInfo>* iCardArray;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -