mmsharing/mmshavailability/src/musavasipprofileavailability.cpp
changeset 0 f0cf47e981f9
--- /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 <e32base.h>
+
+
+
+// --------------------------------------------------------------------------
+// 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 ")     
+    }