epoc32/include/mw/aknsoundinfo.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) 2002-2008 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:  Provides API for sound info delivery.
    15 *
    16 */
    17 
    18 #ifndef AKNSOUNDINFO_H
    19 #define AKNSOUNDINFO_H
    20 
    21 // INCLUDES
    22 #include <e32base.h>
    23 
    24 // DATA TYPES
    25 enum TSoundType
    26     {
    27     ESoundTone = 1,
    28     ESoundFile = 2,
    29     ESoundSequence = 3
    30     };
    31 
    32 // FORWARD DECLARATIONS
    33 class RWriteStream;
    34 
    35 // CLASS DECLARATION
    36 /**
    37 *  Provides structure needed for passing the sound information for applications that create own
    38 *  instances to Media Server.
    39 *
    40 *  @lib Avkon.lib
    41 *  @since S60 2.0
    42 */
    43 NONSHARABLE_CLASS(CAknSoundInfo) : public CBase
    44     {
    45 public:
    46     /**
    47     * Constructor.
    48     *
    49     * @return Pointer to the new instance.
    50     */
    51     IMPORT_C static CAknSoundInfo* NewL();
    52 
    53     /**
    54     * Destructor.
    55     */
    56     IMPORT_C ~CAknSoundInfo();
    57 
    58 public: // New functions
    59     /**
    60     * Not currently implemented.
    61     */
    62     IMPORT_C void InternalizeL(RReadStream& aStream);
    63 
    64     /**
    65     * Not currently implemented.
    66     */
    67     IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
    68 
    69 public: // Data
    70     /** Priority of the sound. */
    71     TInt16 iPriority;
    72 
    73     /** Frequency of the sound. */
    74     TInt16 iFrequency;
    75 
    76     /** Preference of the sound. */
    77     TInt iPreference;
    78 
    79     /** Sound file, used with ESoundFile type only. */
    80     HBufC* iFile;
    81 
    82     /** Duration of the sound. */
    83     TInt iDuration;
    84 
    85     /** Sequence of the sound, used with ESoundSequence type only. */
    86     HBufC8* iSequence;
    87 
    88     /** Default volume of the sound. */
    89     TUint8 iVolume;
    90 
    91     /** Sound type. */
    92     TSoundType iType;
    93 
    94 private:
    95     /**
    96     * Default Constructor
    97     */
    98     CAknSoundInfo();
    99     };
   100 
   101 #endif // AKNSOUNDINFO_H
   102 
   103 // End of file