//Auto-generated file. Please do not modify. //#include //#pragma data_seg(".SYMBIAN") //__EMULATOR_IMAGE_HEADER2 (0x1000007a,0x00000000,0x00000000,EPriorityForeground,0x00000000u,0x00000000u,0x00000000,0x00000000,0x00000000,0) //#pragma data_seg() #include "ua.h" #include #include #include #include #include #include #include #include #include #include // Global Variables CConsoleBase* console; ///////////////////////////////////// class MyTask : public CActive { public: static MyTask *NewL(CActiveSchedulerWait *asw); ~MyTask(); void Start(); protected: MyTask(CActiveSchedulerWait *asw); void ConstructL(); virtual void RunL(); virtual void DoCancel(); private: RTimer timer_; CActiveSchedulerWait *asw_; }; MyTask::MyTask(CActiveSchedulerWait *asw) : CActive(EPriorityNormal), asw_(asw) { } MyTask::~MyTask() { timer_.Close(); } void MyTask::ConstructL() { timer_.CreateLocal(); CActiveScheduler::Add(this); } MyTask *MyTask::NewL(CActiveSchedulerWait *asw) { MyTask *self = new (ELeave) MyTask(asw); CleanupStack::PushL(self); self->ConstructL(); CleanupStack::Pop(self); return self; } void MyTask::Start() { timer_.After(iStatus, 0); SetActive(); } void MyTask::RunL() { int rc = ua_main(); asw_->AsyncStop(); } void MyTask::DoCancel() { } LOCAL_C void DoStartL() { CActiveScheduler *scheduler = new (ELeave) CActiveScheduler; CleanupStack::PushL(scheduler); CActiveScheduler::Install(scheduler); CActiveSchedulerWait *asw = new CActiveSchedulerWait; CleanupStack::PushL(asw); MyTask *task = MyTask::NewL(asw); task->Start(); asw->Start(); delete task; CleanupStack::Pop(asw); delete asw; CActiveScheduler::Install(NULL); CleanupStack::Pop(scheduler); delete scheduler; } //////////////////////////////////////////////////////////////////////////// // Global Functions GLDEF_C TInt E32Main() { // Create cleanup stack __UHEAP_MARK; CTrapCleanup* cleanup = CTrapCleanup::New(); // Create output console TRAPD(createError, console = Console::NewL(_L("Console"), TSize(KConsFullScreen,KConsFullScreen))); if (createError) return createError; TRAPD(startError, DoStartL()); console->Printf(_L("[press any key to close]\n")); //console->Getch(); delete console; delete cleanup; CloseSTDLIB(); __UHEAP_MARKEND; return KErrNone; }