audioeffectbase.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : AudioEffectBase.h
00004 *  Part of     : Audio Effects Framework
00005 *  Description : This is the definition of the audio effects base class.
00006 *
00007 *  Version     : 0.2
00008 *
00009 *  Copyright © 2004 Nokia Corporation.
00010 *  This material, including documentation and any related
00011 *  computer programs, is protected by copyright controlled by
00012 *  Nokia Corporation. All rights are reserved. Copying,
00013 *  including reproducing, storing, adapting or translating, any
00014 *  or all of this material requires the prior written consent of
00015 *  Nokia Corporation. This material also contains confidential
00016 *  information which may not be disclosed to others without the
00017 *  prior written consent of Nokia Corporation.
00018 * ==============================================================================
00019 */
00020 
00021 #ifndef CAUDIOEFFECT_H
00022 #define CAUDIOEFFECT_H
00023 
00024 // INCLUDES
00025 #include <e32base.h>
00026 
00027 // FORWARD DECLARATION
00028 class MAudioEffectObserver;
00029 
00030 // CLASS DECLARATION
00031 
00039 class CAudioEffect : public CBase
00040         {
00041 
00042         public: // Constructors and destructor
00043 
00047                 IMPORT_C virtual ~CAudioEffect();
00048 
00049     public: // New functions
00050 
00055                 virtual void ApplyL() = 0;
00056 
00061                 IMPORT_C virtual void DisableL();
00062 
00067                 IMPORT_C virtual void EnableL();
00068 
00074                 IMPORT_C virtual void EnforceL( TBool aEnforced );
00075 
00086                 IMPORT_C virtual TBool HaveUpdateRights() const;
00087 
00093                 IMPORT_C virtual TBool IsEnabled() const;
00094 
00100                 IMPORT_C virtual TBool IsEnforced() const;
00101 
00108                 IMPORT_C void RegisterObserverL( MAudioEffectObserver& aObserver );
00109 
00110                 /*
00111         * Get the unique identifier of the audio effect
00112         * 
00113         * @return Unique identifier of the audio effect object.
00114         */
00115                 virtual TUid Uid() const = 0 ;
00116 
00122                 IMPORT_C void UnRegisterObserver( MAudioEffectObserver& aObserver );
00123 
00124         protected:
00125 
00132                 IMPORT_C CAudioEffect();
00133 
00139                 virtual const TDesC8& DoEffectData() = 0 ;
00140 
00146         virtual void SetEffectData( const TDesC8& aEffectDataBuffer ) = 0;
00147 
00148         protected: // Data
00149 
00150                 // Flag to indicate whether the effect is enabled or not
00151                 TBool iEnabled;
00152                 // Flag to indicate wheter the effect is enforced
00153                 TBool iEnforced;
00154                 // Flag to indicate wheter the effect current has update rights
00155                 TBool iHaveUpdateRights;
00156                 // Pointer to Observers
00157                 RPointerArray<MAudioEffectObserver> iObservers;
00158         };
00159 
00160 // of CAUDIOEFFECT_H
00161 #endif
00162 
00163 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top