2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Profile tone settings interface.
20 #ifndef MPROENGTONESETTINGS_H
21 #define MPROENGTONESETTINGS_H
25 #include <Profile.hrh>
27 // FORWARD DECLARATIONS
28 class MProEngToneSettingsExt;
33 * Profile tone settings interface.
34 * This interface offers methods to set and get the following settings: ringing
35 * type, keypad volume, ringing volume, vibrating alert, warning and game tones
38 * @lib ProfileEngine.lib
41 class MProEngToneSettings
43 protected: // Destructor
45 virtual ~MProEngToneSettings() {};
50 * Returns the ringing type.
52 * @return Returns the ringing type.
54 virtual TProfileRingingType RingingType() const = 0;
57 * Returns the keypad volume.
59 * @return Returns the keypad volume.
61 virtual TProfileKeypadVolume KeypadVolume() const = 0;
64 * Returns the ringing volume.
66 * @return Returns the ringing volume.
68 virtual TProfileRingingVolume RingingVolume() const = 0;
71 * Returns the state of vibrating alert setting.
73 * @return Returns the state of vibrating alert setting.
75 virtual TBool VibratingAlert() const = 0;
78 * Returns the state of warning and game tones setting.
80 * @return Returns the state of warning and game tones setting.
82 virtual TBool WarningAndGameTones() const = 0;
85 * Returns the state of text-to-speech setting.
87 * @return Returns the state of text-to-speech setting.
89 virtual TBool TextToSpeech() const = 0;
92 * Sets the ringing type.
94 * @param aRingingType The new value for ringing type.
95 * @return KErrNone if succesful, KErrAccessDenied if ringing type
96 * setting of this profile is read-only.
98 virtual TInt SetRingingType( TProfileRingingType aRingingType ) = 0;
101 * Sets the keypad volume.
103 * @param aKeypadVolume The new value for keypad tones volume.
104 * @return KErrNone if succesful, KErrAccessDenied if keypad tones
105 * setting of this profile is read-only.
107 virtual TInt SetKeypadVolume( TProfileKeypadVolume aKeypadVolume ) = 0;
110 * Sets the ringing volume.
112 * @param aRingingVolume The new value for ringing volume.
113 * @return KErrNone if succesful, KErrAccessDenied if ringing volume
114 * setting of this profile is read-only.
116 virtual TInt SetRingingVolume(
117 TProfileRingingVolume aRingingVolume ) = 0;
120 * Sets the state of vibrating alert setting.
122 * @param aVibratingAlert The new state for the vibrating alert setting.
123 * @return KErrNone if succesful, KErrAccessDenied if vibrating alert
124 * setting of this profile is read-only.
126 virtual TInt SetVibratingAlert( TBool aVibratingAlert ) = 0;
129 * Sets the state of warning and game tones setting.
131 * @param aWarningAndGameTones The new state for Warning and Game tones
133 * @return KErrNone if succesful, KErrAccessDenied if warning and game
134 * tones setting of this profile is read-only.
136 virtual TInt SetWarningAndGameTones( TBool aWarningAndGameTones ) = 0;
139 * Sets the state of text-to-speech setting.
141 * @param aTextToSpeech The new state for text-to-speech setting.
142 * @return KErrNone if succesful, KErrAccessDenied if text-to-speech
143 * setting of this profile is read-only.
145 virtual TInt SetTextToSpeech( TBool aTextToSpeech ) = 0;
147 private: // Extension interface
150 * This member is internal and not intended for use.
152 virtual MProEngToneSettingsExt* Extension() { return NULL; }
156 #endif // MPROENGTONESETTINGS_H