mmfenh/enhancedmediaclient/Client/src/Components/VolumeEffect/VolumeEffectImpl.h
changeset 0 71ca22bcf22a
equal deleted inserted replaced
-1:000000000000 0:71ca22bcf22a
       
     1 /*
       
     2 * Copyright (c) 2006 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 "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Project file for EnhancedMediaClient Utility
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef VOLUMEEFFECTIMPL_H
       
    20 #define VOLUMEEFFECTIMPL_H
       
    21 
       
    22 #include <e32base.h>
       
    23 #include <VolumeControl.h>
       
    24 #include "EffectControlBase.h"
       
    25 
       
    26 
       
    27 namespace multimedia
       
    28     {
       
    29     class CVolumeEffect : public CBase,
       
    30                           public MVolumeControl,
       
    31                           public CEffectControlBase
       
    32         {
       
    33     public:
       
    34         CVolumeEffect();
       
    35         ~CVolumeEffect();
       
    36         TInt PostConstructor();
       
    37 
       
    38         // From MControl begins
       
    39         TInt AddObserver( MControlObserver& aObserver );
       
    40         TInt RemoveObserver( MControlObserver& aObserver );
       
    41         TUid Type();
       
    42         TControlType ControlType();  
       
    43         // From MControl ends
       
    44 
       
    45         // From MEffectControl begins
       
    46         TInt Apply();
       
    47         // From MEffectControl ends
       
    48         
       
    49         // From MVolumeEffect begins
       
    50         TInt GetMinVolume(TInt& aMinVolume);
       
    51         TInt GetMaxVolume(TInt& aMaxVolume);
       
    52         TInt GetDefaultVolume(TInt& aDefaultVolume);
       
    53         TInt GetVolume(TInt& aVolume);
       
    54         TInt SetVolume(TInt& aVolume);                        
       
    55         TInt SetVolumeRamp(TInt aInitialVol,TInt aFinalVol,TUint64& aDuration,TVolumeRampMode aMode); 
       
    56 
       
    57        // From MVolumeEffect ends
       
    58         
       
    59         // From CEffectControlBase begins
       
    60         void Event( TEffectControlEvent aEvent );
       
    61         // From CEffectControlBase ends
       
    62     
       
    63     private:
       
    64         TInt DoApply();        
       
    65     
       
    66     private:
       
    67         TInt iVolume;
       
    68         TInt64 iRampDuration;
       
    69         // Set when Client calls Apply
       
    70         TBool iEnabled;
       
    71         };
       
    72     } // namespace multimedia
       
    73 
       
    74 #endif // VOLUMEEFFECT_H
       
    75 
       
    76 // End of file