uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/inc/alfserverdrawer.h
branchRCL_3
changeset 8 10534483575f
parent 0 15bf7259bb7c
child 11 46927d61fef3
--- a/uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/inc/alfserverdrawer.h	Fri Mar 12 15:47:04 2010 +0200
+++ b/uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/inc/alfserverdrawer.h	Mon Mar 15 12:43:37 2010 +0200
@@ -67,7 +67,8 @@
     // parameters are analyzed by CAlfGfxEffects
     
     void BeginFullscreen( TInt aAction, const TRect& aEffectRect, 
-						TInt aType, const TUid aUid1, const TUid aUid2, TInt aData );
+						TInt aType, const TUid aUid1, const TUid aUid2, TInt aData,
+						TSecureId aSid1, TInt aWg1, TSecureId aSid2, TInt aWg2);
     void EndFullscreen();
     void CancelFullscreen();
     void AbortFullscreen();
@@ -83,12 +84,19 @@
     */
 	
 	TUid& FromUid();
+	TSecureId& FromSid();
+	TInt FromWg();
 	TUid& ToUid();
+	TSecureId& ToSid();
+	TInt ToWg();
 	TUint& Action();
 	TInt& Flags();
 
-	void IncreaseHandle();
-	TInt CurrentHandle();
+	void IncreaseControlHandle();
+	TInt CurrentControlHandle();
+	
+	void IncreaseFullScreenHandle();
+	TInt CurrentFullScreenHandle();
 	
 	void StartEndChecker();
 	void CancelEndChecker();
@@ -130,22 +138,26 @@
     static TInt ControlTimeout( TAny* aServerDrawer );
     void HandleControlTimeout();
     
-    static TInt TransitionFinished( TAny* aServerDrawer );
-    void HandleTransitionFinished(); 
+    static TInt FullScreenTransitionFinished( TAny* aServerDrawer );
+    void HandleFullScreenTransitionFinished(); 
+
+    static TInt ControlTransitionFinished( TAny* aServerDrawer );
+    void HandleControlTransitionFinished();
     
     TBool FileExistsL( TPtrC& aResourceDir, TPtrC& aFileName );
         
 private: // data
 
 public:
-	CWsServerDrawerController* iController;
+	CWsServerDrawerController* iControlController;
+	CWsServerDrawerController* iFullScreenController;
+	    
 	CAlfWindowManager* iWindowManager;
     CPolicyHandler& iPolicyHandler;
 	TBool iInScreenModeChange;
 
-    CIdle* iIdle; //CIdle for async function calls.
-
-    TInt iCurrHandle;
+    TInt iCurrentControlHandle;
+    TInt iCurrentFullScreenHandle;
 
     TUint iAction;
     TUint iOldAction;
@@ -154,7 +166,8 @@
     TRect iControlRect; // demarcation rectangle for control effects
     TUid iFromUid;
     TUid iToUid;
-    
+    TSecureId iFromSid;
+    TSecureId iToSid;
     TInt iFromWg;
     TInt iToWg;
     TBool iWaitingForRootWgId;
@@ -173,22 +186,20 @@
     TInt iType; // parameter type for GFX parameters
     TScreenModeChangedStates iScrModeChangedState;
     CAlfFinishTimer* iFullScreenTimeout;
+    CAlfFinishTimer* iControlTimeout;
+    
     CAlfFinishTimer* iFinishFullScreen;
     
     // This variable tells if the full screen transition was finished
     // by a signal from Effect Engine (via AlfBridge)
     // or if timeout finished the transaction.
     TBool iFullScreenFinished;
-
-    // This is an array of reserverd windows
-    // We do not own these pointers, and must not delete them.
-    RPointerArray<CAlfWindow> iReservedWindows;
     
-    CPSObserver* iTransitionEndObserver;
+    CPSObserver* iFullScreenTransitionEndObserver;
+    CPSObserver* iControlTransitionEndObserver;
+    
     RProperty iProperty;
     
-    TBool iDoNotClearEffectRect;
-    
     RFs iFs;
     TBool iFullScreenFxSent;
     TBool iFullScreenEndSent;