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 tone settings interface. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef MPROENGTONESETTINGS_H williamr@2: #define MPROENGTONESETTINGS_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@4: #include williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class MProEngToneSettingsExt; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Profile tone settings interface. williamr@2: * This interface offers methods to set and get the following settings: ringing williamr@2: * type, keypad volume, ringing volume, vibrating alert, warning and game tones williamr@2: * and text-to-speech. williamr@2: * williamr@2: * @lib ProfileEngine.lib williamr@2: * @since 3.1 williamr@2: */ williamr@2: class MProEngToneSettings williamr@2: { williamr@2: protected: // Destructor williamr@2: williamr@2: virtual ~MProEngToneSettings() {}; williamr@2: williamr@2: public: williamr@2: williamr@2: /** williamr@2: * Returns the ringing type. williamr@2: * @since 3.1 williamr@2: * @return Returns the ringing type. williamr@2: */ williamr@2: virtual TProfileRingingType RingingType() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns the keypad volume. williamr@2: * @since 3.1 williamr@2: * @return Returns the keypad volume. williamr@2: */ williamr@2: virtual TProfileKeypadVolume KeypadVolume() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns the ringing volume. williamr@2: * @since 3.1 williamr@2: * @return Returns the ringing volume. williamr@2: */ williamr@2: virtual TProfileRingingVolume RingingVolume() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns the state of vibrating alert setting. williamr@2: * @since 3.1 williamr@2: * @return Returns the state of vibrating alert setting. williamr@2: */ williamr@2: virtual TBool VibratingAlert() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns the state of warning and game tones setting. williamr@2: * @since 3.1 williamr@2: * @return Returns the state of warning and game tones setting. williamr@2: */ williamr@2: virtual TBool WarningAndGameTones() const = 0; williamr@2: williamr@2: /** williamr@2: * Returns the state of text-to-speech setting. williamr@2: * @since 3.1 williamr@2: * @return Returns the state of text-to-speech setting. williamr@2: */ williamr@2: virtual TBool TextToSpeech() const = 0; williamr@2: williamr@2: /** williamr@2: * Sets the ringing type. williamr@2: * @since 3.1 williamr@2: * @param aRingingType The new value for ringing type. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if ringing type williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetRingingType( TProfileRingingType aRingingType ) = 0; williamr@2: williamr@2: /** williamr@2: * Sets the keypad volume. williamr@2: * @since 3.1 williamr@2: * @param aKeypadVolume The new value for keypad tones volume. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if keypad tones williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetKeypadVolume( TProfileKeypadVolume aKeypadVolume ) = 0; williamr@2: williamr@2: /** williamr@2: * Sets the ringing volume. williamr@2: * @since 3.1 williamr@2: * @param aRingingVolume The new value for ringing volume. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if ringing volume williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetRingingVolume( williamr@2: TProfileRingingVolume aRingingVolume ) = 0; williamr@2: williamr@2: /** williamr@2: * Sets the state of vibrating alert setting. williamr@2: * @since 3.1 williamr@2: * @param aVibratingAlert The new state for the vibrating alert setting. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if vibrating alert williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetVibratingAlert( TBool aVibratingAlert ) = 0; williamr@2: williamr@2: /** williamr@2: * Sets the state of warning and game tones setting. williamr@2: * @since 3.1 williamr@2: * @param aWarningAndGameTones The new state for Warning and Game tones williamr@2: * setting. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if warning and game williamr@2: * tones setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetWarningAndGameTones( TBool aWarningAndGameTones ) = 0; williamr@2: williamr@2: /** williamr@2: * Sets the state of text-to-speech setting. williamr@2: * @since 3.1 williamr@2: * @param aTextToSpeech The new state for text-to-speech setting. williamr@2: * @return KErrNone if succesful, KErrAccessDenied if text-to-speech williamr@2: * setting of this profile is read-only. williamr@2: */ williamr@2: virtual TInt SetTextToSpeech( TBool aTextToSpeech ) = 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 MProEngToneSettingsExt* Extension() { return NULL; } williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // MPROENGTONESETTINGS_H williamr@2: williamr@2: // End of File williamr@2: williamr@2: