106 // CVpnSipObserver::RunL |
106 // CVpnSipObserver::RunL |
107 // --------------------------------------------------------------------------- |
107 // --------------------------------------------------------------------------- |
108 // |
108 // |
109 void CVpnSipObserver::RunL() |
109 void CVpnSipObserver::RunL() |
110 { |
110 { |
|
111 LOG_1( "CVpnSipObserver::RunL iStatus = %d", iStatus.Int()); |
111 if ( iStatus == KErrNone ) |
112 if ( iStatus == KErrNone ) |
112 { |
113 { |
113 TInt val = 0; |
114 TInt val = 0; |
114 // SIP Profile Server notified completion of SIP deregistration. |
115 // SIP Profile Server notified completion of SIP deregistration. |
115 TInt err = iSIPProperty.Get( KPSVpnSipUid, KVpnSipState, val ); |
116 TInt err = iSIPProperty.Get( KPSVpnSipUid, KVpnSipState, val ); |
116 |
117 if ( err == KErrNone && val == ESipDeregisterCompleted ) |
117 if ( err == KErrNone ) |
|
118 { |
118 { |
119 // If SIP is deregistered, let the VPN Connection Agent to |
119 // If SIP is deregistered, let the VPN Connection Agent to |
120 // proceed VPN session start. |
120 // proceed VPN session start. |
121 if ( val == ESipDeregisterCompleted ) |
121 LOG_( "CVpnSipObserver::RunL SIP is deregistered. VPN Connection Agent continue with VPN start." ); |
122 { |
122 iAgent.ProceedServiceStart(); |
123 iAgent.ProceedServiceStart(); |
|
124 } |
|
125 } |
123 } |
126 // Keep monitoring. |
124 else |
127 Subscribe(); |
125 { |
|
126 // Keep monitoring. |
|
127 Subscribe(); |
|
128 } |
128 } |
129 } |
129 // Check if observer can be restarted. |
130 // Check if observer can be restarted. |
130 else if ( iStatus != KErrCancel |
131 else if ( iStatus != KErrCancel |
131 && iStatus != KErrServerTerminated |
132 && iStatus != KErrServerTerminated |
132 && iStatus != KErrNotSupported ) |
133 && iStatus != KErrNotSupported ) |