S60 3rd Edition SDK for Symbian OS
Example Applications Guide

SIPExSIPEstablishedState.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : SIPExSIPEstablishedState.h
00004 *  Part of     : SIPExSIPEngine
00005 *  Interface   : 
00006 *  Description : 
00007 *  Version     : 
00008 *
00009 *  Copyright (c) 2004-2006 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation.
00013 * ==============================================================================
00014 */
00015 
00016 #ifndef _SIPEXSIPESTABLISHEDSTATE_H_
00017 #define _SIPEXSIPESTABLISHEDSTATE_H_
00018 
00019 
00020 //  INCLUDES
00021 #include "SIPExSIPStateBase.h"
00022 
00023 // FORWARD DECLARATIONS
00024 class CSIPExSIPEngine;
00025 
00026 
00027 // CLASS DECLARATION
00028 /**
00029 * Reacts to events that are possible in 
00030 * "Established" state.
00031 */
00032 class CSIPExSIPEstablishedState: public CSIPExSIPStateBase
00033         {
00034         public:// Constructors and destructor
00035         /**
00036         * Two-phased constructor.
00037         */
00038                 IMPORT_C static CSIPExSIPEstablishedState* NewL();
00039 
00040                 /**
00041                 * Destructor
00042                 */
00043                 IMPORT_C virtual ~CSIPExSIPEstablishedState();
00044 
00045         public://new functions
00046                 /**
00047                 * Links the states
00048                 * @param aTerminatingState BYE sent, waiting for response.
00049                 * @param aTerminatedState SIP Session has been ended.
00050                 */
00051                 void LinkStates(
00052                         CSIPExSIPStateBase& aTerminatingState,
00053                         CSIPExSIPStateBase& aTerminatedState );
00054 
00055         public://functions from base class
00056 
00057                 /**
00058                 * EndSessionL
00059                 * Send BYE in an established session.
00060                 * @param aEngine Reference to Engine object.
00061                 */
00062                 void EndSessionL( CSIPExSIPEngine& aEngine );
00063 
00064 
00065                 /**
00066                 * ByeReceivedL
00067                 * BYE has been received.
00068                 * @param aEngine Reference to Engine object.
00069                 * @param aTransaction Contains response elements.
00070                 */
00071                 void ByeReceivedL( CSIPExSIPEngine& aEngine,
00072                                                    CSIPServerTransaction& aTransaction );
00073 
00074                 /**
00075                 * ResponseReceivedL
00076                 * A SIP response has been received from the network.
00077                 * @param aEngine Reference to Engine object.
00078                 * @param aTransaction Contains response elements.
00079                 */
00080                 void ResponseReceivedL( CSIPExSIPEngine& aEngine,
00081                                                                 CSIPClientTransaction& aTransaction );
00082 
00083 
00084                 /**
00085                 * AckReceivedL
00086                 * ACK has been received.
00087                 * @param aEngine Reference to Engine object.
00088                 * @param aTransaction Contains response elements.
00089                 */
00090                 void AckReceivedL(
00091                                                    CSIPExSIPEngine& aEngine,
00092                                                    CSIPServerTransaction& aTransaction );
00093 
00094         private:
00095             /**
00096                 * C++ default constructor.
00097                 */
00098                 CSIPExSIPEstablishedState();
00099 
00100         private://data members
00101                 CSIPExSIPStateBase* iTerminatingState;
00102                 CSIPExSIPStateBase* iTerminatedState;
00103         };
00104 
00105 #endif // _SIPEXSIPESTABLISHEDSTATE_H_
00106 

© Nokia 2006

Back to top