epoc32/include/mw/mproengtones.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  Profile tones interface.
    15 *
    16 */
    17 
    18 
    19 
    20 #ifndef MPROENGTONES_H
    21 #define MPROENGTONES_H
    22 
    23 // INCLUDES
    24 #include <e32std.h>
    25 
    26 // FORWARD DECLARATIONS
    27 class MProEngTonesExt;
    28 
    29 // CLASS DECLARATION
    30 
    31 /**
    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.
    35 *
    36 *  @lib ProfileEngine.lib
    37 *  @since 3.1
    38 */
    39 class MProEngTones
    40     {
    41     protected:  // Destructor
    42 
    43         virtual ~MProEngTones() {};
    44 
    45     public:
    46 
    47         /**
    48         * Returns line 1 ringing tone file name.
    49         * @since 3.1
    50         * @return Returns line 1 ringing tone file name.
    51         */
    52         virtual const TDesC& RingingTone1() const = 0;
    53 
    54         /**
    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.
    57         * @since 3.1
    58         * @return Returns line 2 ringing tone file name.
    59         */
    60         virtual const TDesC& RingingTone2() const = 0;
    61 
    62         /**
    63         * Returns message alert tone file name.
    64         * @since 3.1
    65         * @return Returns message alert tone file name.
    66         */
    67         virtual const TDesC& MessageAlertTone() const = 0;
    68 
    69         /**
    70         * Returns Email alert tone file name.
    71         * @since 3.1
    72         * @return Returns Email alert tone file name.
    73         */
    74         virtual const TDesC& EmailAlertTone() const = 0;
    75 
    76         /**
    77         * Returns Video call ringing tone file name.
    78         * @since 3.1
    79         * @return Returns Video call ringing tone file name.
    80         */
    81         virtual const TDesC& VideoCallRingingTone() const = 0;
    82 
    83         /**
    84         * Set line 1 ringing tone.
    85         * @since 3.1
    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.
    90         */
    91         virtual TInt SetRingingTone1L( const TDesC& aRingingTone ) = 0;
    92 
    93         /**
    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.
    98         * @since 3.1
    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.
   103         */
   104         virtual TInt SetRingingTone2L( const TDesC& aRingingTone ) = 0;
   105 
   106         /**
   107         * Set message alert tone.
   108         * @since 3.1
   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.
   113         */
   114         virtual TInt SetMessageAlertToneL(
   115             const TDesC& aMessageAlertTone ) = 0;
   116 
   117         /**
   118         * Set Email alert tone file name.
   119         * @since 3.1
   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.
   124         */
   125         virtual TInt SetEmailAlertToneL(
   126             const TDesC& aEmailAlertTone ) = 0;
   127 
   128         /**
   129         * Set Video call ringing tone file name.
   130         * @since 3.1
   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.
   135         */
   136         virtual TInt SetVideoCallRingingToneL(
   137             const TDesC& aRingingTone ) = 0;
   138 
   139     private: // Extension interface
   140 
   141         /**
   142         * This member is internal and not intended for use.
   143         */
   144         virtual MProEngTonesExt* Extension() { return NULL; }
   145 
   146     };
   147 
   148 #endif      // MPROENGTONES_H
   149 
   150 // End of File
   151