photosgallery/slideshow/view/inc/shwgesturecontrol.h
branchRCL_3
changeset 9 6b87b143d312
parent 0 4e91876724a2
child 47 f9e827349359
--- a/photosgallery/slideshow/view/inc/shwgesturecontrol.h	Tue Feb 02 10:12:14 2010 +0200
+++ b/photosgallery/slideshow/view/inc/shwgesturecontrol.h	Fri Feb 19 22:51:01 2010 +0200
@@ -16,8 +16,6 @@
 */
 
 
-
-
 #ifndef SHWGESTURECONTROL_H
 #define SHWGESTURECONTROL_H
 
@@ -60,8 +58,7 @@
 	 * @param aEnv, handle to CAlfEnv 
 	 * @param aDisplay, handle to CAlfDisplay
 	 */ 
-	 static CShwGestureControl* NewL(CAlfEnv& aEnv,CAlfDisplay& aDisplay,
-	 							MShwGestureObserver& aObserver); 
+	 static CShwGestureControl* NewL(CAlfEnv& aEnv,CAlfDisplay& aDisplay); 
          
 	/**
 	 * HandleGestureL
@@ -71,18 +68,32 @@
     void HandleGestureL( const GestureHelper::MGestureEvent& aEvent );
     
 	/**
-	 * ~~CShwGestureControl
+	 * ~CShwGestureControl
 	 * standard C++ destructor 
 	 */ 
     ~CShwGestureControl();
     
+    /**
+     * AddObserver
+     * Add an Observer 
+     * @param aObserver, Observer to be added. 
+     */ 
+    void AddObserver(MShwGestureObserver* aObserver); 
+
+    /**
+     * RemoveObserver
+     * Remove an Observer  
+     * @param aEngine, handle to the slide show engine
+     */ 
+    void RemoveObserver(MShwGestureObserver* aObserver);
+    
 private:
 
 	/**
 	 * CShwGestureControl
 	 * C++ constructor
 	 */
-	CShwGestureControl(MShwGestureObserver& aObserver);
+	CShwGestureControl();
 	
 	/**
 	 * ConstructL
@@ -92,8 +103,10 @@
 	
 private:
 
-	/* does not own **/
-	MShwGestureObserver& iObserver;
+    /** Array of observers (does not own ) */
+	// As per present design of the SS view, there is need only for one observer, 
+	// but this is more generic. Also this doesnt seem like a perfomance critical path 
+    RPointerArray<MShwGestureObserver> iObservers;
 	};