sipvoipprovider/inc/svpmosession.h
branchRCL_3
changeset 21 f742655b05bf
parent 20 65a3ef1d5bd0
child 22 d38647835c2e
--- a/sipvoipprovider/inc/svpmosession.h	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class representing the SVP MO session
-*
-*/
-
-
-
-#ifndef SVPMOSESSION_H
-#define SVPMOSESSION_H
-
-#include <sipprofileregistryobserver.h>
-#include <sipconnectionobserver.h>
-#include <sipobserver.h>
-
-#include <sip.h>
-#include <sipprofile.h>
-#include <sipprofileregistry.h>
-
-#include <mcemanager.h>
-
-#include "svpsessionbase.h"
-#include "svpconsts.h"
-#include "svputdefs.h"
-
-
-class CRCSEProfileEntry;
-class CSVPForwardProvider;
-class CDesC8Array;
-
-/**
- *  Representation of SVP Mo session
- *
- *  Inlcudes all the methods needed to establish SVP MO session. 
- *
- *  @lib svpcontroller.lib   
- *  @since S60 3.2
- */
-class CSVPMoSession : public CSVPSessionBase, 
-                      public MSIPObserver,
-                      public MSIPProfileRegistryObserver
-    {  
-     
-public:
-    
-    /**
-    * Two-phased constructor.
-    */
-    static CSVPMoSession* NewL( 
-        CMceManager& aMceManager,
-        const TDesC8& aRecipient,
-        CRCSEProfileEntry& aVoipProfile, 
-        const CCCPCallParameters& aParameters,
-        TMceTransactionDataContainer& aContainer,                                
-		MSVPSessionObserver& aObserver,
-		CSVPUtility& aSVPUtility,
-		CSVPRtpObserver& aRtpObserver,
-		TUint32& aSecurityStatus, 
-		CDesC8Array* aUserHeaders = 0 );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CSVPMoSession();
-    
-    
-public: // methdos from MCCPCall   
-
-    /**
-    * From MCCPMoSession. Starts dialing to recipient
-    * @since Series 60 3.2
-    * @return 
-    */
-    TInt Dial();
-
-    /**
-    * From MCCPMoSession. Cancels (dial) request
-    * @since Series 60 3.2
-    * @return
-    */
-    TInt Cancel();
-    
-    /**
-    * From MCCPCall Ends an ongoing call.
-    * @since Series 60 3.2
-    * @return
-    */
-    TInt HangUp();
-    
-    /**
-    * From MCCPMoSession. Destructs session
-    * @since Series 60 3.2
-    * @return
-    */
-    TInt Release();
-    
-    /**
-	* From MCCPCall Get Forward provider
-	* @since Series 60 3.2
-	* @return Pointer to MCCPForwardProvider if succesfull, NULL if not available
-	*/
-	MCCPForwardProvider* ForwardProviderL( const MCCPForwardObserver& aObserver );
-    
-    /**
-    * Puts the specified session on hold.
-    * @since Series60 3.2
-    * @return 
-    */
-    TInt Hold();
-
-    /**
-    * Resumes held session.
-    * @since Series60 3.2
-    * @return 
-    */
-    TInt Resume();
-
-    /**
-    * Handles remote action after session is established.
-    * @since Series60 3.2
-    * @param None
-    * @return
-    */
-    TInt IncomingRequest( CMceInSession* aUpdatedSession );
-    
-    /**
-    * Returns boolean value, is the session mobile originated.
-    * @since Series60 3.2
-    * @param None
-    * @return TBool ETrue if mobile originated, otherwise EFalse
-    */
-    TBool IsMobileOriginated() const;
-    
-
-                  
-public: // methods from MSIPObserver
-
-    /**
-    * From MSIPObserver A SIP request has been received from the network. 
-    * @since  Series 60 3.0
-    * @param  aIapId The IapId from which the SIP request was received.  
-    * @param  aTransaction Contains local address, remote address of a sip
-    *         message, as well as optional SIP message method, headers and 
-    *         body. The ownership is transferred.  
-    * @return None
-    */
-     void IncomingRequest( TUint32 aIapId, 
-                           CSIPServerTransaction* aTransaction );
-
-    /**
-    * From MSIPObserver The received SIP request time-outed and it has been
-    * destroyed.  
-    * @since  Series 60 3.0
-    * @param  aSIPServerTransaction The time-outed transaction. Ownership is
-    *         not transferred. 
-    * @return None
-    */
-     void TimedOut( CSIPServerTransaction& aSIPServerTransaction );
-
-public: // methods from MSIPProfileRegistryObserver
-
-    /**
-    * From MSIPProfileRegistryObserver An asynchronous error has occurred
-    * related to SIP profile Event is send to those observers, who have the
-    * corresponding profile instantiated. 
-    * @since  Series 60 3.0
-    * @param  aSIPProfileId SIP Profile ID. 
-    * @param  aError Error code. 
-    * @return None
-    */ 
-     void ProfileRegistryErrorOccurred( TUint32 aSIPProfileId,
-                                        TInt aError );
-    
-    /**
-    * From MSIPProfileRegistryObserver An event related to SIP Profile has
-    * occurred.
-    * @since  Series 60 3.0
-    * @param  aProfileId SIP Profile ID. 
-    * @param  aEvent An occurred event.
-    * @return None
-    */ 
-    void ProfileRegistryEventOccurred( TUint32 aProfileId,
-                                        TEvent aEvent ); 
-                                        
-public: // new public methods
-    
-    /**
-    * Method for creating normal Mo session if secure sessio
-    * creation has failed
-    * @since  Series 60 3.2
-    * @param  aMceManager Mce Manager. 
-    */
-    void CreateNonSecureSessionL( CMceManager& aMceManager );  
-        
-    /**
-	* Returns pointer to array containing addresses to forward the call to.
-	* Index zero contains the first address. If there are no addresses available
-	* returns an empty array.
-	* @since Series 60 3.2
-	* @param none
-	* @return Reference to array containing addresses
-    * @leave KErrNotReady call is not in forwarding state
-    * @leave KErrNotAllowed if call is not mobile originated
-    * @leave system error code 
-    * @pre Call state is MCCPCallObserver::ECCPStateForwarding and call type is MO
-    * @pre Call MCCPForwardObserver::ECCPMultipleChoices event is received
-	*/
-	const CDesC8Array& GetForwardAddressChoicesL();
-
-	/**
-	* Forward call to address at given index.
-	* @since Series 60 3.2
-	* @param aIndex Index of address where the call is to be forwarded. Address is 
-	* found in the array received from GetForwardAddressChoicesL. Index starts from zero.
-	* @return none
-	* @leave KErrArgument Index is not in array
-    * @leave KErrNotReady Call is not in forwarding state
-    * @leave KErrNotAllowed If call is not mobile originated
-    * @pre Call state is MCCPCallObserver::ECCPStateForwarding and call type is MO
-    * @pre Call MCCPForwardObserver::ECCPMultipleChoices event is received
-	*/
-	void ForwardToAddressL( const TInt aIndex );
-	
-    /**
-    * Add an observer for forward related events.
-    * Currently CCE will set only one observer.
-    * @since S60 v3.2
-    * @param aObserver Observer
-    * @return none
-    * @leave system error if observer adding fails
-    */
-    void AddForwardObserverL( const MCCPForwardObserver& aObserver );
-
-    /**
-    * Remove an observer.
-    * @since S60 v3.2
-    * @param none
-    * @param aObserver Observer
-    * @return KErrNone if removed succesfully. 
-    * @return KErrNotFound if observer was not found.
-    */
-    TInt RemoveForwardObserver( const MCCPForwardObserver& aObserver );
-
-    /**
-    * Notify forwardobserver about forward event.
-    * @since S60 3.2
-    * @param aEventCode eventcode
-    * @return none
-    */
-    void NotifyForwardEvent( TInt aEventCode );
-
- 	/**
-	* Add forward address for this session
-	* @since S60 3.2
-	* @param aFwdAddress 
-	* @return Count of addresses, otherwise system wide error code
-    * @leave system error if address adding fails
-	*/
-    TInt AddForwardAddressL( const TDesC8& aFwdAddress );
-
- 	/**
-	* Reset address list
-	* @since S60 3.2
-	* @return None
-	*/
-    void ResetForwardAddressChoices();
-
-private: // new private methods
-
-    /**
-    * Method for completing sip uri
-    * @since Series 60 3.2
-    * @param aRecipient Recipient received from application
-    * @param aRecipient SIP profile which is making the call
-    * @param aSecurityStatus security preference 
-    * @param aUserEqualsPhoneRequired defines user=phone parameter
-    * @return HBufC8* constructed uri
-    */
-    HBufC8* CompleteUriL( const TDesC8& aRecipient, 
-                          const CSIPProfile& aSipProfile,
-                          const TUint32& aSecurityStatus,
-                          TBool aUserEqualsPhoneRequired );
-
-    /**
-    * Dial method that leave
-    * @since Series 60 3.2
-    */
-    void DialL();
-
-    
-protected:
-
-    /**
-    * C++ default constructor.
-    */
-    CSVPMoSession( TUint32 aSessionExpires, 
-                   TMceTransactionDataContainer& aContainer,
-                   MSVPSessionObserver& aObserver,
-                   CSVPUtility& aSVPUtility,
-                   CSVPRtpObserver& aRtpObserver );
-                                      
-    /**
-     * Worker function for session state change, called from
-     * SessionStateChanged().
-     * @since S60 v3.2
-     * @param aOrigStatus Original status code
-     * @param aError Mapped TCCPError
-     * @param aModStatus Modified status code
-     * @return void
-     */
-    virtual void SessionStateChangedL( TInt aOrigCode, TCCPError aError,
-        TInt aModStatus );
-
-
-private:
-
-    /**
-    * second-phase constructor
-    */
-    void ConstructL( CMceManager& aMceManager, 
-                     CRCSEProfileEntry& aVoipProfile, 
-                     const CCCPCallParameters& aParameters,
-                     const TDesC8& aRecipient,
-                     TUint32& aSecurityStatus,
-                     CDesC8Array* aUserHeaders );
-                     
-private: // data
-
-    /**
-    * Session Expires value
-    */
-    TUint32 iSessionExpires;
-          
-    /**
-    * User header array
-    */
-    CDesC8Array* iUserHeaders;
-    
-    /**
-    * Forward observer
-    * Not own.
-    */
-    MCCPForwardObserver* iForwardObserver;
-    
-    /**
-    * Forward provider
-    * Own.
-    */
-    CSVPForwardProvider* iForwardProvider;
-    
-    /**
-    * Recipient address, needed for secure preferred -secure call setting
-    */
-    TBuf8< KSVPMaxUriLength > iSecondCallRecipient;
-    
-    /**
-    * List for forward addresses
-    */
-    CDesC8Array* iForwardAddressList;
-    
-    /**
-    * Pointer to Mce manager
-    * Not own
-    */
-    CMceManager* iMceManager;
-    
-private:
-
-    // For testing
-    SVP_UT_DEFS
-    
-    };
-
-#endif // SVPMOSESSION_H