gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngTones.h
changeset 0 8c5d936e5675
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsprofilesrv_pub/profiles_engine_wrapper_api/inc/MProEngTones.h	Thu Dec 17 08:52:52 2009 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2009 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:  Profile tones interface.
+*
+*/
+
+
+
+#ifndef MPROENGTONES_H
+#define MPROENGTONES_H
+
+// INCLUDES
+#include <e32std.h>
+
+// FORWARD DECLARATIONS
+class MProEngTonesExt;
+
+// CLASS DECLARATION
+
+/**
+*  Profile tones interface.
+*  This interface offers methods to get line 1 and 2 ringing tone,
+*  message alert tone, e-mail alert tone and video call alert tone.
+*
+*  @lib ProfileEngine.lib
+*  @since 3.1
+*/
+class MProEngTones
+    {
+    protected:  // Destructor
+
+        virtual ~MProEngTones() {};
+
+    public:
+
+        /**
+        * Returns line 1 ringing tone file name.
+        * @since 3.1
+        * @return Returns line 1 ringing tone file name.
+        */
+        virtual const TDesC& RingingTone1() const = 0;
+
+        /**
+        * Returns line 2 ringing tone file name. If alternate line service
+        * isn't supported by the network, this isn't used for anything.
+        * @since 3.1
+        * @return Returns line 2 ringing tone file name.
+        */
+        virtual const TDesC& RingingTone2() const = 0;
+
+        /**
+        * Returns message alert tone file name.
+        * @since 3.1
+        * @return Returns message alert tone file name.
+        */
+        virtual const TDesC& MessageAlertTone() const = 0;
+
+        /**
+        * Returns Email alert tone file name.
+        * @since 3.1
+        * @return Returns Email alert tone file name.
+        */
+        virtual const TDesC& EmailAlertTone() const = 0;
+
+        /**
+        * Returns Video call ringing tone file name.
+        * @since 3.1
+        * @return Returns Video call ringing tone file name.
+        */
+        virtual const TDesC& VideoCallRingingTone() const = 0;
+
+        /**
+        * Set line 1 ringing tone.
+        * @since 3.1
+        * @param aRingingTone File name of the ringing tone. If the ringing tone
+        *        should be left empty, this should be KNullDesC.
+        * @return KErrNone if succesful, KErrAccessDenied if line 1 ringing tone
+        *         setting of this profile is read-only.
+        */
+        virtual TInt SetRingingTone1L( const TDesC& aRingingTone ) = 0;
+
+        /**
+        * Set line 2 ringing tone. Note, that this tone can be set even if the
+        * network does not support the alternate line service. In this case, the
+        * value of line 2 ringing tone is still saved in Profiles data but it
+        * isn't used for anything.
+        * @since 3.1
+        * @param aRingingTone File name of the ringing tone. If the line 2
+        *        ringing tone should be left empty, this should be KNullDesC.
+        * @return KErrNone if succesful, KErrAccessDenied if line 2 ringing tone
+        *         setting of this profile is read-only.
+        */
+        virtual TInt SetRingingTone2L( const TDesC& aRingingTone ) = 0;
+
+        /**
+        * Set message alert tone.
+        * @since 3.1
+        * @param aMessageAlertTone File name of the message alert tone. If the
+        *        alert tone should be left empty, this should be KNullDesC.
+        * @return KErrNone if succesful, KErrAccessDenied if message alert tone
+        *         setting of this profile is read-only.
+        */
+        virtual TInt SetMessageAlertToneL(
+            const TDesC& aMessageAlertTone ) = 0;
+
+        /**
+        * Set Email alert tone file name.
+        * @since 3.1
+        * @param aEmailAlertTone Email alert tone. If the alert tone should be
+        *        be left empty, this should be KNullDesC.
+        * @return KErrNone if succesful, KErrAccessDenied if e-mail alert tone
+        *         setting of this profile is read-only.
+        */
+        virtual TInt SetEmailAlertToneL(
+            const TDesC& aEmailAlertTone ) = 0;
+
+        /**
+        * Set Video call ringing tone file name.
+        * @since 3.1
+        * @param aRingingTone Video call ringing tone file name. If the alert
+        *        tone should be left empty, this should be KNullDesC.
+        * @return KErrNone if succesful, KErrAccessDenied if video call ringing
+        *         tone setting of this profile is read-only.
+        */
+        virtual TInt SetVideoCallRingingToneL(
+            const TDesC& aRingingTone ) = 0;
+
+    private: // Extension interface
+
+        /**
+        * This member is internal and not intended for use.
+        */
+        virtual MProEngTonesExt* Extension() { return NULL; }
+
+    };
+
+#endif      // MPROENGTONES_H
+
+// End of File
+