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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Profile tones interface.
20 #ifndef MPROENGTONES_H
21 #define MPROENGTONES_H
26 // FORWARD DECLARATIONS
27 class MProEngTonesExt;
32 * Profile tones interface.
33 * This interface offers methods to get line 1 and 2 ringing tone,
34 * message alert tone, e-mail alert tone and video call alert tone.
36 * @lib ProfileEngine.lib
41 protected: // Destructor
43 virtual ~MProEngTones() {};
48 * Returns line 1 ringing tone file name.
50 * @return Returns line 1 ringing tone file name.
52 virtual const TDesC& RingingTone1() const = 0;
55 * Returns line 2 ringing tone file name. If alternate line service
56 * isn't supported by the network, this isn't used for anything.
58 * @return Returns line 2 ringing tone file name.
60 virtual const TDesC& RingingTone2() const = 0;
63 * Returns message alert tone file name.
65 * @return Returns message alert tone file name.
67 virtual const TDesC& MessageAlertTone() const = 0;
70 * Returns Email alert tone file name.
72 * @return Returns Email alert tone file name.
74 virtual const TDesC& EmailAlertTone() const = 0;
77 * Returns Video call ringing tone file name.
79 * @return Returns Video call ringing tone file name.
81 virtual const TDesC& VideoCallRingingTone() const = 0;
84 * Set line 1 ringing tone.
86 * @param aRingingTone File name of the ringing tone. If the ringing tone
87 * should be left empty, this should be KNullDesC.
88 * @return KErrNone if succesful, KErrAccessDenied if line 1 ringing tone
89 * setting of this profile is read-only.
91 virtual TInt SetRingingTone1L( const TDesC& aRingingTone ) = 0;
94 * Set line 2 ringing tone. Note, that this tone can be set even if the
95 * network does not support the alternate line service. In this case, the
96 * value of line 2 ringing tone is still saved in Profiles data but it
97 * isn't used for anything.
99 * @param aRingingTone File name of the ringing tone. If the line 2
100 * ringing tone should be left empty, this should be KNullDesC.
101 * @return KErrNone if succesful, KErrAccessDenied if line 2 ringing tone
102 * setting of this profile is read-only.
104 virtual TInt SetRingingTone2L( const TDesC& aRingingTone ) = 0;
107 * Set message alert tone.
109 * @param aMessageAlertTone File name of the message alert tone. If the
110 * alert tone should be left empty, this should be KNullDesC.
111 * @return KErrNone if succesful, KErrAccessDenied if message alert tone
112 * setting of this profile is read-only.
114 virtual TInt SetMessageAlertToneL(
115 const TDesC& aMessageAlertTone ) = 0;
118 * Set Email alert tone file name.
120 * @param aEmailAlertTone Email alert tone. If the alert tone should be
121 * be left empty, this should be KNullDesC.
122 * @return KErrNone if succesful, KErrAccessDenied if e-mail alert tone
123 * setting of this profile is read-only.
125 virtual TInt SetEmailAlertToneL(
126 const TDesC& aEmailAlertTone ) = 0;
129 * Set Video call ringing tone file name.
131 * @param aRingingTone Video call ringing tone file name. If the alert
132 * tone should be left empty, this should be KNullDesC.
133 * @return KErrNone if succesful, KErrAccessDenied if video call ringing
134 * tone setting of this profile is read-only.
136 virtual TInt SetVideoCallRingingToneL(
137 const TDesC& aRingingTone ) = 0;
139 private: // Extension interface
142 * This member is internal and not intended for use.
144 virtual MProEngTonesExt* Extension() { return NULL; }
148 #endif // MPROENGTONES_H