diff options
Diffstat (limited to 'pjlib/src/pj/os_core_symbian.cpp')
-rw-r--r-- | pjlib/src/pj/os_core_symbian.cpp | 31 |
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! |