mmshplugins/mmshaoplugin/src/musaoplugin.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmshplugins/mmshaoplugin/src/musaoplugin.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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:  Main plugin class
-*
-*/
-
-
-#include "musresourceproperties.h"
-#include "mussesseioninformationapi.h"
-#include "mussettingskeys.h"
-#include "mussessionproperties.h"
-#include "mussettings.inl"
-#include "musaoplugin.h"
-#include "mustsypropertymonitor.h"
-// Enable the below line if Kodiak Ptt has to be monitered
-// #include "muspttcallmonitor.h"
-#include "muspropertymonitor.h"
-#include "mustsypropertymonitor.h"
-#include "muslogger.h"
-
-#include <AlwaysOnlineManagerCommon.h>
-#include <AlwaysOnlineManagerClient.h>
-#include <mmtsy_names.h>
-#include <featmgr.h>
-
-using namespace NMusSessionInformationApi;
-
-// -----------------------------------------------------------------------------
-// Symbian two-phase constructor.
-// -----------------------------------------------------------------------------
-//
-CMusAoPlugin* CMusAoPlugin::NewL()
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::NewL" )
-    CMusAoPlugin* self = new (ELeave) CMusAoPlugin();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::NewL" )
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// C++ constructor.
-// -----------------------------------------------------------------------------
-//
-CMusAoPlugin::CMusAoPlugin() :
-    CAlwaysOnlineEComInterface()
-    {     
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian second-phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CMusAoPlugin::ConstructL()
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::ConstructL" )
-	FeatureManager::InitializeLibL();
-    TBool support = FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing );
-	FeatureManager::UnInitializeLib();
-	if ( support )
-		{
-        DefinePropertiesL();
-        User::LeaveIfError( iServer.Connect() );
-        User::LeaveIfError( iPhone.Open( iServer, KMmTsyPhoneName() ) );        
-        iTsyPropertyMonitor = CMusTsyPropertyMonitor::NewL(iPhone);    
-        iPropertyMonitor = CMusPropertyMonitor::NewL();    
-        // Enable the below line if Kodiak Ptt has to be monitered
-        // iPttCallMonitor = CMusPttCallMonitor::NewL(*iLineMonitor); 
-		}
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::ConstructL" )
-    }
-
-// -----------------------------------------------------------------------------
-// C++ destructor.
-// -----------------------------------------------------------------------------
-//
-CMusAoPlugin::~CMusAoPlugin()
-    {
-    MUS_LOG( "-> CMusAoPlugin::~CMusAoPlugin" )
-    // should never come here, because service should always be on
-    delete iPropertyMonitor;
-    delete iTsyPropertyMonitor;
-    // Enable the below line if Kodiak Ptt has to be monitered
-    // delete iPttCallMonitor;
-    DeleteProperties();
-    iPhone.Close();
-    iServer.Close();
-    MUS_LOG( "<- CMusAoPlugin::~CMusAoPlugin" )
-    }
-
-
-// -----------------------------------------------------------------------------
-// CMusAoPlugin::DefineResourcePropertiesL()
-// Note : Ignore Define Errors . Because if define fails for sure Set
-//        will fail too . But there are some cases in Define Error should
-//        be ignored like KErrAlreadyExists , KErrPersmissionDenied.So It
-//        could be better if we dont care Define Error but care about Set Err.
-// -----------------------------------------------------------------------------
-//
-void CMusAoPlugin::DefinePropertiesL()
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::DefineResourceProperties" )
-    // define resource properties
-    // they need to be defined here to make them exist always
-	// Read from cenrep key about the availability of camera and keypad
-	// if the availability is dynamic then define a key else no.
-	MusSettingsKeys::TAvailability camera = MusSettingsKeys::EAvailabilityStatic;
-	MusSettingsKeys::TAvailability keypad = MusSettingsKeys::EAvailabilityStatic ;
-    MultimediaSharingSettings::ResourceAvailability(camera,keypad);         
-    if( camera == MusSettingsKeys::EAvailabilityDynamic )
-    	{
-        DefinePropertyL(NMusResourceApi::KCameraAvailability,
-                        RProperty::EInt,( TInt ) NMusResourceApi::ENotAvailable);
-    	}	
-	if( keypad == MusSettingsKeys::EAvailabilityDynamic )
-		{		
-        DefinePropertyL(NMusResourceApi::KKeypadAvailability,
-                        RProperty::EInt,( TInt ) NMusResourceApi::ENotAvailable);      	
-		}    		    
-    DefinePropertyL(NMusResourceApi::KCameraInformation,
-                    RProperty::EInt,( TInt ) NMusResourceApi::EUsePrimaryCamera);   
-    DefinePropertyL(NMusSessionInformationApi::KMusCallEvent,
-                    RProperty::EInt,( TInt ) NMusSessionInformationApi::ENoCall); 
-    DefinePropertyL(NMusSessionInformationApi::KMusCallCount,RProperty::EInt,0); 
-    _LIT(KEmptyTelNumber,"");
-    DefinePropertyL(NMusSessionInformationApi::KMusTelNumber,
-                    RProperty::EText,KEmptyTelNumber); 
-    DefinePropertyL(NMusSessionInformationApi::KMUSForbidden,
-                 RProperty::EInt,( TInt ) NMusSessionInformationApi::EMUSAllowed); 
-    DefinePropertyL(NMusSessionInformationApi::KMusCallDirection,
-                RProperty::EInt,( TInt ) NMusSessionInformationApi::ENoDirection);  
-    DefinePropertyL(NMusSessionInformationApi::KMUSPrivacy,
-                RProperty::EInt,( TInt ) NMusSessionInformationApi::EPrivacyOff);  
-    DefinePropertyL(KMusClirSetting,
-                RProperty::EInt,( TInt ) ESendOwnNumber);  
-                              
- 
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::DefineResourceProperties" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAoPlugin::DefineProperty()
-// -----------------------------------------------------------------------------
-//
-void CMusAoPlugin::DefinePropertyL(TInt aKey,RProperty::TType aType,TInt aVal)
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::DefinePropertyL( intValue )" )
-    
-    TInt error = RProperty::Define( NMusResourceApi::KCategoryUid,
-                                     aKey,
-                                     aType );
-    MUS_LOG2( "mus: [MUSAO]     Key=%d defining tried, return=%d", aKey, error )
-    
-    if ( error == KErrNone )
-        {
-        error = RProperty::Set( NMusResourceApi::KCategoryUid, aKey, aVal );
-        MUS_LOG2( "mus: [MUSAO]     RProperty value %d set, return = %d",
-                  aVal, error )
-        User::LeaveIfError( error );
-        }
-    else
-        {
-        MUS_LOG( "mus: [MUSAO]     Defining failed, do not set value" )
-        }
-    
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::DefinePropertyL( intValue )" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAoPlugin::DefineProperty()
-// -----------------------------------------------------------------------------
-//
-void CMusAoPlugin::DefinePropertyL( TInt aKey,
-                                    RProperty::TType aType,
-                                    const TDesC& aVal )
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::DefinePropertyL( DesCValue )" )
-    
-    TInt error = RProperty::Define( NMusResourceApi::KCategoryUid,
-                                     aKey,
-                                     aType );
-    MUS_LOG2( "mus: [MUSAO]     Key=%d defining tried, return=%d", aKey, error )  
-    
-    if ( error == KErrNone )
-        {
-        error = RProperty::Set( NMusResourceApi::KCategoryUid, aKey, aVal);
-        MUS_LOG_TDESC( "mus: [MUSAO]     Tried to set RProperty value: ", aVal )
-        MUS_LOG1("mus: [MUSAO]     return value = %d",error )
-        User::LeaveIfError( error );         
-        }
-    else
-        {
-        MUS_LOG( "mus: [MUSAO]     Defining failed, do not set value" )
-        }
-    
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::DefinePropertyL( DesCValue )" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAoPlugin::DeleteResourceProperties()
-// Note : There is no need of caring the return value in deleting
-//        This will be called when AO Plugin destroyed which is rare to happen
-//        Any unwanted deletion of AO Plugin should leave some PS Keys open.
-//        But this is OK if we ignore KErrAlreadyExists while defining next time.
-// -----------------------------------------------------------------------------
-//
-void CMusAoPlugin::DeleteProperties()
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::DeleteResourcePropertiesL" )
-    // Delete resource properties
-    // they need to be defined here to make them exist always
-    DeleteProperty(NMusResourceApi::KCameraAvailability);
-    DeleteProperty(NMusResourceApi::KKeypadAvailability);    
-    DeleteProperty(NMusResourceApi::KCameraInformation);
-    DeleteProperty(NMusSessionInformationApi::KMusCallEvent);
-    DeleteProperty(NMusSessionInformationApi::KMusCallCount);
-    DeleteProperty(NMusSessionInformationApi::KMusTelNumber);
-    DeleteProperty(NMusSessionInformationApi::KMUSForbidden);
-    DeleteProperty(NMusSessionInformationApi::KMusCallDirection);
-    DeleteProperty(NMusSessionInformationApi::KMUSPrivacy);
-    DeleteProperty(KMusClirSetting);
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::DeleteResourcePropertiesL" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAoPlugin::DeleteProperty()
-// -----------------------------------------------------------------------------
-//
-void CMusAoPlugin::DeleteProperty(TInt aKey)
-    {
-    TInt retVal = RProperty::Delete( NMusResourceApi::KCategoryUid,aKey); 
-    MUS_LOG2( "mus: [MUSAO]     RProperty::Delete Type=%d return=%d",\
-                                                           aKey, retVal )                           
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAoPlugin::HandleServerCommandL
-// CallBack from base class.
-// -----------------------------------------------------------------------------
-//
-TAny* CMusAoPlugin::HandleServerCommandL( TInt /*aCommand*/,
-                                                      TDesC8* /*aParameters*/  )
-    {
-    MUS_LOG( "mus: [MUSAO]  -> CMusAoPlugin::HandleServerCommandL" )
-    MUS_LOG( "mus: [MUSAO]  <- CMusAoPlugin::HandleServerCommandL: KErrNone" )
-    return &iError;;
-    }
-
-
-// End of file