S60 3rd Edition SDK for Symbian OS
Example Applications Guide

SIPExSIPServerOfferingState.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : SIPExSIPServerOfferingState.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 _SIPEXSIPSERVEROFFERINGSTATE_H_
00017 #define _SIPEXSIPSERVEROFFERINGSTATE_H_
00018 
00019 //  INCLUDES
00020 #include "SIPExSIPStateBase.h"
00021 
00022 // FORWARD DECLARATIONS
00023 class CSIPExSIPEngine;
00024 
00025 // CLASS DECLARATION
00026 /**
00027 * Reacts to events that are possible in 
00028 * "ClientOffering" state.
00029 */
00030 class CSIPExSIPServerOfferingState: public CSIPExSIPStateBase
00031         {
00032         public:// Constructors and destructor
00033         /**
00034         * Two-phased constructor.
00035         */
00036                 IMPORT_C static CSIPExSIPServerOfferingState* NewL();
00037 
00038                 /**
00039                 * Destructor
00040                 */
00041                 IMPORT_C virtual ~CSIPExSIPServerOfferingState();
00042 
00043         public://new functions
00044                 /**
00045                 * Links the states
00046                 * @param aServerEstablishingState INVITE has been received and accepted, waiting for ACK.
00047                 * @param aTerminatedState Peer has declined the invite, SIP Session is terminated.
00048                 */
00049                 void LinkStates(
00050                         CSIPExSIPStateBase& aServerEstablishingState,
00051                         CSIPExSIPStateBase& aTerminatedState );
00052 
00053         public://functions from base class
00054 
00055 
00056         /**
00057                 * ByeReceivedL
00058                 * BYE has been received.
00059                 * @param aEngine Reference to Engine object.
00060                 * @param aTransaction Contains response elements.
00061                 */
00062                 void ByeReceivedL( CSIPExSIPEngine& aEngine,
00063                                                    CSIPServerTransaction& aTransaction );
00064                                                    
00065                 /**
00066                 * CancelReceivedL
00067                 * CANCEL has been received.
00068                 * @param aEngine Reference to Engine object.
00069                 * @param aTransaction Contains response elements.
00070                 */
00071                 void CancelReceivedL( CSIPExSIPEngine& aEngine,
00072                                                           CSIPClientTransaction& aTransaction );
00073                                                           
00074                 /**
00075                 * AcceptInviteL
00076                 * Send 200 (OK) as response to an INVITE
00077                 * received from peer.
00078                 * @param aEngine Reference to Engine object.
00079                 */
00080                 void AcceptInviteL( CSIPExSIPEngine& aEngine );
00081 
00082                 /**
00083                 * DeclineInviteL
00084                 * Send 486 (Busy Here) as response
00085                 * to an INVITE received from peer.
00086                 * @param aEngine Reference to Engine object.
00087                 */
00088                 void DeclineInviteL( CSIPExSIPEngine& aEngine );
00089 
00090 
00091         private:
00092             /**
00093                 * C++ default constructor.
00094                 */
00095                 CSIPExSIPServerOfferingState();
00096 
00097         private://data members
00098                 CSIPExSIPStateBase* iServerEstablishingState;
00099                 CSIPExSIPStateBase* iTerminatedState;
00100         };
00101 
00102 #endif // _SIPEXSIPSERVEROFFERINGSTATE_H_
00103 

© Nokia 2006

Back to top