summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/symbian_ua
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/symbian_ua')
-rw-r--r--pjsip-apps/src/symbian_ua/main_symbian.cpp47
-rw-r--r--pjsip-apps/src/symbian_ua/ua.cpp3
2 files changed, 49 insertions, 1 deletions
diff --git a/pjsip-apps/src/symbian_ua/main_symbian.cpp b/pjsip-apps/src/symbian_ua/main_symbian.cpp
index a90ea167..640fb2d4 100644
--- a/pjsip-apps/src/symbian_ua/main_symbian.cpp
+++ b/pjsip-apps/src/symbian_ua/main_symbian.cpp
@@ -132,9 +132,54 @@ LOCAL_C void DoStartL()
}
+////////////////////////////////////////////////////////////////////////////
+
+class TMyTrapHandler : public TTrapHandler
+{
+public:
+ void Install();
+ void Uninstall();
+ virtual IMPORT_C void Trap();
+ virtual IMPORT_C void UnTrap();
+ virtual IMPORT_C void Leave(TInt aValue);
+
+private:
+ TTrapHandler *prev_;
+};
+
+void TMyTrapHandler::Install() {
+ prev_ = User::SetTrapHandler(this);
+}
+
+void TMyTrapHandler::Uninstall() {
+ User::SetTrapHandler(prev_);
+}
+
+IMPORT_C void TMyTrapHandler::Trap()
+{
+ prev_->Trap();
+}
+
+IMPORT_C void TMyTrapHandler::UnTrap()
+{
+ prev_->UnTrap();
+}
+
+IMPORT_C void TMyTrapHandler::Leave(TInt aValue)
+{
+ prev_->Leave(aValue);
+}
+
+
+////////////////////////////////////////////////////////////////////////////
+
// Global Functions
GLDEF_C TInt E32Main()
{
+ TMyTrapHandler th;
+
+ th.Install();
+
// Create cleanup stack
//__UHEAP_MARK;
CTrapCleanup* cleanup = CTrapCleanup::New();
@@ -152,6 +197,8 @@ GLDEF_C TInt E32Main()
delete console;
delete cleanup;
//__UHEAP_MARKEND;
+
+ th.Uninstall();
return KErrNone;
}
diff --git a/pjsip-apps/src/symbian_ua/ua.cpp b/pjsip-apps/src/symbian_ua/ua.cpp
index 8044226d..cc224563 100644
--- a/pjsip-apps/src/symbian_ua/ua.cpp
+++ b/pjsip-apps/src/symbian_ua/ua.cpp
@@ -301,7 +301,7 @@ int ua_main()
pj_status_t status;
// Initialize pjsua
- status = app_startup(NULL);
+ status = app_startup("sip:192.168.0.66:5061");
if (status != PJ_SUCCESS)
return status;
@@ -311,6 +311,7 @@ int ua_main()
ConsoleUI *con = new ConsoleUI(asw, console);
con->Run();
+
asw->Start();
delete con;