--- 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;
- }
-