uiaccelerator_plat/alf_visual_api/inc/alf/alfcompositionutility.h
changeset 19 f5bac0badc7e
parent 0 15bf7259bb7c
child 21 6ce30188c5bf
--- a/uiaccelerator_plat/alf_visual_api/inc/alf/alfcompositionutility.h	Fri Apr 16 15:56:24 2010 +0300
+++ b/uiaccelerator_plat/alf_visual_api/inc/alf/alfcompositionutility.h	Mon May 03 13:22:43 2010 +0300
@@ -295,4 +295,40 @@
     CAlfCompositionSourceData* iData;
     };
 
+NONSHARABLE_CLASS(CAlfEffectObserver): public CBase
+    {
+public:
+    
+    class MAlfEffectObserver
+        {
+        public:    
+        /** bit field */    
+        enum{
+            EAlfEffectStarted = 0x1,
+            EAlfEffectComplete = 0x2
+            };    
+        virtual void HandleEffectCallback(TInt aType, TInt aHandle, TInt aStatus) = 0;
+        };
+    
+    IMPORT_C static CAlfEffectObserver* NewL();
+    IMPORT_C ~CAlfEffectObserver();
+
+     /**
+     * Asks the number of active effects
+     * @return error code or number of active effects (>= 0).
+     */    
+    IMPORT_C TInt ActiveEffectsCount();
+
+     /**
+     * Subscribe callback for a handle
+     * @leave system wide error code
+     */    
+    IMPORT_C void SubscribeCallbackL(MAlfEffectObserver* aObserver, TInt aHandle, TInt aType = MAlfEffectObserver::EAlfEffectComplete );
+    
+private:
+    CAlfEffectObserver();
+    class CAlfEffectObserverData;
+    CAlfEffectObserverData* iData;
+    };
+
 #endif // #define __ALFCOMPOSITIONUTILITY_H__