--- a/tsrc/musenginestub/src/mussipprofilehandler.cpp Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,448 +0,0 @@
-/*
-* Copyright (c) 2005-2006 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: Utilities to get and set profile used with SWIS.
-* Part of : Mus For S60 v3.2
-* Description : Utilities to get and set profile used with SWIS.
-* Version : %version: 1 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-// USER
-#include "mussipprofilehandler.h"
-#include "musuid.hrh"
-#include "muslogger.h"
-#include "mussipprofileuser.h"
-
-// SYSTEM
-#include <sip.h>
-#include <sipservertransaction.h>
-#include <sipinvitedialogassoc.h>
-#include <sipprofile.h>
-#include <sipprofileregistry.h>
-#include <sipprofilealrcontroller.h>
-#include <uri8.h>
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusSipProfileHandler* CMusSipProfileHandler::NewL( MMusSipProfileUser& aUser )
- {
- CMusSipProfileHandler* self =
- new (ELeave) CMusSipProfileHandler( aUser );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self);
- return self;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusSipProfileHandler::CMusSipProfileHandler( MMusSipProfileUser& aUser )
- : iUser( aUser )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ConstructL()
- {
- MUS_LOG( "mus: [ENGINE] -> CMusSipProfileHandler::ConstructL()" )
-
- // Use NULL Uid since we do not want to receive any requests.
- // All requests should be handled by MCE.
- iSip = CSIP::NewL( TUid::Null(), *this );
- iProfileRegistry = CSIPProfileRegistry::NewL( *iSip, *this );
- iProfileAlrController =
- CSipProfileAlrController::NewL( *iProfileRegistry , *this );
-
- MUS_LOG( "mus: [ENGINE] <- CMusSipProfileHandler::ConstructL()" )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusSipProfileHandler::~CMusSipProfileHandler()
- {
- delete iProfileAlrController;
- delete iSipProfile;
- delete iProfileRegistry;
- delete iSip;
- MUS_LOG( "mus: [ENGINE] CMusSipProfileHandler::~CMusSipProfileHandler()" )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::CreateProfileL( TUint32 aSipProfileId )
- {
- CSIPProfile* profile( NULL );
- if ( aSipProfileId != 0 )
- {
- profile = iProfileRegistry->ProfileL( aSipProfileId );
- }
- else
- {
- profile = iProfileRegistry->DefaultProfileL();
- }
-
- delete iSipProfile;
- iSipProfile = profile;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSIPProfile* CMusSipProfileHandler::Profile()
- {
- return iSipProfile;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CUri8* CMusSipProfileHandler::UserFromProfileLC()
- {
- MUS_LOG( "mus: [ENGINE] -> CMusSipProfileHandler::UserFromProfileLC()" );
-
- __ASSERT_ALWAYS( iSipProfile != NULL, User::Leave( KErrNotReady ) );
-
- const MDesC8Array* aors = NULL;
- User::LeaveIfError( iSipProfile->GetParameter( KSIPRegisteredAors, aors ) );
- __ASSERT_ALWAYS( aors && aors->MdcaCount() > 0,
- User::Leave( KErrArgument ) );
-
- TUriParser8 parser;
- User::LeaveIfError( parser.Parse( aors->MdcaPoint( 0 ) ) );
- MUS_LOG( "mus: [ENGINE] <- CMusSipProfileHandler::UserFromProfileLC()" )
-
- return CUri8::NewLC( parser );
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::RefreshIapAvailabilities()
- {
- TRAP_IGNORE( iProfileAlrController->RefreshIapAvailabilityL( ProfileId() ) )
- }
-
-
-// -----------------------------------------------------------------------------
-// This function should never be called before creating a profile, but such
-// a situation will be considered as pending registration.
-// -----------------------------------------------------------------------------
-//
-TBool CMusSipProfileHandler::IsRegistered()
- {
- MUS_LOG( "mus: [ENGINE] -> CMusSipProfileHandler::IsRegistered()" )
-
- TBool profileRegistered = EFalse;
- if ( iSipProfile )
- {
- iSipProfile->GetParameter( KSIPProfileRegistered, profileRegistered );
- }
-
- MUS_LOG1( "mus: [ENGINE] <- CMusSipProfileHandler::IsRegistered( %d )",
- profileRegistered )
-
- return profileRegistered;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ProfileRegistryEventOccurred(
- TUint32 aProfileId,
- MSIPProfileRegistryObserver::TEvent aEvent )
- {
- if ( iSipProfile && aProfileId == ProfileId() )
- {
- switch ( aEvent )
- {
- case MSIPProfileRegistryObserver::EProfileRegistered:
- {
- iUser.ProfileRegistered();
- break;
- }
- default:
- {
- break;
- }
- }
- }
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ProfileRegistryErrorOccurred(
- TUint32 /*aProfileId*/,
- TInt /*aError*/)
- {
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingRequest(
- TUint32 /*aIapId*/,
- CSIPServerTransaction* aTransaction )
- {
- // Ownership transferred, should not ever be called by SIP though
- delete aTransaction;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::TimedOut(
- CSIPServerTransaction& /*aTransaction*/ )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingRequest(
- CSIPServerTransaction* aTransaction )
- {
- // Ownership transferred, should not ever be called by SIP though
- delete aTransaction;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingRequest(
- CSIPServerTransaction* aTransaction,
- CSIPDialog& /*aDialog*/)
- {
- // Ownership transferred, should not ever be called by SIP though
- delete aTransaction;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingResponse(
- CSIPClientTransaction& /*aTransaction*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingResponse(
- CSIPClientTransaction& /*aTransaction*/,
- CSIPDialogAssocBase& /*aDialogAssoc*/)
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingResponse(
- CSIPClientTransaction& /*aTransaction*/,
- CSIPInviteDialogAssoc* aDialogAssoc)
- {
- // Ownership transferred, should not ever be called by SIP though
- delete aDialogAssoc;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::IncomingResponse(
- CSIPClientTransaction& /*aTransaction*/,
- CSIPRegistrationBinding& /*aRegistration*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ErrorOccured(
- TInt /*aError*/,
- CSIPTransactionBase& /*aTransaction*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ErrorOccured(
- TInt /*aError*/,
- CSIPClientTransaction& /*aTransaction*/,
- CSIPRegistrationBinding& /*aRegistration*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ErrorOccured(
- TInt /*aError*/,
- CSIPTransactionBase& /*aTransaction*/,
- CSIPDialogAssocBase& /*aDialogAssoc*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ErrorOccured(
- TInt /*aError*/,
- CSIPRefresh& /*aSIPRefresh*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ErrorOccured(
- TInt /*aError*/,
- CSIPRegistrationBinding& /*aRegistration*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ErrorOccured(
- TInt /*aError*/,
- CSIPDialogAssocBase& /*aDialogAssoc*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::InviteCompleted(
- CSIPClientTransaction& /*aTransaction*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::InviteCanceled(
- CSIPServerTransaction& /*aTransaction*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::ConnectionStateChanged(
- CSIPConnection::TState /*aState*/ )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CMusSipProfileHandler::AlrEvent
-// From MSipProfileAlrObserver
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::AlrEvent(
- MSipProfileAlrObserver::TEvent aEvent,
- TUint32 aProfileId,
- TUint32 /*aSnapId*/,
- TUint32 aIapId )
- {
- if ( aEvent == MSipProfileAlrObserver::EIapAvailable )
- {
- if ( iSipProfile &&
- aProfileId == ProfileId() &&
- !iUser.IsRoamingBetweenAPsAllowed() )
- {
- // Disallow roaming only if the profile is used by MuS and
- // the MuS has an ongoing session
- TRAP_IGNORE(
- iProfileAlrController->DisallowMigrationL( aProfileId, aIapId ) )
- }
- else
- {
- // In all other cases allow roaming
- TRAP_IGNORE(
- iProfileAlrController->AllowMigrationL( aProfileId, aIapId ) )
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CMusSipProfileHandler::AlrError
-// From MSipProfileAlrObserver
-// -----------------------------------------------------------------------------
-//
-void CMusSipProfileHandler::AlrError(
- TInt /*aError*/,
- TUint32 /*aProfileId*/,
- TUint32 /*aSnapId*/,
- TUint32 /*aIapId*/ )
- {
- // Ignore ALR related errors as they should not happen
- // as migration is not allowed when
- // the instance of CMusSipProfileHandler exists
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TUint32 CMusSipProfileHandler::ProfileId() const
- {
- TUint32 sipProfileId( 0 );
- if ( iSipProfile )
- {
- iSipProfile->GetParameter( KSIPProfileId, sipProfileId );
- }
- return sipProfileId;
- }