mmshplugins/mmshwpadapterplugin/src/muswpitem.cpp
changeset 22 496ad160a278
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmshplugins/mmshwpadapterplugin/src/muswpitem.cpp	Fri Jun 11 13:36:18 2010 +0300
@@ -0,0 +1,272 @@
+/*
+* Copyright (c) 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:  project specification
+*
+*/
+
+
+
+// USER
+#include "muswpitem.h"
+#include "mussettings.h"
+#include "muslogger.h"
+
+_LIT( KMusWpCapabilityQueryParallel, "1" ); // (from w9017.txt)
+_LIT( KMusWpCapabilityQuerySequential, "2" ); // (from w9017.txt)
+
+_LIT( KMusWpActivationConditionAlways, "1" ); // (from w9017.txt)
+_LIT( KMusWpActivationConditionInHome, "2" ); // (from w9017.txt)
+_LIT( KMusWpActivationConditionNever, "3" ); // (from w9017.txt)
+
+// -----------------------------------------------------------------------------
+// Symbian two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CMusWpItem* CMusWpItem::NewL()
+    {
+    MUS_LOG( "mus: [MUSWP]  ->  CMusWpItem::NewL" )
+    CMusWpItem* self = new( ELeave ) CMusWpItem;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    MUS_LOG( "mus: [MUSWP]  <- CMusWpItem::NewL" )
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CMusWpItem::~CMusWpItem()
+    {
+    MUS_LOG( "mus: [MUSWP]  -> CMusWpItem::~CMusWpItem" )
+ 
+    delete iProviderId;
+    delete iName;
+    delete iToAppRef;
+ 
+    MUS_LOG( "mus: [MUSWP]  <- CMusWpItem::~CMusWpItem" )
+    }
+    
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+const TDesC& CMusWpItem::ProviderId() const
+    {
+    if ( iProviderId )
+        {
+        return *iProviderId;
+        }
+    
+    return KNullDesC;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetProviderIdL( const TDesC& aProviderId )
+    {
+    HBufC* newProviderId = aProviderId.AllocL();
+    delete iProviderId;
+    iProviderId = newProviderId;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+const TDesC& CMusWpItem::Name() const
+    {
+    if ( iName )
+        {
+        return *iName;
+        }
+    
+    return KNullDesC;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetNameL( const TDesC& aName)
+    {
+    HBufC* newName = aName.AllocL();
+    delete iName;
+    iName = newName;
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+const TDesC& CMusWpItem::ToAppRef() const
+    {
+    if ( iToAppRef )
+        {
+        return *iToAppRef;
+        }
+    
+    return KNullDesC;
+    }
+    
+    
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetToAppRefL( const TDesC& aToAppRef )
+    {
+    HBufC* newToAppRef = aToAppRef.AllocL();
+    delete iToAppRef;
+    iToAppRef = newToAppRef;
+    }
+   
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetEdgeDtmSupport( TBool aEdgeDtmSupport )
+    {
+    if ( aEdgeDtmSupport )
+        {
+        iEdgeDtmSupport = MusSettingsKeys::EDtmModeAllowed;
+        }
+    else
+        {
+        iEdgeDtmSupport = MusSettingsKeys::EDtmModeNotAllowed;
+        }
+    }
+  
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetForceInternetSignaling( TBool aInternetSignaling )
+    {
+    if ( aInternetSignaling )
+        {
+        iForceInternetSignaling = MusSettingsKeys::EForceInternetSignaling;
+        }
+    else
+        {
+        iForceInternetSignaling = MusSettingsKeys::EFollowProfileConfiguration;
+        }
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetCapabilityQuery( const TDesC& aValue )
+    {
+    if ( aValue == KMusWpCapabilityQueryParallel() )
+        {    
+        iCapabilityQuery = MusSettingsKeys::EParallel;   
+        }
+    else if ( aValue == KMusWpCapabilityQuerySequential() )
+        {
+        iCapabilityQuery = MusSettingsKeys::ESequential;
+        }
+    else
+        {
+        // To keep PC-Lint happy
+        }
+    }
+    
+        
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SetActivationCondition( const TDesC& aValue )
+    {
+    if ( aValue == KMusWpActivationConditionAlways() )
+        {
+        iActivationCondition = MusSettingsKeys::EAlwaysActive;
+        }
+    else if ( aValue == KMusWpActivationConditionInHome() )
+        {
+        iActivationCondition = MusSettingsKeys::EActiveInHomeNetworks;
+        }
+    else if ( aValue == KMusWpActivationConditionNever )
+        {
+        iActivationCondition = MusSettingsKeys::ENever;
+        }
+    else
+        {
+        // To keep PC-Lint happy
+        }
+    }
+            
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::SaveL()
+    {
+    MUS_LOG( "mus: [MUSWP]  -> CMusWpItem::SaveL" )
+    
+    // Uncomment next line to enable provisioning of EDGE / DTM setting
+    // MultimediaSharingSettings::SetEdgeDtmSupportSettingL( iEdgeDtmSupport );
+    MultimediaSharingSettings::SetForceInternetSignalingSettingL( 
+                                                    iForceInternetSignaling );
+    MultimediaSharingSettings::SetCapabilityQuerySettingL( iCapabilityQuery );
+    MultimediaSharingSettings::SetActivationSettingL( iActivationCondition );
+    
+    MUS_LOG( "mus: [MUSWP]  <- CMusWpItem::SaveL" )
+    }
+
+
+// -----------------------------------------------------------------------------
+// C++ default constructor
+// Default setting for activation is temporarily changed to EAlways
+// -----------------------------------------------------------------------------
+//
+CMusWpItem::CMusWpItem() 
+    :iEdgeDtmSupport( MusSettingsKeys::EDtmModeNotAllowed ),
+     iForceInternetSignaling( MusSettingsKeys::EFollowProfileConfiguration ),
+     iCapabilityQuery( MusSettingsKeys::ENoOptions ),
+     //iActivationCondition( MusSettingsKeys::EActiveInHomeNetworks )
+     iActivationCondition( MusSettingsKeys::EAlwaysActive )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// Symbian 2nd phase constructor
+// -----------------------------------------------------------------------------
+//
+void CMusWpItem::ConstructL()
+    {
+    }
+
+
+
+
+
+