diff -r ccd8e69b5392 -r 496ad160a278 mmshplugins/mmshwpadapterplugin/src/muswpitem.cpp --- /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() + { + } + + + + + +