telephonyutils/etel3rdpartyapi/ExampleApps/Shared/TelephonyISVExamples.cpp
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyutils/etel3rdpartyapi/ExampleApps/Shared/TelephonyISVExamples.cpp	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,75 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+#include "TelephonyISVExamples.h"
+#include "CMainMenu.h"
+
+/**
+Real main function.
+*/
+void MainL(CConsoleBase& aConsole)
+	{
+	CMainMenu* menu = CMainMenu::NewLC(aConsole);
+	menu->Start();
+	
+	// Start the active scheduler
+	CActiveScheduler::Start();
+	CleanupStack::PopAndDestroy(menu);
+	}
+
+/**
+Console harness.
+*/
+void ConsoleMainL()
+	{
+	// Get a console
+	CConsoleBase* aConsole = Console::NewL(_L("Telephony ISV API Example"),
+	                                       TSize(KConsFullScreen,
+	                                       KConsFullScreen));
+	CleanupStack::PushL(aConsole);
+	CActiveScheduler* sched = new(ELeave) CActiveScheduler();
+	
+	// Push the active scheduler object onto the cleanup stack.
+	CleanupStack::PushL(sched);
+	
+	// Install active scheduler
+	CActiveScheduler::Install(sched);
+
+	// Call function
+	MainL(*aConsole);
+
+	aConsole->Printf(_L("[ Press any key to end ]"));
+	aConsole->Getch();
+	
+	// Finished with console
+	CleanupStack::PopAndDestroy(sched);
+	CleanupStack::PopAndDestroy(aConsole);
+	}
+
+/**
+Cleanup stack harness.
+*/
+GLDEF_C TInt E32Main()
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanupStack = CTrapCleanup::New();
+	TRAPD(error, ConsoleMainL());
+	__ASSERT_ALWAYS(!error, User::Panic(_L("Console main error\n"), error));
+	delete cleanupStack;
+	__UHEAP_MARKEND;
+	return KErrNone;
+	}
+