diff -r 000000000000 -r f0cf47e981f9 mmsharing/mmshavailability/src/musavasipprofileavailability.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshavailability/src/musavasipprofileavailability.cpp Thu Dec 17 08:44:37 2009 +0200 @@ -0,0 +1,187 @@ +/* +* 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: This class just checks whether videosharing sip profile exist +* +*/ + + + +#include "musavasipprofileavailability.h" +#include "musavaavailabilityobserver.h" +#include "musunittesting.h" +#include "musavaobserver.h" +#include "musavaavailability.h" +#include "musavasharedobject.h" +#include "muslogger.h" +#include "musavasip.h" +#include + + + +// -------------------------------------------------------------------------- +// Symbian two-phase constructor +// -------------------------------------------------------------------------- +// +CMusAvaSipprofileAvailability* CMusAvaSipprofileAvailability::NewL( + MMusAvaAvailabilityObserver& aObserver) + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::NewL " ) + CMusAvaSipprofileAvailability* self = + CMusAvaSipprofileAvailability::NewLC( + aObserver); + CleanupStack::Pop( self ); + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::NewL " ) + return self; + } + + +// ------------------------------------------------------------------------- +// Two-phased constructor. +// ------------------------------------------------------------------------- +// +CMusAvaSipprofileAvailability* CMusAvaSipprofileAvailability::NewLC( + MMusAvaAvailabilityObserver& aObserver) + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::NewLC " ) + CMusAvaSipprofileAvailability* self = + new (ELeave) CMusAvaSipprofileAvailability( + aObserver); + CleanupStack::PushL (self); + self->ConstructL(); + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::NewLC " ) + return self; + } + + +// --------------------------------------------------------------------------- +// Destructor. +// --------------------------------------------------------------------------- +// +CMusAvaSipprofileAvailability::~CMusAvaSipprofileAvailability() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::\ + ~CMusAvaSipprofileAvailability " ) + if( iSharedObj )iSharedObj->DeleteSingleton(); + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::\ + ~CMusAvaSipprofileAvailability " ) + + } + + +// --------------------------------------------------------------------------- +// Symbian 2nd phase constructor can leave. +// --------------------------------------------------------------------------- +// +void CMusAvaSipprofileAvailability::ConstructL() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::ConstructL " ) + iSharedObj = CMusAvaSharedObject::GetSingletonL(); + SetProfileState(); + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::ConstructL " ) + } + + +// ------------------------------------------------------------------------- +// Constructor. +// ------------------------------------------------------------------------- +// +CMusAvaSipprofileAvailability::CMusAvaSipprofileAvailability( + MMusAvaAvailabilityObserver& aObserver) + :CMusAvaAvailability( aObserver ) + { + } + + +// ------------------------------------------------------------------------- +// Executes for the master - salve pattern. +// ------------------------------------------------------------------------- +// +void CMusAvaSipprofileAvailability::DoExecuteL() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::DoExecuteL " ) + SetProfileState(); + SetState( iState ); + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::DoExecuteL " ) + } + + +// ------------------------------------------------------------------------- +// Stop the execution. +// ------------------------------------------------------------------------- +// +void CMusAvaSipprofileAvailability::Stop() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::Stop" ) + SetState( MMusAvaObserver::EMusAvaStatusNotExecuted ); + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::Stop" ) + } + + +// ------------------------------------------------------------------------- +// CMusAvaSipprofileAvailability::Name +// +// ------------------------------------------------------------------------- +// +MMusAvaObserver::TAvailabilityName CMusAvaSipprofileAvailability::Name() + { + return MMusAvaObserver::EMusAvaNameSipprofileExist; + } + +// ------------------------------------------------------------------------- +// CMusAvaSipprofileAvailability::IsProfileExist. +// ------------------------------------------------------------------------- +// +TBool CMusAvaSipprofileAvailability::IsProfileExist() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::IsProfileExist ") + TBool bExist = EFalse ; + if ( iSharedObj->MusAvaSip().CreateSipProfile() ) + { + TUint32 profileId; + TInt err = iSharedObj->MusAvaSip().SipProfileId( profileId ); + if( err == KErrNotFound ) + { + MUS_LOG( "mus: [MUSAVA] No Sip profile " ) + bExist = EFalse ; + } + else + { + MUS_LOG( "mus: [MUSAVA] Fetch profile " ) + bExist = ETrue ; + } + } + MUS_LOG1( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::IsProfileExist\ + = %d",bExist) + return bExist; + } + + +// ------------------------------------------------------------------------- +// CMusAvaSipprofileAvailability::SetProfileState +// +// ------------------------------------------------------------------------- +// +void CMusAvaSipprofileAvailability::SetProfileState() + { + MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipprofileAvailability::SetProfileState ") + if ( IsProfileExist() ) + { + iState = MMusAvaObserver::EMusAvaStatusAvailable; + } + else + { + iState = MMusAvaObserver::EMusAvaStatusNoSipProfile ; + } + MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipprofileAvailability::SetProfileState ") + }