summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/symbian_ua/main_symbian.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/symbian_ua/main_symbian.cpp')
-rw-r--r--pjsip-apps/src/symbian_ua/main_symbian.cpp157
1 files changed, 157 insertions, 0 deletions
diff --git a/pjsip-apps/src/symbian_ua/main_symbian.cpp b/pjsip-apps/src/symbian_ua/main_symbian.cpp
new file mode 100644
index 00000000..a90ea167
--- /dev/null
+++ b/pjsip-apps/src/symbian_ua/main_symbian.cpp
@@ -0,0 +1,157 @@
+//Auto-generated file. Please do not modify.
+//#include <e32cmn.h>
+
+//#pragma data_seg(".SYMBIAN")
+//__EMULATOR_IMAGE_HEADER2 (0x1000007a,0x00000000,0x00000000,EPriorityForeground,0x00000000u,0x00000000u,0x00000000,0x00000000,0x00000000,0)
+//#pragma data_seg()
+
+#include "ua.h"
+#include <stdlib.h>
+#include <pj/errno.h>
+#include <pj/os.h>
+#include <pj/log.h>
+#include <pj/unicode.h>
+#include <stdio.h>
+
+#include <e32std.h>
+
+#include <pj/os.h>
+
+#include <e32base.h>
+#include <e32std.h>
+
+
+
+// Global Variables
+CConsoleBase* console;
+static CActiveSchedulerWait *asw;
+
+
+// Local Functions
+
+LOCAL_C void MainL()
+{
+ //
+ // add your program code here, example code below
+ //
+ int rc = ua_main();
+
+ asw->AsyncStop();
+}
+
+class MyScheduler : public CActiveScheduler
+{
+public:
+ MyScheduler()
+ {}
+
+ void Error(TInt aError) const;
+};
+
+void MyScheduler::Error(TInt aError) const
+{
+ PJ_UNUSED_ARG(aError);
+}
+
+class MyTask : public CActive
+{
+public:
+ static MyTask *NewL();
+ void Start();
+
+protected:
+ MyTask();
+ void ConstructL();
+ virtual void RunL();
+ virtual void DoCancel();
+ TInt RunError(TInt aError);
+
+private:
+ RTimer timer_;
+};
+
+MyTask::MyTask()
+: CActive(EPriorityNormal)
+{
+}
+
+void MyTask::ConstructL()
+{
+ timer_.CreateLocal();
+ CActiveScheduler::Add(this);
+}
+
+MyTask *MyTask::NewL()
+{
+ MyTask *self = new (ELeave) MyTask;
+ CleanupStack::PushL(self);
+
+ self->ConstructL();
+
+ CleanupStack::Pop(self);
+ return self;
+}
+
+void MyTask::Start()
+{
+ timer_.After(iStatus, 0);
+ SetActive();
+}
+
+void MyTask::RunL()
+{
+ MainL();
+}
+
+void MyTask::DoCancel()
+{
+}
+
+TInt MyTask::RunError(TInt aError)
+{
+ PJ_UNUSED_ARG(aError);
+ return KErrNone;
+}
+
+
+LOCAL_C void DoStartL()
+{
+ // Create active scheduler (to run active objects)
+ MyScheduler* scheduler = new (ELeave) MyScheduler;
+ CleanupStack::PushL(scheduler);
+ CActiveScheduler::Install(scheduler);
+
+ MyTask *task = MyTask::NewL();
+ task->Start();
+
+ asw = new CActiveSchedulerWait;
+ asw->Start();
+
+ delete asw;
+ CleanupStack::Pop(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;
+ //__UHEAP_MARKEND;
+ return KErrNone;
+}
+