亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xmlparse.cpp

?? symbian系統上的記事本程序
?? CPP
字號:
#include "XMLparse.h"
#include <aknnotewrappers.h>
#include <utf.h> 
#include "Common.h"
/***********************************************************************/

_LIT(REGORLOGBASICURL, "http://www.ldci.mobi/snsProject/@STATESIGN@?mobile=@PHONESIGN@&pass=@PASSWDSIGN@");
_LIT(STATESIGN, "@STATESIGN@");
_LIT(PHONESIGN, "@PHONESIGN@");
_LIT(PASSWDSIGN, "@PASSWDSIGN@");
_LIT(REGSTATE, "register");
_LIT(LOGSTATE, "login");
_LIT(UPDATESTATE, "update");
_LIT(DOWNLOADSTATE, "download");

_LIT(UPDATEURL, "http://www.ldci.mobi/snsProject/update");

_LIT(TYPESTART, "<type>");
_LIT(TYPEEND, "</type>");
_LIT(RESSTART, "<result>");
_LIT(RESEND, "</result>");

_LIT(KStatusFormat, "%d: %S");
const TInt KStatusCodeLength = 10;

_LIT(RSSSTART, "<rss>");
_LIT(RSSEND, "</rss>");
_LIT(MOBILESTART, "<mobile>");
_LIT(MOBILEEND, "</mobile>");
_LIT(RECORDSTART, "<record>");
_LIT(RECORDEND, "</record>");
_LIT(LNAMESTART, "<lname>");
_LIT(LNAMEEND, "</lname>");
_LIT(FNAMESTART, "<fname>");
_LIT(FNAMEEND, "</fname>");
_LIT(MOBSTART, "<mob>");
_LIT(MOBEND, "</mob>");
_LIT(MAILSTART, "<mail>");
_LIT(MAILEND, "</mail>");
_LIT(ADDRSTART, "<addr>");
_LIT(ADDREND, "</addr>");
_LIT(COMPANYSTART, "<company>");
_LIT(COMPANYEND, "</company>");

/***********************************************************************/


CXMLparse* CXMLparse::NewL()
{
	CXMLparse* self = NewLC();
    CleanupStack::Pop(self);
    return self;
}

CXMLparse* CXMLparse::NewLC()
{
	CXMLparse* self = new (ELeave) CXMLparse();
	CleanupStack::PushL(self);
    self->ConstructL();
    return self;
}

CXMLparse::CXMLparse()
{
	ResetResult();
	ResetServerState();
}

CXMLparse::~CXMLparse()
{
	MEM_FREE(iEngine);
	MEM_FREE(iBody);
	MEM_FREE(iCard);
	MEM_FREE(iCardArray);
}

void CXMLparse::ConstructL()
{
	iEngine = CHTTPExampleEngine::NewL(*this);
}

void CXMLparse::Reg(const TDesC& aPhoneNum, const TDesC& aPassWord)
{
	// 生成URL
	CreateURL(0, aPhoneNum, aPassWord);
	// 發送GET請求
	iEngine->GetRequestL(URLBasic);
}

void CXMLparse::Login(const TDesC& aPhoneNum, const TDesC& aPassWord)
{
	// 生成URL
	CreateURL(1, aPhoneNum, aPassWord);
	// 發送GET請求
	iEngine->GetRequestL(URLBasic);
}

void CXMLparse::UpLoad(const TDesC& aPhoneNum, CArrayPtrSeg<CBookInfo>* aCardArray)
{
	if(aCardArray==NULL)
	{
		return;
	}
	// 生成Body
	CreateBody(aPhoneNum, aCardArray);
	// POST
	iEngine->PostRequestL(iBody->Des());
}

void CXMLparse::DownLoad(const TDesC& aPhoneNum, const TDesC& aPassWord)
{
	// 生成URL
	CreateURL(2, aPhoneNum, aPassWord);
	// 發送GET請求
	iEngine->GetRequestL(URLBasic);
}

void CXMLparse::Cancal()
{
	iEngine->Cancel();
	iServerState = -1;
	iResult = -1;
}

void CXMLparse::CreateURL(TInt aState, const TDesC& aPhoneNum, const TDesC& aPassWord)
{
	URLBasic.Copy(REGORLOGBASICURL);
	
	iPhoneNumPos = URLBasic.Find(PHONESIGN);
	iPhoneNumLength = PHONESIGN.iTypeLength;
	URLBasic.Replace(iPhoneNumPos, iPhoneNumLength, aPhoneNum);
	
	iPassWDPos = URLBasic.Find(PASSWDSIGN);
	iPassWDLength = PASSWDSIGN.iTypeLength;
	URLBasic.Replace(iPassWDPos, iPassWDLength, aPassWord);

	if(aState==0)
	{
		iStactPos = URLBasic.Find(STATESIGN);
		iStactLength = STATESIGN.iTypeLength;
		URLBasic.Replace(iStactPos, iStactLength, REGSTATE);
	}
	else if(aState==1)
	{
		iStactPos = URLBasic.Find(STATESIGN);
		iStactLength = STATESIGN.iTypeLength;
		URLBasic.Replace(iStactPos, iStactLength, LOGSTATE);
	}
	else if(aState==2)
	{
		iStactPos = URLBasic.Find(STATESIGN);
		iStactLength = STATESIGN.iTypeLength;
		URLBasic.Replace(iStactPos, iStactLength, DOWNLOADSTATE);
	}
}

void CXMLparse::TestFun()
{
	CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
	informationNote->ExecuteLD(iBody->Des());
}

void CXMLparse::ResponseStatusL(TInt aStatusCode, const TDesC& aStatusText)
{
	
}

void CXMLparse::ResponseReceivedL(const TDesC& aResponse)	
{
	TInt aStartPosTmp;
	TInt aEndPosTmp;
	TBuf<16> aStateTmp;
	TBuf<16> aTmp;
	iResult = -1;

	aStartPosTmp = aResponse.Find(TYPESTART) + TYPESTART.iTypeLength;
	aEndPosTmp = aResponse.Find(TYPEEND);
	aStateTmp.Copy(aResponse.Mid(aStartPosTmp, aEndPosTmp-aStartPosTmp));	// 得到返回操作狀態
	
	if((aStateTmp.Compare(_L("regi"))==0)||(aStateTmp.Compare(_L("login"))==0))	// 如果返回是注冊或者登錄的響應
	{
		aStartPosTmp = aResponse.Find(RESSTART) + RESSTART.iTypeLength;
		aEndPosTmp = aResponse.Find(RESEND);
		aTmp.Copy(aResponse.Mid(aStartPosTmp, aEndPosTmp-aStartPosTmp));

		TLex iLex(aTmp);
		iLex.Val(iResult);	// 得到狀態值
	}
	else if(aStateTmp.Compare(_L("update"))==0)
	{
		aStartPosTmp = aResponse.Find(RESSTART) + RESSTART.iTypeLength;
		aEndPosTmp = aResponse.Find(RESEND);
		aTmp.Copy(aResponse.Mid(aStartPosTmp, aEndPosTmp-aStartPosTmp));
		
		TLex iLex(aTmp);
		iLex.Val(iResult);	// 得到狀態值
	}
	else if(aStateTmp.Compare(_L("down"))==0)
	{
		// 解析函數
		XML(aResponse);
		iResult = 0;
	}
}

void CXMLparse::AddaCard(CBookInfo* aCard)
{
	if(aCard==NULL)
	{
		return;
	}

	TBuf8<256> aCardTmp;
	TBuf8<32> aTemp;
	TBuf<32> aOld;

	aCardTmp.Append(RECORDSTART);	
	aCardTmp.Append(LNAMESTART);
	aOld.Copy(aCard->GetLastName()->Des());
	CnvUtfConverter::ConvertFromUnicodeToUtf8( aTemp, aOld );	
	aCardTmp.Append(aTemp);
	aCardTmp.Append(LNAMEEND);
	
	aCardTmp.Append(FNAMESTART);	
	aOld.Copy(aCard->GetFirstName()->Des());
	CnvUtfConverter::ConvertFromUnicodeToUtf8( aTemp, aOld );
	aCardTmp.Append(aTemp);
	aCardTmp.Append(FNAMEEND);

	aCardTmp.Append(MOBSTART);
	aCardTmp.Append(aCard->GetHomeTelephone()->Des());
	aCardTmp.Append(MOBEND);

	aCardTmp.Append(MAILSTART);
	aCardTmp.Append(MAILEND);

	aCardTmp.Append(ADDRSTART);
	aCardTmp.Append(ADDREND);

	aCardTmp.Append(COMPANYSTART);
	aCardTmp.Append(COMPANYEND);

	aCardTmp.Append(RECORDEND);

	MEM_FREE(iCard);

	iCard = HBufC::NewL(aCardTmp.Length());
	iCard->Des().Copy(aCardTmp);
}


void CXMLparse::CreateBody(const TDesC& aPhoneNum, CArrayPtrSeg<CBookInfo>* aCardArray)
{
	if(iBody!=NULL)
	{
		delete iBody;
		iBody = NULL;
	}

	if(aCardArray==NULL)
	{
		return;
	}

	iBody = HBufC::NewL(aCardArray->Count()*256);

	iBody->Des().Append(RSSSTART);
	iBody->Des().Append(TYPESTART);
	iBody->Des().Append(UPDATESTATE);
	iBody->Des().Append(TYPEEND);

	iBody->Des().Append(MOBILESTART);
	iBody->Des().Append(aPhoneNum);
	iBody->Des().Append(MOBILEEND);

	for(TInt i=0; i<aCardArray->Count(); i++)
	{
		AddaCard(aCardArray->At(i));
		iBody->Des().Append(iCard->Des());	
	}

	iBody->Des().Append(RSSEND);
}


void CXMLparse::XML(const TDesC& aResponse)
{
	iCardArray = NULL;

	HBufC* aRes;
	aRes = HBufC::NewL(aResponse.Length());
	aRes->Des().Copy(aResponse);

	if(aRes->Find(RECORDSTART)==KErrNotFound)
	{
		return;
	}
	
	iCardArray = new(ELeave) CArrayPtrSeg<CBookInfo>(1);
	TInt aStartPosTemp;
	TInt aEndPosTemp;
	CBookInfo* aCardTemp;
	TBuf8<32> aOld;
	TBuf16<32> aNew;
	
	// 添加循環
	while(aRes->Find(RECORDSTART)!=KErrNotFound)	// 如果能找到RECORD
	{
		aCardTemp = CBookInfo::NewL();

		aStartPosTemp = aRes->Find(LNAMESTART)+LNAMESTART.iTypeLength;
		aEndPosTemp = aRes->Find(LNAMEEND);
		aOld.Copy(aRes->Mid(aStartPosTemp, aEndPosTemp-aStartPosTemp));
		CnvUtfConverter::ConvertToUnicodeFromUtf8( aNew, aOld );
		aCardTemp->SetLastName(aNew);

		aStartPosTemp = aRes->Find(FNAMESTART)+FNAMESTART.iTypeLength;
		aEndPosTemp = aRes->Find(FNAMEEND);
		aOld.Copy(aRes->Mid(aStartPosTemp, aEndPosTemp-aStartPosTemp));
		CnvUtfConverter::ConvertToUnicodeFromUtf8( aNew, aOld );
		aCardTemp->SetFirstName(aNew);

		aStartPosTemp = aRes->Find(MOBSTART)+MOBSTART.iTypeLength;
		aEndPosTemp = aRes->Find(MOBEND);
		aCardTemp->SetHomeMobileNumber(aRes->Mid(aStartPosTemp, aEndPosTemp-aStartPosTemp));	

		iCardArray->AppendL(aCardTemp);
		
		aStartPosTemp = aRes->Find(RECORDSTART);
		aEndPosTemp = aRes->Find(RECORDEND)+RECORDEND.iTypeLength;
		aRes->Des().Delete(aStartPosTemp, aEndPosTemp-aStartPosTemp);
	}

	MEM_FREE(aRes);
}


CArrayPtrSeg<CBookInfo>* CXMLparse::GetArray()
{
	return iCardArray;
}

const TInt CXMLparse::GetResult()
{
	return iResult;
}

const TInt CXMLparse::GetServerState()
{
	return iServerState;
}

void CXMLparse::ResetResult()
{
	iResult = -1;
}

void CXMLparse::ResetServerState()
{
	iServerState = -1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久中文字幕综合网| 青青草一区二区三区| 国产老女人精品毛片久久| 亚洲国产精品黑人久久久| 国产日韩v精品一区二区| 国产激情一区二区三区四区| 99久久久国产精品| 亚洲第一会所有码转帖| 成人国产精品免费观看视频| 久久久欧美精品sm网站| 国产高清不卡一区二区| 一区二区三区在线看| 精品久久久久久最新网址| 国产美女主播视频一区| 免费xxxx性欧美18vr| 337p日本欧洲亚洲大胆精品| 日韩黄色在线观看| 日本网站在线观看一区二区三区| 99re热这里只有精品视频| 91原创在线视频| 91精品国产综合久久久久久| 99精品久久久久久| 国产精品小仙女| 美国十次了思思久久精品导航| 国产亚洲综合在线| 欧美日韩精品福利| 一本一本大道香蕉久在线精品| 亚洲国产人成综合网站| 久久精品视频在线看| 久久久精品国产99久久精品芒果 | 色国产综合视频| 国产在线不卡视频| 亚洲精品伦理在线| 久久久久久久久99精品| 亚洲午夜久久久| 欧美国产精品一区| 精品国产凹凸成av人网站| 日韩伦理免费电影| 99久久er热在这里只有精品66| 日韩欧美在线1卡| 欧美日韩视频一区二区| 欧美伊人久久大香线蕉综合69| 成人成人成人在线视频| 不卡一二三区首页| 天天色综合天天| 色欧美88888久久久久久影院| 国产成人在线观看免费网站| 国产乱码精品一区二区三 | 日一区二区三区| 国产精品久久三区| 日韩理论在线观看| 一区二区三区精品在线| 欧美一级久久久久久久大片| 极品少妇xxxx偷拍精品少妇| 国产黄色成人av| 国产乱码精品一区二区三区忘忧草| 久久99国内精品| 懂色av一区二区在线播放| 国产成人av福利| 色综合久久久久综合体桃花网| 亚洲精品在线观看视频| 国产精品1区2区3区| 成人爱爱电影网址| 在线视频欧美精品| 精品人在线二区三区| 成+人+亚洲+综合天堂| 久久综合国产精品| 国产校园另类小说区| 在线综合视频播放| 亚洲成av人综合在线观看| 日本成人在线不卡视频| 99精品国产一区二区三区不卡| 亚洲精品日韩一| 国产一区二区三区免费看| 免费成人深夜小野草| 成人一区在线观看| 欧美日本韩国一区二区三区视频| 欧美mv日韩mv国产网站| 欧美一级片免费看| 美女网站色91| 91视频观看视频| 久久日韩精品一区二区五区| 国产成a人亚洲精品| 欧美视频三区在线播放| 成人激情校园春色| 欧洲一区二区三区在线| 精品剧情在线观看| 亚洲免费观看在线观看| 欧美国产综合一区二区| 丁香一区二区三区| 日韩电影网1区2区| 国产激情一区二区三区桃花岛亚洲| 久久精品一区二区三区四区| 日本一区中文字幕| 精品电影一区二区三区| 丁香六月综合激情| 一区二区三区日韩精品视频| 成人综合在线网站| 久久亚洲春色中文字幕久久久| 精品国产乱码久久久久久免费| 亚洲国产va精品久久久不卡综合| 亚洲精品乱码久久久久| 一卡二卡欧美日韩| 国产91丝袜在线18| 欧美一区二区三区色| 亚洲精品福利视频网站| 免费日韩伦理电影| 日韩欧美一区在线观看| 亚洲最大色网站| 色综合天天性综合| 一区二区三区四区激情| 欧美在线免费观看亚洲| 国产亚洲一本大道中文在线| 国产成人在线看| 欧美国产欧美综合| 国产高清精品久久久久| 91精品国产aⅴ一区二区| 一区二区三区av电影| 亚洲精品五月天| 亚洲国产成人在线| 99久久国产综合色|国产精品| 国产蜜臀97一区二区三区| 成人av在线电影| 精品国产91乱码一区二区三区 | 亚洲精品一区二区三区香蕉| 久久99热99| 欧美国产精品v| 美女视频免费一区| 欧美狂野另类xxxxoooo| 麻豆成人综合网| 综合久久给合久久狠狠狠97色 | 一区二区三区中文字幕精品精品| 亚洲成人av在线电影| 夜夜嗨av一区二区三区四季av | 91精品国产一区二区三区香蕉| 亚洲午夜精品在线| 亚洲一区二区三区激情| www.在线欧美| 亚洲午夜影视影院在线观看| 欧洲av在线精品| 国产一区二区三区香蕉 | 在线精品亚洲一区二区不卡| 亚洲综合999| 日韩欧美国产精品| av中文字幕在线不卡| 欧美日韩一区二区在线观看视频 | 欧美日韩一区 二区 三区 久久精品| 亚洲日本丝袜连裤袜办公室| 欧美美女视频在线观看| 美女诱惑一区二区| 91精品国产综合久久香蕉的特点| 夜夜揉揉日日人人青青一国产精品| 日韩精品一区二区三区在线播放 | 中文字幕第一区第二区| 欧美视频第二页| 男女男精品视频网| 久久欧美一区二区| 9191久久久久久久久久久| 日韩国产精品久久久久久亚洲| 亚洲成a人v欧美综合天堂| 一色桃子久久精品亚洲| 亚洲人成人一区二区在线观看 | 一区二区三区蜜桃| 亚洲激情图片一区| 亚洲成人福利片| 日本中文字幕一区二区有限公司| 免费不卡在线观看| 国产精品一区二区x88av| 成人一区二区三区视频| 91小视频免费看| 国产精品一区二区无线| 国产成人亚洲综合a∨婷婷| 成人成人成人在线视频| 欧美午夜影院一区| 欧美午夜精品久久久久久孕妇| 欧美日韩的一区二区| 亚洲综合一区二区精品导航| 天天影视涩香欲综合网 | 国产美女娇喘av呻吟久久| 国产在线精品一区二区三区不卡| 大胆欧美人体老妇| 日本精品裸体写真集在线观看| 欧美一区日韩一区| 中文一区一区三区高中清不卡| 亚洲影院理伦片| 国产一区二区三区综合| 91精品办公室少妇高潮对白| 日韩亚洲欧美中文三级| 国产精品三级在线观看| 舔着乳尖日韩一区| 国产凹凸在线观看一区二区| 欧美又粗又大又爽| 99久久99久久精品免费看蜜桃| 日本韩国欧美三级| 2020日本不卡一区二区视频| 一区二区三区中文在线| 国产精品18久久久久久久久久久久| 欧美亚洲综合另类| 国产精品美女久久久久久久久 | 欧美精品久久久久久久久老牛影院|