mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshavailability/src/musavacapabilitysipagent.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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:   SIP event handling class
-*
-*/
-
-
-#include "musavacapabilitysipagent.h"
-#include <e32svr.h>
-#include <rconnmon.h>
-#include <sipdialog.h>
-#include <sipservertransaction.h>
-#include <sipclienttransaction.h>
-#include <sipdialogassocbase.h>
-#include <sipinvitedialogassoc.h>
-#include <sipregistrationbinding.h>
-#include <siprefresh.h>
-#include <sipstrings.h>
-#include <sipstrconsts.h>
-#include <sipresponseelements.h>
-
-#include "muslogger.h"
-#include "musavacapabilityexchange.h"
-#include "musavacapabilityquery.h"
-#include "musavaterminal.h"
-#include "musavasharedobject.h"
-#include "musavasip.h"
-#include "musavacapabilitycontext.h"
-#include "mmusavacapabilityqueryobserver.h"
-
-// --------------------------------------------------------------------------
-// C++ constructor
-// --------------------------------------------------------------------------
-//
-CMusAvaCapabilitySipAgent::CMusAvaCapabilitySipAgent( 
-                            CMusAvaCapabilityExchange& aCapabilityExchange,
-                            CMusAvaSharedObject& aSharedObject,
-                            MMusAvaAvailabilityObserver& aAvaObserver)
-    : iCapabilityExchange( aCapabilityExchange ),
-      iSharedObj( aSharedObject ),
-      iAvailabilityObserver( aAvaObserver )
-    {
-    }
-
-
-// --------------------------------------------------------------------------
-// Symbian two-phase constructor
-// --------------------------------------------------------------------------
-//
-CMusAvaCapabilitySipAgent* CMusAvaCapabilitySipAgent::NewL( 
-                            CMusAvaCapabilityExchange& aCapabilityExchange,
-                            CMusAvaSharedObject& aSharedObject,
-                            MMusAvaAvailabilityObserver& aAvaObserver)
-    {
-    MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::NewL" )
-    CMusAvaCapabilitySipAgent* self = 
-        new (ELeave) CMusAvaCapabilitySipAgent( aCapabilityExchange, 
-                                                aSharedObject,
-                                                aAvaObserver );
-    MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent::NewL" )
-    return self;
-    }
-
-
-// --------------------------------------------------------------------------
-// C++ destructor
-// --------------------------------------------------------------------------
-//
-CMusAvaCapabilitySipAgent::~CMusAvaCapabilitySipAgent()
-    {
-    MUS_LOG( 
-    "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::~CMusAvaCapabilitySipAgent" )
-
-    delete iSipConnection;
-    
-    MUS_LOG( 
-    "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent::~CMusAvaCapabilitySipAgent" )
-    }
-
-// --------------------------------------------------------------------------
-// CMusAvaCapabilitySipAgent::ExecuteCapabilityQueryL
-// --------------------------------------------------------------------------
-// 
-void CMusAvaCapabilitySipAgent::ExecuteCapabilityQueryL( 
-                                           CMusAvaCapability& aCapability, 
-                                           const TDesC& aSipAddress )
-    {
-    MUS_LOG( 
-    "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::ExecuteCapabilityQueryL" )
-
-    CSIPProfile* profile = iSharedObj.MusAvaSip().Profile();
-    if ( !profile )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    // Fetching connection leaves if profile is not registered for some reason,
-    // Thats what we want, forced creation of connection would activate PDP
-    // context although there's no reason to do that without registration.
-    CMusAvaCapabilityQuery* query = CMusAvaCapabilityQuery::NewL( 
-                                        aCapability,
-                                        *iSharedObj.MusAvaSip().ConnectionL( EFalse ), 
-                                        *profile, 
-                                        aSipAddress );
-    
-    CleanupStack::PushL( query );
-    
-    query->Terminal().ExecuteQueryL( query );
-    
-    CleanupStack::Pop( query );
-    
-    MUS_LOG( 
-    "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent::ExecuteCapabilityQueryL" )
-    }
-
-// --------------------------------------------------------------------------
-// From MSIPObserver, incoming SIP request outside dialog is handled here
-// already.
-// --------------------------------------------------------------------------
-//
-
-TInt CMusAvaCapabilitySipAgent::IncomingRequest( TUint32 /*aIapId*/,
-                                    CSIPServerTransaction* /*aTransaction*/ )
-    {
-    MUS_LOG( 
-        "mus: [MUSAVA]  -> CMusAvaCapabilitySipAgent::IncomingRequest()" )
-    // If this method was called, there's no connection for this IAP
-    MUS_LOG( "mus: [MUSAVA]  if this method was called,\
-    	there's no capability" )
-    MUS_LOG( 
-        "mus: [MUSAVA]  <- CMusAvaCapabilitySipAgent::IncomingRequest()" )
-    return KErrNotFound;
-    }
-
-// -------------------------------------------------------------------------
-// SIP request timed-out and has been destroyed.
-// -------------------------------------------------------------------------
-//
-TInt CMusAvaCapabilitySipAgent::TimedOut(
-                                    CSIPServerTransaction& /*aTransaction*/ )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaCapabilitySipAgent::ConstructL()" )
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaCapabilitySipAgent::ConstructL()" )
-    return KErrNotSupported;
-    }
-
-// --------------------------------------------------------------------------
-//  A SIP request outside a dialog has been received from the network.
-// --------------------------------------------------------------------------
-//
-TInt CMusAvaCapabilitySipAgent::IncomingRequest(
-                                        CSIPServerTransaction* aTransaction )
-    {
-    MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::IncomingRequest" )
-    TInt retval = KErrNone;
-    if ( aTransaction->Type() == 
-                        SIPStrings::StringF( SipStrConsts::EOptions ) )
-        {  
-        // Answer 200OK only when CS call remain at Availability States
-        if ( MMusAvaObserver::EMusAvaStatusNotExecuted <= 
-             iAvailabilityObserver.AvailabilityPluginState() )
-            {
-            retval = 
-             iCapabilityExchange.QueryObserver().CapabilityQueryAnswered() ?
-             KErrNotFound : KErrNone;
-        
-            if ( !retval )
-                {
-                MUS_LOG( "mus: [MUSAVA] Responding to OPTIONS" )
-                iCapabilityExchange.QueryReceived( aTransaction );
-                }
-            }
-        else
-            {
-            retval = KErrNotFound;
-            }
-        }
-    else        
-        {
-        MUS_LOG( "mus: [MUSAVA] Default response" )
-        TRAP_IGNORE( HandleIncomingRequestL( *aTransaction ) )
-        delete aTransaction;
-        MUS_LOG( "mus: [MUSAVA] Default response sent" )
-        }
-    MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent::IncomingRequest" )
-    return retval;
-    }
-
-// --------------------------------------------------------------------------
-// From MSIPConnectionObserver, incoming SIP request outside dialog is 
-// handled here already.
-// --------------------------------------------------------------------------
-//
-void CMusAvaCapabilitySipAgent::HandleIncomingRequestL( 
-                                        CSIPServerTransaction& aTransaction )
-    {
-    MUS_LOG( 
-    "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::HandleIncomingRequestL" )
-    RStringF phrase = 
-                SIPStrings::StringF( SipStrConsts::EPhraseNotImplemented );
-    CSIPResponseElements* response = 
-        CSIPResponseElements::NewLC( KMUSAVASIPNotImplemented, phrase );
-    aTransaction.SendResponseL( response );
-    CleanupStack::Pop( response );
-    MUS_LOG( 
-    "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent::HandleIncomingRequestL" )
-    }
-
-// --------------------------------------------------------------------------
-// CMusAvaCapabilitySipAgent::IncomingResponse
-// --------------------------------------------------------------------------
-//
-TInt CMusAvaCapabilitySipAgent::IncomingResponse( 
-                                        CSIPClientTransaction& aTransaction )
-    {
-    MUS_LOG( 
-        "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent::IncomingResponse" )
-    iCapabilityExchange.AnswerToQueryReceived( aTransaction );
-    MUS_LOG( 
-        "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent::IncomingResponse" )
-    return KErrNone;
-    }
-    
-// --------------------------------------------------------------------------
-// CMusAvaCapabilitySipAgent::ErrorOccured
-// --------------------------------------------------------------------------
-//
-TInt CMusAvaCapabilitySipAgent::ErrorOccured( TInt aError,
-                                        CSIPTransactionBase& aTransaction )
-    {
-    MUS_LOG( "mus: [MUSAVA] -> CMusAvaCapabilitySipAgent:.ErrorOccured" )
-    
-    if ( aTransaction.IsSIPClientTransaction() )
-        {
-        MUS_LOG( "mus: [MUSAVA] Canceling query" )
-        
-        iCapabilityExchange.CancelQuery( 
-                aError, 
-                static_cast<CSIPClientTransaction&>( aTransaction ) );
-        }
-    else
-        {
-        MUS_LOG( "mus: [MUSAVA] Server transaction, nothing to do" )
-        }
-        
-    MUS_LOG( "mus: [MUSAVA] <- CMusAvaCapabilitySipAgent:.ErrorOccured" )
-    return KErrNone;
-    }
-