testaoconsole.cpp

来自「socket test for symbian」· C++ 代码 · 共 89 行

CPP
89
字号
/*
 ============================================================================
 Name		: TestAOConsole.cpp
 Author	  : 
 Copyright   : Your copyright notice
 Description : Exe source file
 ============================================================================
 */

//  Include Files  

#include "TestAOConsole.h"
#include <e32base.h>
#include <e32std.h>
#include <e32cons.h>			// Console
#include "MyActiveObject.h"

//  Constants

_LIT(KTextConsoleTitle, "Console");
_LIT(KTextFailed, " failed, leave code = %d");
_LIT(KTextPressAnyKey, " [press any key]\n");

//  Global Variables

LOCAL_D CConsoleBase* console;
// write all messages to this

LOCAL_C CMyActiveObject* iMyAO;

//  Local Functions

LOCAL_C void MainL()
	{
	iMyAO = CMyActiveObject::NewL(*console);
	iMyAO->StartL(0);

	CActiveScheduler::Start();
	}

LOCAL_C void DoStartL()
	{
	// Create active scheduler (to run active objects)
	CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
	CleanupStack::PushL(scheduler);
	CActiveScheduler::Install(scheduler);

	MainL();

	// Delete active scheduler
	CleanupStack::PopAndDestroy(scheduler);
	}

//  Global Functions

GLDEF_C TInt E32Main()
	{
	// Create cleanup stack
	__UHEAP_MARK;
	CTrapCleanup* cleanup = CTrapCleanup::New();

	// Create output console
	TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(KConsFullScreen,KConsFullScreen)))
	;
	if (createError)
		return createError;

	// Run application code inside TRAP harness, wait keypress when terminated
	TRAPD(mainError, DoStartL())
	;
	if (mainError)
		console->Printf(KTextFailed, mainError);
	console->Printf(KTextPressAnyKey);
	console->Getch();

	if (iMyAO)
		{
		iMyAO->Cancel();
		delete iMyAO;
		iMyAO = NULL;
		}

	delete console;
	delete cleanup;
	__UHEAP_MARKEND;
	return KErrNone;
	}

⌨️ 快捷键说明

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