--- 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;
};