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

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

?? appui.cpp

?? symbian網絡聊天
?? CPP
字號:
// appui.cpp
//
// Copyright (c) 2000 Symbian Ltd.  All rights reserved.
//

#include "appui.h"
#include "controller.h"
#include "appview.h"

#include <eikenv.h>
#include <eikbutb.h>
#include <eiktbar.h>
#include <eikdialg.h>
#include <eikedwin.h>
#include <eikfnlab.h>
#include <eikchlst.h>

#include <gdp.h>

#include <qiknumbereditor.h>


// for use with r_game_gdp_protocols
TInt GDPProtocolIDToChoiceList(TUid aProtocol);
TUid ChoiceListToGDPProtocol(TInt aIndex);

/*
	CGameSendDialog
*/

class CGameSendDialog : public CEikDialog
	{
public:
	CGameSendDialog(CGameController* aController);
private:
	// from CEikDialog
	void PreLayoutDynInitL(); // initialization
	TBool OkToExitL(TInt aKeycode); // termination
private:
	CGameController* iController;
	};

CGameSendDialog::CGameSendDialog(CGameController* aController)
	: iController(aController)
	{
	}

void CGameSendDialog::PreLayoutDynInitL() // initialization
	{
	static_cast<CEikEdwin*>(Control(EGameControlIdSendText))->SetTextL(&(iController->iEngine->LastSent()));
	}

TBool CGameSendDialog::OkToExitL(TInt /* aKeycode */) // termination
	{
	CEikEdwin* edwin=STATIC_CAST(CEikEdwin*, Control(EGameControlIdSendText));
	HBufC* string=edwin->GetTextInHBufL();
	if (!string)
		string=_L("").AllocL();
	CleanupStack::PushL(string);
	iController->CmdSendMessageL(*string);
	CleanupStack::PopAndDestroy(); // string
	return ETrue;
	}

/*
	CGameInitiateDialog
*/

class CGameInitiateDialog : public CEikDialog
	{
public:
	CGameInitiateDialog(CGameController* aController);
private:
	// from CEikDialog
	void PreLayoutDynInitL(); // initialization
	TBool OkToExitL(TInt aKeycode); // termination
private:
	CGameController* iController;
	};

CGameInitiateDialog::CGameInitiateDialog(CGameController* aController)
	: iController(aController)
	{
	}

void CGameInitiateDialog::PreLayoutDynInitL() // initialization
	{
	_LIT(KBlank,"");
	static_cast<CEikEdwin*>(Control(EGameControlIdSendText))->SetTextL(&KBlank);
	static_cast<CEikEdwin*>(Control(EGameControlIdOtherAddress))->SetTextL(&KBlank);
	}

TBool CGameInitiateDialog::OkToExitL(TInt /* aKeycode */) // termination
	{
	// reset controller if necessary
	if (!iController->iEngine->IsBlank())
		iController->Reset();
	// get other address
	CEikEdwin* edwin=STATIC_CAST(CEikEdwin*, Control(EGameControlIdOtherAddress));
	HBufC* address=edwin->GetTextInHBufL();
	if (!address)
		address=_L("").AllocL();
	CleanupStack::PushL(address);
	// get string to send
	edwin=STATIC_CAST(CEikEdwin*, Control(EGameControlIdSendText));
	HBufC* string=edwin->GetTextInHBufL();
	if (!string)
		string=_L("").AllocL();
	CleanupStack::PushL(string);
	// get controller to handle set up
	iController->InitiateL(*address, *string);
	iEikonEnv->InfoMsg(R_GAME_HAVE_INITIATED);
	// clean up and return
	CleanupStack::PopAndDestroy(2); // string, address
	return ETrue;
	}



/*
	CGameSetMeDialog
*/

class CGameSetMeDialog : public CEikDialog
	{
public:
	CGameSetMeDialog(CGameController* aController);
private:
	// from CEikDialog
	void PreLayoutDynInitL(); // initialization
	TBool OkToExitL(TInt aKeycode); // termination

private:
	CGameController* iController;
	};

CGameSetMeDialog::CGameSetMeDialog(CGameController* aController)
	: iController(aController)
	{
	}

void CGameSetMeDialog::PreLayoutDynInitL() // initialization
	{
	TInt cursor = GDPProtocolIDToChoiceList(iController->iGsdp.GetGdpProtocol());
 	static_cast<CEikChoiceListBase*>(Control(EGameControlIdProtocol))->SetCurrentItem(cursor);
  	}

TBool CGameSetMeDialog::OkToExitL(TInt /* aKeycode */) // termination
	{
	// reset controller if necessary
	if (!iController->iEngine->IsBlank())
		iController->Reset();
	// get protocol
	TInt cursor = static_cast<CEikChoiceListBase*>(Control(EGameControlIdProtocol))->CurrentItem() + 1;
	// get controller to handle set up
	iController->SetupMeL(ChoiceListToGDPProtocol(cursor));
	iEikonEnv->InfoMsg(R_GAME_HAVE_SETME);
	// clean up and return
	return ETrue;
	}

// ordering in these two functions must match resource file
TInt GDPProtocolIDToChoiceList(TUid aProtocol)
	{
	if (aProtocol == KGdpLoopbackUid) return 0;
	else if (aProtocol == KGdpBTUid) return 1;
	else if (aProtocol == KGdpSmsUid) return 2;
	else return 0;
	}

TUid ChoiceListToGDPProtocol(TInt aIndex)
	{
	switch (aIndex)
		{
	case 1: return KGdpLoopbackUid;
	case 2: return KGdpBTUid;
	case 3: return KGdpSmsUid;
	default: return KGdpLoopbackUid;
		}
	}

/*
	CGameDisplaySettingsDialog
*/

class CGameDisplaySettingsDialog : public CEikDialog
	{
public:
	CGameDisplaySettingsDialog(CGameController* aController);
private:
	// from CEikDialog
	void PreLayoutDynInitL(); // initialization
private:
	CGameController* iController;
	};

CGameDisplaySettingsDialog::CGameDisplaySettingsDialog(CGameController* aController)
	: iController(aController)
	{
	}

void CGameDisplaySettingsDialog::PreLayoutDynInitL() // initialization
	{
 	static_cast<CEikChoiceListBase*>(Control(EGameControlIdState))->SetCurrentItem(iController->iEngine->State());
 	static_cast<CEikChoiceListBase*>(Control(EGameControlIdProtocol))->SetCurrentItem(GDPProtocolIDToChoiceList(iController->iEngine->GetGdpProtocol()));

	TBuf<10> port;
	port.AppendNum(TUint(iController->iEngine->MyPort()));
 	static_cast<CEikEdwin*>(Control(EGameControlIdMyPort))->SetTextL(&port);


	static_cast<CEikEdwin*>(Control(EGameControlIdOtherAddress))->SetTextL(&(iController->iEngine->OtherAddress()));

	port.Zero();
	port.AppendNum(TUint(iController->iEngine->OtherPort()));
	static_cast<CEikEdwin*>(Control(EGameControlIdOtherPort))->SetTextL(&port);
	}

/*
	CGameAppUi
*/

void CGameAppUi::ConstructL()
    {
    BaseConstructL();
	// construct comms interfaces and controller for player 1
	iController=new(ELeave) CGameController;
	iController->ConstructL(STATIC_CAST(CGameDocument*, Document())->iEngine, this);
	iController->Reset();
    }

CGameAppUi::~CGameAppUi()
	{
	delete iController;
	}

void CGameAppUi::HandleCommandL(TInt aCommand)
	{
	switch (aCommand)
		{
	case EGameCmdSend:
		CmdSendL();
		break;
	case EGameCmdReceiveAll:
		CmdReceiveAll();
		break;
	case EGameCmdDisplaySettings:
		CmdDisplaySettingsL();
		break;
	case EGameCmdReset:
		CmdResetL();
		break;
	case EGameCmdSetMe:
		CmdSetMeL();
		break;
	case EGameCmdInitiate:
		CmdInitiateL();
		break;
	case EGameCmdListen:
		CmdListenL();
		break;
	case EEikCmdExit: 
		SaveL();
		Exit();
		break;
		}
	}

void CGameAppUi::CmdSetMeL()
	{
	// user-friendly checks
	if (!iController->iEngine->IsBlank() && !iEikonEnv->QueryWinL(R_GAME_CONFIRM_SETME))
		return;
	// do it
	CEikDialog* dialog=new(ELeave) CGameSetMeDialog(iController);
	dialog->ExecuteLD(R_GAME_SET_ME_DIALOG);
	}

void CGameAppUi::CmdDisplaySettingsL()
	{
	CEikDialog* dialog=new(ELeave) CGameDisplaySettingsDialog(iController);
	dialog->ExecuteLD(R_GAME_DISPLAY_SETTINGS_DIALOG);
	}

void CGameAppUi::CmdListenL()
	{
	// user-friendly checks
	if (!iController->iEngine->IsBlank() && !iEikonEnv->QueryWinL(R_GAME_CONFIRM_LISTEN))
		return;
	// do it
	iController->Reset();
	iController->Listen();
	iEikonEnv->InfoMsg(R_GAME_AM_LISTENING);
	}

void CGameAppUi::CmdInitiateL()
	{
	// user-friendly checks
	if (!iController->iEngine->IsBlank() && !iEikonEnv->QueryWinL(R_GAME_CONFIRM_INITIATE))
		return;
	// do it
	CEikDialog* dialog=new(ELeave) CGameInitiateDialog(iController);
	dialog->ExecuteLD(R_GAME_INITIATE_DIALOG);
	}

void CGameAppUi::CmdResetL()
	{
	// user-friendly checks and messages
	if (iController->iEngine->IsBlank())
		iEikonEnv->LeaveWithInfoMsg(R_GAME_ALREADY_RESET);
	if (!iEikonEnv->QueryWinL(R_GAME_CONFIRM_RESET))
		return;
	// ok, do it
	iController->Reset();
	iEikonEnv->InfoMsg(R_GAME_HAVE_RESET);
	}

void CGameAppUi::CmdSendL()
	{
	// user-friendly check
	if (!iController->iEngine->IsBound())
		iEikonEnv->LeaveWithInfoMsg(R_GAME_CANT_SEND);
	// do it
	CEikDialog* dialog=new(ELeave) CGameSendDialog(iController);
	dialog->ExecuteLD(R_GAME_SEND_DIALOG);
	}

void CGameAppUi::CmdReceiveAll()
	{
	iController->ReceiveAll();
	}

// file-based app framework

TBool CGameAppUi::ProcessCommandParametersL(TApaCommand aCommand, TFileName& aDocumentName, const TDesC& /*aTail*/)
	{
	return CEikAppUi::ProcessCommandParametersL(aCommand, aDocumentName);
	}

void CGameAppUi::HandleModelChangeL()
	{
	iController->SetEngineL(STATIC_CAST(CGameDocument*, Document())->iEngine);
	iEikonEnv->UpdateTaskNameL();
	}

/*
	CGameDocument
*/

CGameDocument::CGameDocument(CEikApplication& aApp)
		: CEikDocument(aApp)
	{
	}

void CGameDocument::ConstructL()
	{
	iEngine=new(ELeave) CGameEngine;
	}

CGameDocument::~CGameDocument()
	{
	delete iEngine;
	}

CEikAppUi* CGameDocument::CreateAppUiL()
	{
    return new(ELeave) CGameAppUi;
	}

void CGameDocument::NewDocumentL()
	{
	iEngine->Reset();
	}

void CGameDocument::RestoreL(const CStreamStore& aStore,const CStreamDictionary& aStreamDict)
	{
	CGameEngine* engine=new(ELeave) CGameEngine;
	CleanupStack::PushL(engine);
	TStreamId id=aStreamDict.At(KUidExample);
	engine->RestoreL(aStore, id);
	CleanupStack::Pop();
	delete iEngine;
	iEngine=engine;
	}

void CGameDocument::StoreL(CStreamStore& aStore,CStreamDictionary& aStreamDict) const
	{
	TStreamId id=iEngine->StoreL(aStore);
	aStreamDict.AssignL(KUidExample,id);
	}

/*
	CGameApplication
*/

TUid CGameApplication::AppDllUid() const
	{
	return KUidExample;
	}

CApaDocument* CGameApplication::CreateDocumentL()
	{
	CGameDocument* doc=new(ELeave) CGameDocument(*this);
	CleanupStack::PushL(doc);
	doc->ConstructL();
	CleanupStack::Pop();
	return doc;
	}

// DLL interface stuff

EXPORT_C CApaApplication* NewApplication()
	{
	return new CGameApplication;
	}

GLDEF_C TInt E32Dll(TDllReason)
	{
	return KErrNone;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩第一区日日骚| 麻豆精品在线播放| 奇米精品一区二区三区在线观看| 免费一级片91| 大桥未久av一区二区三区中文| 91视视频在线观看入口直接观看www | 精品国产免费人成在线观看| 精品国产人成亚洲区| 欧美国产精品久久| 一区二区三区精密机械公司| 石原莉奈在线亚洲三区| 国产成人亚洲综合a∨婷婷| 色综合天天综合网天天看片| 欧美一卡2卡3卡4卡| 国产精品婷婷午夜在线观看| 亚洲va欧美va人人爽| 国产一区二区三区免费在线观看 | 中文字幕乱码久久午夜不卡| 亚洲综合色网站| 国产美女视频91| 欧美日韩一区二区在线视频| 久久综合狠狠综合久久激情 | 色噜噜狠狠成人网p站| 日韩一区二区三区高清免费看看 | 在线观看日韩高清av| 精品欧美乱码久久久久久| 综合网在线视频| 激情图区综合网| 欧美在线影院一区二区| 国产日韩视频一区二区三区| 亚洲电影你懂得| 不卡在线观看av| 欧美刺激脚交jootjob| 亚洲自拍偷拍综合| 成人免费高清在线观看| 蜜臀久久久久久久| 91精品国产综合久久精品app| 欧美日韩1234| 日韩激情中文字幕| a4yy欧美一区二区三区| 91视频精品在这里| 国产区在线观看成人精品 | 国产91精品精华液一区二区三区| 91久久人澡人人添人人爽欧美| www国产成人免费观看视频 深夜成人网 | 久久综合久久综合九色| 亚洲第一电影网| 91首页免费视频| 国产拍欧美日韩视频二区| 日本强好片久久久久久aaa| 一本色道久久加勒比精品| 久久亚洲一级片| 激情六月婷婷久久| 日韩一区二区免费视频| 日日摸夜夜添夜夜添亚洲女人| 在线免费视频一区二区| 1000部国产精品成人观看| 国产高清视频一区| www国产成人免费观看视频 深夜成人网| 三级欧美韩日大片在线看| 在线观看亚洲成人| 洋洋av久久久久久久一区| 不卡视频一二三| 欧美国产综合色视频| 国产麻豆一精品一av一免费| 日韩精品一区二区三区在线观看| 日韩高清一级片| 88在线观看91蜜桃国自产| 亚洲大片在线观看| 精品视频免费在线| 亚洲成人你懂的| 欧美日韩精品系列| 亚洲高清免费在线| 欧美日韩激情一区二区| 午夜视频久久久久久| 欧美日韩精品免费| 午夜精品国产更新| 欧美精品久久一区二区三区| 午夜精品久久久久久久久| 欧美情侣在线播放| 免费成人深夜小野草| 精品久久久久一区| 国产精品亚洲人在线观看| 国产亚洲成aⅴ人片在线观看| 国产精品白丝jk黑袜喷水| 国产亚洲一区二区三区四区| 成人中文字幕合集| 自拍av一区二区三区| 色香蕉成人二区免费| 夜夜揉揉日日人人青青一国产精品| 在线观看日韩精品| 免费成人在线网站| 久久久噜噜噜久噜久久综合| 福利一区二区在线| 亚洲女与黑人做爰| 欧美网站一区二区| 免费在线一区观看| 久久久久久久久蜜桃| 不卡的电影网站| 亚洲一区二区三区四区在线观看 | 亚洲综合图片区| 欧美精品1区2区| 紧缚奴在线一区二区三区| 久久久久久久久久久久电影| 成人白浆超碰人人人人| 一区二区三区欧美日| 制服丝袜成人动漫| 国产成人精品综合在线观看| 亚洲人一二三区| 日韩一级片在线观看| 国产风韵犹存在线视精品| 亚洲欧美一区二区久久| 欧美一三区三区四区免费在线看| 国产呦精品一区二区三区网站| 亚洲天堂免费看| 91精品在线观看入口| 国产高清亚洲一区| 亚州成人在线电影| 国产亚洲福利社区一区| 欧美色欧美亚洲另类二区| 精品亚洲成av人在线观看| 亚洲欧美电影一区二区| 精品欧美乱码久久久久久1区2区| av中文字幕不卡| 日产欧产美韩系列久久99| 欧美国产丝袜视频| 欧美日韩精品一区二区| 成人午夜免费电影| 丝袜a∨在线一区二区三区不卡| 久久精品一区蜜桃臀影院| 欧美在线高清视频| 国产福利一区二区三区视频在线| 亚洲午夜久久久久中文字幕久| 欧美精品一区二区三区视频| 色综合久久88色综合天天6| 久久国产麻豆精品| 一区二区高清在线| 国产性做久久久久久| 欧美电影在哪看比较好| 成人av在线网站| 男男成人高潮片免费网站| 亚洲日本护士毛茸茸| 久久午夜色播影院免费高清| 欧美视频精品在线| 99久久国产综合色|国产精品| 国产专区欧美精品| 午夜激情一区二区| 亚洲色图一区二区三区| 久久亚洲一区二区三区明星换脸| 欧美日韩激情在线| 一本色道亚洲精品aⅴ| 国产精品主播直播| 麻豆91小视频| 视频一区二区三区在线| 亚洲色图在线播放| 中文字幕av一区二区三区高| 日韩精品一区二区三区老鸭窝| 欧美日韩亚洲综合在线| 91小宝寻花一区二区三区| 国产成人午夜电影网| 久久99热狠狠色一区二区| 视频一区二区三区中文字幕| 樱桃国产成人精品视频| 欧美国产一区二区在线观看| 久久综合av免费| 精品国产一区二区三区av性色| 欧美日韩mp4| 欧美性色欧美a在线播放| 91精品视频网| 欧美日韩www| 欧美精选午夜久久久乱码6080| 欧亚洲嫩模精品一区三区| 91一区一区三区| 91美女视频网站| 日本精品一级二级| 91欧美激情一区二区三区成人| 成人手机电影网| 99麻豆久久久国产精品免费 | 中文字幕日本不卡| 中文字幕免费一区| 国产精品福利一区| 欧美激情综合在线| 国产精品久久毛片| 国产精品国产三级国产专播品爱网 | 国产精品久久网站| 国产精品第四页| 综合欧美一区二区三区| 日韩理论片一区二区| 日韩美女久久久| 夜夜嗨av一区二区三区中文字幕| 亚洲影视在线播放| 日韩国产欧美视频| 理论电影国产精品| 国产精品1区2区3区在线观看| 国产高清精品久久久久| 成人手机在线视频| 91成人免费网站| 51精品国自产在线| 欧美va亚洲va香蕉在线| 久久久精品人体av艺术|