williamr@2: /* williamr@2: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Profile tones interface. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef MPROENGTONES_H williamr@2: #define MPROENGTONES_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class MProEngTonesExt; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Profile tones interface. williamr@2: * This interface offers methods to get line 1 and 2 ringing tone, williamr@2: * message alert tone, e-mail alert tone and video call alert tone. williamr@2: * williamr@2: * @lib ProfileEngine.lib williamr@2: * @since 3.1 williamr@2: */ williamr@2: class MProEngTones williamr@2: { williamr@2: protected: // Destructor williamr@2: williamr@2: virtual ~MProEngTones() {}; williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Returns line 1 ringing tone file name. williamr@2: * @since 3.1 williamr@2: * @return Returns line 1 ringing tone file name. williamr@2: */ williamr@2: virtual const TDesC& RingingTone1() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns line 2 ringing tone file name. If alternate line service williamr@2: * isn't supported by the network, this isn't used for anything. williamr@2: * @since 3.1 williamr@2: * @return Returns line 2 ringing tone file name. williamr@2: */ williamr@2: virtual const TDesC& RingingTone2() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns message alert tone file name. williamr@2: * @since 3.1 williamr@2: * @return Returns message alert tone file name. williamr@2: */ williamr@2: virtual const TDesC& MessageAlertTone() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns Email alert tone file name. williamr@2: * @since 3.1 williamr@2: * @return Returns Email alert tone file name. williamr@2: */ williamr@2: virtual const TDesC& EmailAlertTone() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns Video call ringing tone file name. williamr@2: * @since 3.1 williamr@2: * @return Returns Video call ringing tone file name. williamr@2: */ williamr@2: virtual const TDesC& VideoCallRingingTone() const = 0; williamr@2: williamr@2: /** williamr@2: * Set line 1 ringing tone. williamr@2: * @since 3.1 williamr@2: * @param aRingingTone File name of the ringing tone. If the ringing tone williamr@2: * should be left empty, this should be KNullDesC. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if line 1 ringing tone williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetRingingTone1L( const TDesC& aRingingTone ) = 0; williamr@2: williamr@2: /** williamr@2: * Set line 2 ringing tone. Note, that this tone can be set even if the williamr@2: * network does not support the alternate line service. In this case, the williamr@2: * value of line 2 ringing tone is still saved in Profiles data but it williamr@2: * isn't used for anything. williamr@2: * @since 3.1 williamr@2: * @param aRingingTone File name of the ringing tone. If the line 2 williamr@2: * ringing tone should be left empty, this should be KNullDesC. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if line 2 ringing tone williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetRingingTone2L( const TDesC& aRingingTone ) = 0; williamr@2: williamr@2: /** williamr@2: * Set message alert tone. williamr@2: * @since 3.1 williamr@2: * @param aMessageAlertTone File name of the message alert tone. If the williamr@2: * alert tone should be left empty, this should be KNullDesC. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if message alert tone williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetMessageAlertToneL( williamr@2: const TDesC& aMessageAlertTone ) = 0; williamr@2: williamr@2: /** williamr@2: * Set Email alert tone file name. williamr@2: * @since 3.1 williamr@2: * @param aEmailAlertTone Email alert tone. If the alert tone should be williamr@2: * be left empty, this should be KNullDesC. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if e-mail alert tone williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetEmailAlertToneL( williamr@2: const TDesC& aEmailAlertTone ) = 0; williamr@2: williamr@2: /** williamr@2: * Set Video call ringing tone file name. williamr@2: * @since 3.1 williamr@2: * @param aRingingTone Video call ringing tone file name. If the alert williamr@2: * tone should be left empty, this should be KNullDesC. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if video call ringing williamr@2: * tone setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetVideoCallRingingToneL( williamr@2: const TDesC& aRingingTone ) = 0; williamr@2: williamr@2: private: // Extension interface williamr@2: williamr@2: /** williamr@2: * This member is internal and not intended for use. williamr@2: */ williamr@2: virtual MProEngTonesExt* Extension() { return NULL; } williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // MPROENGTONES_H williamr@2: williamr@2: // End of File williamr@2: