widgets/widgetapp/inc/cpspublisher.h
branchRCL_3
changeset 36 c711bdda59f4
parent 10 a359256acfc6
child 48 79859ed3eea9
--- a/widgets/widgetapp/inc/cpspublisher.h	Mon Mar 15 12:44:50 2010 +0200
+++ b/widgets/widgetapp/inc/cpspublisher.h	Wed Mar 31 23:16:40 2010 +0300
@@ -28,6 +28,7 @@
 #define CPSPUBLISHER_H
 
 #include <e32base.h>
+#include <e32hashtab.h>
 #include <liwcommon.h>
 
 class CFbsBitmap;
@@ -68,9 +69,13 @@
     
     public:
         TSize BitmapSize();
-        void PublishBitmapL( CFbsBitmap& aBitmap, const TDesC& aBundleName );
-        void NetworkConnectionCancelledL();
-        void NetworkConnectionAllowedL();
+        void  PublishBitmapL( CFbsBitmap& aBitmap, const TDesC& aBundleName );
+        void  NetworkConnectionCancelledL();
+        void  NetworkConnectionAllowedL();
+        void  PublishScreenshotL(const TDesC& aWidget, TInt aWidgetId,
+                  CFbsBitmap* aBmp);
+
+       void ClearScreenshotL(const TDesC& aWidget, TInt aWidgetId);
         
     private:
         void GetBitmapSizeL();
@@ -81,12 +86,25 @@
         void ExecuteCommandL(CLiwDefaultMap* aInFilter, CLiwDefaultMap* aOutDataMap,
                 const TDesC16& aRegistry  );
         void ExecuteRegistrationCommandL( TUint aOption );
+        void StoreBitmapL(TInt aWidgetId, CFbsBitmap* aBmp);
+        void RemoveBitmapL(TInt aWidgetId);
+        void PublishScreenshotToCpsL(const TDesC& aWidget,
+        TInt aWidgetId, TInt aBitmap);
+        void RemoveScreenshotFromCpsL(const TDesC& aWidget);
+        
     private:
     
     CFbsBitmap* iMaskBitmap;
     MLiwInterface* iCpsInterface;
     CLiwServiceHandler* iServiceHandler;
     TSize iSize;
+    /**
+     * Hash table storing the screenshots.
+     * Key: window group id for the screenshot
+     * (the one received in ApplicationChange)
+     * Value: CFbsBitmap*, pointers owned
+     */    
+    RHashMap<TInt, CFbsBitmap*> iScreenshots;
 
     };