summaryrefslogtreecommitdiff
path: root/pjlib/src/pj/os_core_symbian.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pjlib/src/pj/os_core_symbian.cpp')
-rw-r--r--pjlib/src/pj/os_core_symbian.cpp31
1 files changed, 22 insertions, 9 deletions
diff --git a/pjlib/src/pj/os_core_symbian.cpp b/pjlib/src/pj/os_core_symbian.cpp
index 5fbf3d47..983ce88a 100644
--- a/pjlib/src/pj/os_core_symbian.cpp
+++ b/pjlib/src/pj/os_core_symbian.cpp
@@ -151,7 +151,8 @@ TInt CPjTimeoutTimer::RunError(TInt aError)
//
PjSymbianOS::PjSymbianOS()
-: isSocketServInitialized_(false), isResolverInitialized_(false),
+: isConnectionUp_(false),
+ isSocketServInitialized_(false), isResolverInitialized_(false),
console_(NULL), selectTimeoutTimer_(NULL),
appSocketServ_(NULL), appConnection_(NULL), appHostResolver_(NULL),
appHostResolver6_(NULL)
@@ -229,6 +230,8 @@ TInt PjSymbianOS::Initialize()
isResolverInitialized_ = true;
}
+ isConnectionUp_ = true;
+
return KErrNone;
on_error:
@@ -239,6 +242,8 @@ on_error:
// Shutdown
void PjSymbianOS::Shutdown()
{
+ isConnectionUp_ = false;
+
if (isResolverInitialized_) {
hostResolver_.Close();
#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6!=0
@@ -252,15 +257,16 @@ void PjSymbianOS::Shutdown()
isSocketServInitialized_ = false;
}
- if (console_) {
- delete console_;
- console_ = NULL;
- }
+ delete console_;
+ console_ = NULL;
- if (selectTimeoutTimer_) {
- delete selectTimeoutTimer_;
- selectTimeoutTimer_ = NULL;
- }
+ delete selectTimeoutTimer_;
+ selectTimeoutTimer_ = NULL;
+
+ appSocketServ_ = NULL;
+ appConnection_ = NULL;
+ appHostResolver_ = NULL;
+ appHostResolver6_ = NULL;
}
// Convert to Unicode
@@ -306,6 +312,13 @@ PJ_DEF(pj_status_t) pj_symbianos_set_params(pj_symbianos_params *prm)
}
+/* Set connection status */
+PJ_DEF(void) pj_symbianos_set_connection_status(pj_bool_t up)
+{
+ PjSymbianOS::Instance()->SetConnectionStatus(up != 0);
+}
+
+
/*
* pj_init(void).
* Init PJLIB!