#include <e32base.h>
#include <e32cons.h>

LOCAL_C void initL(void);

_LIT(txtTitle, "Title");
_LIT(txtErr, "Error %d!");
_LIT(txtOK, "Hooray, World!\n");
_LIT(txtPressKey, "[key]");

GLDEF_C TInt E32Main(void)
{
	__UHEAP_MARK;
	CTrapCleanup *cleanup = CTrapCleanup::New();

	TRAPD(err, initL());

	__ASSERT_ALWAYS(!err, User::Panic(txtTitle, err));
	
	delete cleanup;
	__UHEAP_MARKEND;
	
	return 0;
}

LOCAL_C void initL(void)
{
	CConsoleBase *console = Console::NewL(txtTitle, TSize(KConsFullScreen, KConsFullScreen));

	CleanupStack::PushL(console);
	
	console->Printf(txtOK);
	console->Printf(txtPressKey);
	console->Getch();
	
	CleanupStack::PopAndDestroy();
}
