diff -r b7fa36b488f8 -r cd54903d48da profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStruct.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/profilesapplication/Profiles/ProfileApp/SettingsViewSrc/CProfileStruct.h Wed Sep 01 12:30:29 2010 +0100 @@ -0,0 +1,172 @@ +/* +* Copyright (c) 2002 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: Data structure class for profile settings. +* +*/ + + + +#ifndef CPROFILESTRUCT_H +#define CPROFILESTRUCT_H + +// INCLUDES +#include "ProfileEng.hrh" +#include "ProfileInternal.hrh" +#include + +// CONSTANTS +const TInt KProfileMinVolumeLevel( 1 ); +const TInt KProfileMaxVolumeLevel( 10 ); +const TInt KProfileMaxProfileNameLength( PROFILES_MAX_NAME_LENGTH ); + +// FORWARD DECLARATIONS +class MProfileExtended; + +// CLASS DECLARATION +/** +* Data structure class for profile settings. +* Holds settings for one profile. +* +* @lib ProfileSettingsView.lib +* @since 1.2 +*/ +NONSHARABLE_CLASS( CProfileStruct ) : public CBase + { + public: // Constructors and destructor + + /** + * Creates and returns a new instance of this class. + * @return Pointer to the CProfileStruct object + */ + static CProfileStruct* NewL( ); + + /** + * Destructor. + */ + virtual ~CProfileStruct(); + + private: // Constructors + /** + * C++ default constructor. + */ + CProfileStruct(); + + /** + * Second phase constructor + */ + void ConstructL(); + + public: // New functions + + /** + * Loads settings from Profile Engine via MProfileExtended interface to member data. + * @param aProfile Pointer to Profile Engine interface. + */ + void LoadL( MProfileExtended* aProfile ); + + /** + * Stores member data to Profile Engine via MProfileExtended interface. + * @param aProfile Pointer to Profile Engine interface. + */ + void StoreL( MProfileExtended* aProfile ); + + /** + * Returns ETrue if member data is the same as in aProfile. + * @param aProfile Profile to compare member data with. + * @return Returns ETrue if member data is the same as in aProfile. + */ + TBool CompareL( MProfileExtended* aProfile ) const; + + /** + * Compares if any ringing/alarm tone setting has changed and + * removes it from the automated content list using DRM Helper. + * @param aProfile Profile to compare member data with. + */ + void RemoveAutomatedContentL( MProfileExtended* aProfile ) const; + + public: // Data + + // ID of the profile + TInt iProfileId; + + // Filename of ringing tone or line 1 ringing tone + TFileName* iRingingTone; + + // Filename of line 2 ringing tone + TFileName* iRingingToneLine2; + + // Filename of video call tone + TFileName* iVideoCallTone; + + // Ringing type + TInt iRingingType; + + // Ringing volume (between KProfileMinVolumeLevel and KProfileMaxVolumeLevel) + TInt iRingingVolume; + + // Media volume (between KProfileMinVolumeLevel and KProfileMaxVolumeLevel) + TInt iMediaVolume; + + // Message alert tone + TFileName* iMessageAlertTone; + + // E-mail alert tone + TFileName* iEmailAlertTone; + + // Vibrating alert setting + TBool iVibratingAlert; + + // Email Vibrating alert setting + TBool iEmailVibratingAlert; + // Keypad volume level + TInt iKeypadVolume; + + // Warning and game tones setting + TBool iWarningAndGameTones; + + // Alert for setting + RArray iContactList; + + // Profile name + TBuf iProfileName; + + // Profile name for title pane + TBuf iTitleName; + + // TTS Ringingtone setting + TBool iTextToSpeech; + + // Filename of PTT ringing tone + TFileName* iPTTRingingTone; + + // PTT Status + TInt iPTTStatus; + + // Tactile feedback + TInt iTactileFeedback; + + // Audio feedback + TInt iAudioFeedback; + + // 3D effect + TInt i3DEffect; + + // 3D echo + TInt i3DEcho; + + }; + +#endif // CPROFILESTRUCT_H + +// End of File