classicui_plat/sounds_api/inc/aknSoundInfo.h
author hgs
Tue, 17 Aug 2010 18:16:43 +0800
changeset 53 3c67ea82fafc
parent 45 667edd0b8678
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Provides API for sound info delivery.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef AKNSOUNDINFO_H
hgs
parents:
diff changeset
    19
#define AKNSOUNDINFO_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
// INCLUDES
hgs
parents:
diff changeset
    22
#include <e32base.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
// DATA TYPES
hgs
parents:
diff changeset
    25
enum TSoundType
hgs
parents:
diff changeset
    26
    {
hgs
parents:
diff changeset
    27
    ESoundTone = 1,
hgs
parents:
diff changeset
    28
    ESoundFile = 2,
hgs
parents:
diff changeset
    29
    ESoundSequence = 3
hgs
parents:
diff changeset
    30
    };
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    33
class RWriteStream;
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
// CLASS DECLARATION
hgs
parents:
diff changeset
    36
/**
hgs
parents:
diff changeset
    37
*  Provides structure needed for passing the sound information for applications that create own
hgs
parents:
diff changeset
    38
*  instances to Media Server.
hgs
parents:
diff changeset
    39
*
hgs
parents:
diff changeset
    40
*  @lib Avkon.lib
hgs
parents:
diff changeset
    41
*  @since S60 2.0
hgs
parents:
diff changeset
    42
*/
hgs
parents:
diff changeset
    43
NONSHARABLE_CLASS(CAknSoundInfo) : public CBase
hgs
parents:
diff changeset
    44
    {
hgs
parents:
diff changeset
    45
public:
hgs
parents:
diff changeset
    46
    /**
hgs
parents:
diff changeset
    47
    * Constructor.
hgs
parents:
diff changeset
    48
    *
hgs
parents:
diff changeset
    49
    * @return Pointer to the new instance.
hgs
parents:
diff changeset
    50
    */
hgs
parents:
diff changeset
    51
    IMPORT_C static CAknSoundInfo* NewL();
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
    /**
hgs
parents:
diff changeset
    54
    * Destructor.
hgs
parents:
diff changeset
    55
    */
hgs
parents:
diff changeset
    56
    IMPORT_C ~CAknSoundInfo();
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
public: // New functions
hgs
parents:
diff changeset
    59
    /**
hgs
parents:
diff changeset
    60
    * Not currently implemented.
hgs
parents:
diff changeset
    61
    */
hgs
parents:
diff changeset
    62
    IMPORT_C void InternalizeL(RReadStream& aStream);
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
    /**
hgs
parents:
diff changeset
    65
    * Not currently implemented.
hgs
parents:
diff changeset
    66
    */
hgs
parents:
diff changeset
    67
    IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
public: // Data
hgs
parents:
diff changeset
    70
    /** Priority of the sound. */
hgs
parents:
diff changeset
    71
    TInt16 iPriority;
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
    /** Frequency of the sound. */
hgs
parents:
diff changeset
    74
    TInt16 iFrequency;
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
    /** Preference of the sound. */
hgs
parents:
diff changeset
    77
    TInt iPreference;
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
    /** Sound file, used with ESoundFile type only. */
hgs
parents:
diff changeset
    80
    HBufC* iFile;
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
    /** Duration of the sound. */
hgs
parents:
diff changeset
    83
    TInt iDuration;
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
    /** Sequence of the sound, used with ESoundSequence type only. */
hgs
parents:
diff changeset
    86
    HBufC8* iSequence;
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
    /** Default volume of the sound. */
hgs
parents:
diff changeset
    89
    TUint8 iVolume;
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
    /** Sound type. */
hgs
parents:
diff changeset
    92
    TSoundType iType;
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
private:
hgs
parents:
diff changeset
    95
    /**
hgs
parents:
diff changeset
    96
    * Default Constructor
hgs
parents:
diff changeset
    97
    */
hgs
parents:
diff changeset
    98
    CAknSoundInfo();
hgs
parents:
diff changeset
    99
    };
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
#endif // AKNSOUNDINFO_H
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
// End of file