diff -r 1f3c3f2f5b0a -r c711bdda59f4 widgets/widgetapp/inc/cpspublisher.h --- 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 +#include #include 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 iScreenshots; };