|
S60 3rd Edition SDK for Symbian OS Example Applications Guide |
#include <SIPExSIPServerOfferingState.h>
Inheritance diagram for CSIPExSIPServerOfferingState:

Public Member Functions | |
| virtual IMPORT_C | ~CSIPExSIPServerOfferingState () |
| void | LinkStates (CSIPExSIPStateBase &aServerEstablishingState, CSIPExSIPStateBase &aTerminatedState) |
| void | ByeReceivedL (CSIPExSIPEngine &aEngine, CSIPServerTransaction &aTransaction) |
| void | CancelReceivedL (CSIPExSIPEngine &aEngine, CSIPClientTransaction &aTransaction) |
| void | AcceptInviteL (CSIPExSIPEngine &aEngine) |
| void | DeclineInviteL (CSIPExSIPEngine &aEngine) |
Static Public Member Functions | |
| static IMPORT_C CSIPExSIPServerOfferingState * | NewL () |
Private Member Functions | |
| CSIPExSIPServerOfferingState () | |
Private Attributes | |
| CSIPExSIPStateBase * | iServerEstablishingState |
| CSIPExSIPStateBase * | iTerminatedState |
Definition at line 30 of file SIPExSIPServerOfferingState.h.
|
|
Destructor Definition at line 39 of file SIPExSIPServerOfferingState.cpp.
|
|
|
C++ default constructor. Definition at line 30 of file SIPExSIPServerOfferingState.cpp.
|
|
|
Two-phased constructor. Definition at line 48 of file SIPExSIPServerOfferingState.cpp. References CSIPExSIPServerOfferingState(). 00049 { 00050 CSIPExSIPServerOfferingState* self = 00051 new (ELeave) CSIPExSIPServerOfferingState(); 00052 return self; 00053 }
|
|
||||||||||||
|
Links the states
Definition at line 60 of file SIPExSIPServerOfferingState.cpp. References iServerEstablishingState, and iTerminatedState. 00063 { 00064 iServerEstablishingState = &aServerEstablishingState; 00065 iTerminatedState = &aTerminatedState; 00066 }
|
|
||||||||||||
|
ByeReceivedL BYE has been received.
Reimplemented from CSIPExSIPStateBase. Definition at line 72 of file SIPExSIPServerOfferingState.cpp. References iTerminatedState, CSIPExSIPEngine::Observer(), MSIPExSIPEngineObserver::SessionEnded(), and CSIPExSIPEngine::SetCurrentState(). 00075 { 00076 // Create and send response 00077 CSIPResponseElements* elem = 00078 CSIPResponseElements::NewLC( 00079 200, SIPStrings::StringF( SipStrConsts::EPhraseOk ) ); 00080 aTransaction.SendResponseL( elem ); 00081 CleanupStack::Pop( elem ); 00082 00083 // Inform observer 00084 aEngine.Observer()->SessionEnded(); 00085 00086 // Set state 00087 aEngine.SetCurrentState( iTerminatedState ); 00088 }
|
|
||||||||||||
|
CancelReceivedL CANCEL has been received.
Reimplemented from CSIPExSIPStateBase. Definition at line 94 of file SIPExSIPServerOfferingState.cpp. References iTerminatedState, CSIPExSIPEngine::Observer(), MSIPExSIPEngineObserver::SessionEnded(), and CSIPExSIPEngine::SetCurrentState(). 00097 { 00098 aEngine.Observer()->SessionEnded(); 00099 aEngine.SetCurrentState( iTerminatedState ); 00100 }
|
|
|
AcceptInviteL Send 200 (OK) as response to an INVITE received from peer.
Reimplemented from CSIPExSIPStateBase. Definition at line 106 of file SIPExSIPServerOfferingState.cpp. References iServerEstablishingState, CSIPExSIPEngine::Observer(), CSIPExSIPEngine::SdpBodyL(), CSIPExSIPEngine::SdpDocumentLC(), CSIPExSIPEngine::ServerTx(), CSIPExSIPEngine::SetCurrentState(), and MSIPExSIPEngineObserver::WriteLog(). 00107 { 00108 _LIT8( KMediaType, "application" ); 00109 _LIT8( KMediaSubType, "sdp" ); 00110 _LIT8( KLogEntry, "200 OK sent" ); 00111 00112 // Get the current transaction 00113 CSIPServerTransaction& tx = aEngine.ServerTx(); 00114 // Create the Response Elements object 00115 CSIPResponseElements* respElem = 00116 CSIPResponseElements::NewLC( 00117 200, SIPStrings::StringF( SipStrConsts::EPhraseOk ) ); 00118 00119 // Set the message body - we need to communicate our IP Address 00120 CSIPMessageElements& msgElem = respElem->MessageElements(); 00121 00122 CSdpDocument* sdpDocument = aEngine.SdpDocumentLC(); 00123 HBufC8* sdpBody = aEngine.SdpBodyL( sdpDocument ); 00124 CleanupStack::PushL( sdpBody ); 00125 00126 CSIPContentTypeHeader* ct = 00127 CSIPContentTypeHeader::NewLC( KMediaType, KMediaSubType ); 00128 msgElem.SetContentL( sdpBody, ct ); 00129 00130 // Use the transaction to send 200 (OK) 00131 tx.SendResponseL( respElem ); 00132 00133 CleanupStack::Pop( ct ); 00134 CleanupStack::Pop( sdpBody ); 00135 CleanupStack::PopAndDestroy( sdpDocument ); 00136 CleanupStack::Pop( respElem ); 00137 00138 aEngine.SetCurrentState( iServerEstablishingState ); 00139 aEngine.Observer()->WriteLog( KLogEntry ); 00140 }
|
|
|
DeclineInviteL Send 486 (Busy Here) as response to an INVITE received from peer.
Reimplemented from CSIPExSIPStateBase. Definition at line 148 of file SIPExSIPServerOfferingState.cpp. References iTerminatedState, CSIPExSIPEngine::Observer(), CSIPExSIPEngine::ServerTx(), MSIPExSIPEngineObserver::SessionEnded(), and CSIPExSIPEngine::SetCurrentState(). 00149 { 00150 // Get the current transaction 00151 CSIPServerTransaction& tx = aEngine.ServerTx(); 00152 // Create the Response Elements object 00153 CSIPResponseElements* elem = 00154 CSIPResponseElements::NewLC( 486, 00155 SIPStrings::StringF( SipStrConsts::EPhraseBusyHere ) ); 00156 00157 // Use the transaction to send 486 (Busy Here) 00158 tx.SendResponseL( elem ); 00159 00160 CleanupStack::Pop( elem ); 00161 aEngine.Observer()->SessionEnded(); 00162 aEngine.SetCurrentState( iTerminatedState ); 00163 }
|
|
© Nokia 2006 |