diff -r 8ee96d21d9bf -r 7e0eff37aedb profilesservices/ProfileEngine/EngSrc/CProfileImpl.cpp --- a/profilesservices/ProfileEngine/EngSrc/CProfileImpl.cpp Tue Aug 31 15:29:50 2010 +0300 +++ b/profilesservices/ProfileEngine/EngSrc/CProfileImpl.cpp Wed Sep 01 12:20:44 2010 +0100 @@ -19,28 +19,28 @@ // INCLUDE FILES #include "CProfileImpl.h" -#include "CProfileNameImpl.h" -#include "CProfileTonesImpl.h" -#include "CProfileExtraTonesImpl.h" -#include "CProfileExtraSettingsImpl.h" -#include "CProfilePresenceImpl.h" -#include "ProfileEngUtils.h" -#include "ProfileEnginePrivateCRKeys.h" #include #include +#include #include #include #include #include #include #include -#include +#include #include +#include "CProfileNameImpl.h" +#include "CProfileTonesImpl.h" +#include "CProfileExtraTonesImpl.h" +#include "CProfileExtraSettingsImpl.h" +#include "CProfilePresenceImpl.h" #include #include -#include +#include "ProfilesVariant.hrh" +#include "ProfileEngUtils.h" +#include "ProfileEnginePrivateCRKeys.h" #include -#include "CProfileVibraSettingsImpl.h" // CONSTANTS // Max. number of Alert for groups: @@ -78,7 +78,6 @@ // ProfileUtility must be released in destructor: iFeatures = &( ProfileUtilityInstanceL().ProfilesLocalFeatures() ); iProfileExtraSettings = CProfileExtraSettingsImpl::NewL(); - iProfileVibraSettings = CProfileVibraSettingsImpl::NewL(); } // ----------------------------------------------------------------------------- @@ -87,7 +86,7 @@ // ----------------------------------------------------------------------------- // void CProfileImpl::ConstructL( - const MProfileExtended2& aProfile, + const MProfileExtended& aProfile, TInt aId ) { iProfileName = CProfileNameImpl::NewLC( aId, KNullDesC ); @@ -95,7 +94,7 @@ CommonConstructL(); iProfileTones = CProfileTonesImpl::NewL( aProfile.ProfileTones() ); iProfileExtraTones = CProfileExtraTonesImpl::NewL( - aProfile.ProfileExtraTones2() ); + aProfile.ProfileExtraTones() ); iFeatures = &( ProfileUtilityInstanceL().ProfilesLocalFeatures() ); @@ -104,9 +103,6 @@ aProfile.ProfilePresence() ); iVisibleFlags = aProfile.VisibleFlags(); iModifiableFlags = aProfile.ModifiableFlags(); - - iProfileVibraSettings = CProfileVibraSettingsImpl::NewL(); - } // ----------------------------------------------------------------------------- @@ -146,7 +142,7 @@ // CProfileImpl* CProfileImpl::NewLC( RFs& aFs, - const MProfileExtended2& aProfile, + const MProfileExtended& aProfile, TInt aId ) { CProfileImpl* self = new( ELeave ) CProfileImpl( aFs ); @@ -174,8 +170,6 @@ delete iProfileTones; delete iProfileExtraTones; delete iProfilePresence; - - delete iProfileVibraSettings; } // ----------------------------------------------------------------------------- @@ -222,7 +216,39 @@ const TArray CProfileImpl::AlertForL() { TInt contactIdListCount( iAlertFor.Count() ); + if( contactIdListCount > 0 ) + { + // create CPbkContactEngine + CPbkContactEngine* contactEngine = CPbkContactEngine::NewL( &iFs ); + CleanupStack::PushL( contactEngine ); + CContactIdArray* groupIds = contactEngine->Database().GetGroupIdListL(); + if( !groupIds ) + { // There are no groups in Contacts db -> clear the alert for IDs: + iAlertFor.Reset(); + } + else + { + CleanupStack::PushL( groupIds ); + TInt err; + for( TInt i( 0 ) ; i < contactIdListCount ; ++i ) + { + err = groupIds->Find( iAlertFor[i] ); + + if( err == KErrNotFound ) + { + // remove this + iAlertFor.Remove( i ); + --contactIdListCount; + --i; + err = KErrNone; + } + User::LeaveIfError( err ); + } + CleanupStack::PopAndDestroy(); // groupIds + } + CleanupStack::PopAndDestroy(); // contactEngine + } return iAlertFor.Array(); } @@ -235,16 +261,6 @@ // TBool CProfileImpl::IsSilent() const { - //Since 10.1, firstly check maste silence mode - TInt silenceMode( 0 ); - CRepository* cenrep = CRepository::NewLC( KCRUidProfileEngine ); - cenrep->Get( KProEngSilenceMode , silenceMode ); - CleanupStack::PopAndDestroy( cenrep ); - if ( silenceMode ) - { - return ETrue; - } - TProfileRingingType ringType( iProfileTones->ToneSettings().iRingingType ); if ( ringType == EProfileRingingTypeSilent ) { @@ -499,8 +515,6 @@ iProfilePresence->InternalizeL( aCenRep, aProfileId ); iProfileExtraSettings->InternalizeL( aCenRep, aProfileId ); - - iProfileVibraSettings->InternalizeL( aCenRep, aProfileId ); } void CProfileImpl::ExternalizeL( CRepository& aCenRep ) @@ -537,8 +551,6 @@ iProfileExtraTones->ExternalizeL( aCenRep, profileId ); iProfilePresence->ExternalizeL( aCenRep, profileId ); iProfileExtraSettings->ExternalizeL( aCenRep, profileId ); - - iProfileVibraSettings->ExternalizeL( aCenRep, profileId ); } // ----------------------------------------------------------------------------- @@ -586,49 +598,4 @@ FeatureManager::UnInitializeLib(); } - -// ----------------------------------------------------------------------------- -// CProfileImpl::ProfileExtraTones2 -// -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -const MProfileExtraTones2& CProfileImpl::ProfileExtraTones2() const - { - return *iProfileExtraTones; - } - -// ----------------------------------------------------------------------------- -// CProfileImpl::ProfileSetExtraTones2 -// -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -MProfileSetExtraTones2& CProfileImpl::ProfileSetExtraTones2() - { - return *iProfileExtraTones; - } - -// ----------------------------------------------------------------------------- -// CProfileImpl::ProfileVibraSettings -// -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -const MProfileVibraSettings& CProfileImpl::ProfileVibraSettings() const - { - return *iProfileVibraSettings; - } - -// ----------------------------------------------------------------------------- -// CProfileImpl::ProfileSetVibraSettings -// -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -MProfileSetVibraSettings& CProfileImpl::ProfileSetVibraSettings() - { - return *iProfileVibraSettings; - } - // End of File