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