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

📄 asynchandler.cpp

📁 hercules v9 symbian os application development
💻 CPP
字号:
// asynchandler.cpp
// Skeleton active object, for asynchronous server requests

#include <e32base.h>
#include "server.h"

CAsyncHandler* CAsyncHandler::NewL()
	{
	CAsyncHandler* me = CAsyncHandler::NewLC();
	CleanupStack::Pop(me);
	return (me);
	}

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

CAsyncHandler::~CAsyncHandler()
	{
	Cancel();
	iTimer.Close();	
	}

CAsyncHandler::CAsyncHandler()
: CActive(EPriorityStandard) 
	{ 
	CActiveScheduler::Add(this); 
	}

void CAsyncHandler::ConstructL()
	{
	User::LeaveIfError(iTimer.CreateLocal());
	}

void CAsyncHandler::ServiceAsyncRequest(const RMessage2& aMessage)
	{// Only allow one request to be submitted at a time
	_LIT(KOutstandingRequestPanic, "InUse");
	__ASSERT_ALWAYS(!IsActive(), User::Panic(KOutstandingRequestPanic, KErrInUse));
	iMessage = aMessage;
	iTimer.After(iStatus, 2000000); // Set the RTimer to expire in 2 seconds
	SetActive(); // Mark this object active	
	}

void CAsyncHandler::DoCancel()
	{
	iTimer.Cancel();
	iMessage.Complete(KErrCancel);
	}

void CAsyncHandler::RunL()
	{
	iMessage.Complete(iStatus.Int());
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -