diff -r 10e98eab6f85 -r a359256acfc6 widgets/widgetapp/src/cpspublisher.cpp --- a/widgets/widgetapp/src/cpspublisher.cpp Fri Jul 03 15:54:40 2009 +0100 +++ b/widgets/widgetapp/src/cpspublisher.cpp Thu Aug 27 07:44:59 2009 +0300 @@ -46,23 +46,31 @@ _LIT8( KItem, "item" ); _LIT8( KAdd, "Add" ); -_LIT(KP,"ai3templatedwidget"); -_LIT(KCT,"wideimage"); +_LIT(KTemplateWidget,"ai3templatedwidget"); _LIT8( KImageKey, "image1"); _LIT8( KMask, "_mask"); -_LIT(KP1,"ai3homescreen"); -_LIT(KCT1,"wideimage"); +_LIT(KHomescreenId,"ai3homescreen"); +_LIT(KTemplateName,"wideimage"); _LIT( KImageContainer, "image_container" ); _LIT8( KWidth, "width"); _LIT8( KHeight, "height"); + +_LIT( KPublisherInfo, "publisher" ); +_LIT( KInfoType, "network" ); +_LIT( KDisConnected, "disconnected"); +_LIT( KConnected, "connected"); +_LIT8( KAPStatus, "apstatus"); + _LIT8( KFilter, "filter" ); _LIT8( KResults, "results"); _LIT8( KOperation, "operation" ); _LIT8( KRequestNotification, "RequestNotification" ); _LIT( KUpdate, "update" ); _LIT8( KChangeInfo, "change_info" ); +_LIT( KWRTPublisher, "wrt_publisher"); + const TInt KSkinGfxInnerRectShrink = 5; static void DoResetAndDestroy( TAny* aPtr ) @@ -171,8 +179,8 @@ { //Create filter criteria for requested entries in form of LIW map: CLiwDefaultMap* filter = CLiwDefaultMap::NewLC(); - filter->InsertL( KPublisherId, TLiwVariant( KP1 )); - filter->InsertL( KContentType, TLiwVariant( KCT1 )); + filter->InsertL( KPublisherId, TLiwVariant( KHomescreenId )); + filter->InsertL( KContentType, TLiwVariant( KTemplateName )); filter->InsertL( KContentId, TLiwVariant( KImageContainer )); return filter; } @@ -212,11 +220,25 @@ TSize CCpsPublisher::BitmapSize() { - return iSize; + if( iSize.iHeight == 0 || iSize.iWidth == 0 ) + { + // TODO: This is a work around to fix the problem in 'Loading Content' feature. + // Miniview does not have size when 'Loading Content' is showing. + return TSize(312, 82 ); + } + else + { + return iSize; + } } -void CCpsPublisher::PublishBitmapL( CFbsBitmap& aBitmap, const TDesC& aBundleName ) +void CCpsPublisher::PublishBitmapL( CFbsBitmap& aBitmap, const TDesC& aBundleId ) { +#ifdef _DEBUG + TSize bitmapSize = aBitmap.SizeInPixels(); + RDebug::Printf("CCpsPublisher::PublishBitmapL bitmap width %d height %d", bitmapSize.iWidth, bitmapSize.iHeight); +#endif + // Load the mask bitmap from skin if( !iMaskBitmap || aBitmap.SizeInPixels() != iMaskBitmap->SizeInPixels()) @@ -234,11 +256,85 @@ { maskHandle = iMaskBitmap->Handle(); } - RDebug::Printf("CCpsPublisher::PublishBitmapL"); - AddImageHandleL( KP() ,KCT(), aBundleName, +#ifdef _DEBUG + RDebug::Printf("CCpsPublisher::PublishBitmapL, bitmap handle 0x%x", handle); +#endif + AddImageHandleL( aBundleId, handle, maskHandle, KImageKey() ); } +void CCpsPublisher::NetworkConnectionCancelledL() + { + CLiwGenericParamList& inparam = iServiceHandler->InParamListL(); + CLiwGenericParamList& outparam = iServiceHandler->OutParamListL(); + + TLiwGenericParam type( KType, TLiwVariant( KCpData )); + type.PushL(); + inparam.AppendL( type ); + + CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC(); + CLiwDefaultMap* datamap = CLiwDefaultMap::NewLC(); + + // Create content map + cpdatamap->InsertL( KPublisherId, TLiwVariant( KHomescreenId )); + cpdatamap->InsertL( KContentType, TLiwVariant( KPublisherInfo )); + cpdatamap->InsertL( KContentId, TLiwVariant( KInfoType )); + // Create the data map + datamap->InsertL( KAPStatus, TLiwVariant( KDisConnected )); + cpdatamap->InsertL( KDataMap, TLiwVariant(datamap) ); + + TLiwGenericParam item( KItem, TLiwVariant( cpdatamap )); + item.PushL(); + + inparam.AppendL( item ); + + iCpsInterface->ExecuteCmdL( KAdd , inparam, outparam); + + CleanupStack::PopAndDestroy( &item ); + CleanupStack::PopAndDestroy( datamap ); + CleanupStack::PopAndDestroy( cpdatamap ); + CleanupStack::PopAndDestroy( &type ); + + outparam.Reset(); + inparam.Reset(); + } + +void CCpsPublisher::NetworkConnectionAllowedL() + { + CLiwGenericParamList& inparam = iServiceHandler->InParamListL(); + CLiwGenericParamList& outparam = iServiceHandler->OutParamListL(); + + TLiwGenericParam type( KType, TLiwVariant( KCpData )); + type.PushL(); + inparam.AppendL( type ); + + CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC(); + CLiwDefaultMap* datamap = CLiwDefaultMap::NewLC(); + + // Create content map + cpdatamap->InsertL( KPublisherId, TLiwVariant( KHomescreenId )); + cpdatamap->InsertL( KContentType, TLiwVariant( KPublisherInfo )); + cpdatamap->InsertL( KContentId, TLiwVariant( KInfoType )); + // Create the data map + datamap->InsertL( KAPStatus, TLiwVariant( KConnected )); + cpdatamap->InsertL( KDataMap, TLiwVariant(datamap) ); + + TLiwGenericParam item( KItem, TLiwVariant( cpdatamap )); + item.PushL(); + + inparam.AppendL( item ); + + iCpsInterface->ExecuteCmdL( KAdd , inparam, outparam); + + CleanupStack::PopAndDestroy( &item ); + CleanupStack::PopAndDestroy( datamap ); + CleanupStack::PopAndDestroy( cpdatamap ); + CleanupStack::PopAndDestroy( &type ); + + outparam.Reset(); + inparam.Reset(); + } + void CCpsPublisher::GetBitmapSizeL() { CLiwDefaultMap *outDataMap = CLiwDefaultMap::NewLC(); @@ -322,10 +418,8 @@ // // --------------------------------------------------------------------------- // -void CCpsPublisher::AddImageHandleL( - const TDesC& aPublisherId, const TDesC& aContentType, - const TDesC& aContentId, const TInt& aHandle, const TInt& aMaskHandle, - const TDesC8& aImageKey ) +void CCpsPublisher::AddImageHandleL( const TDesC& aBundleId, const TInt& aHandle, + const TInt& aMaskHandle, const TDesC8& aImageKey ) { __UHEAP_MARK; CLiwGenericParamList& inparam = iServiceHandler->InParamListL(); @@ -351,9 +445,9 @@ CleanupStack::PopAndDestroy( maskKey ); // Create content data map - cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId )); - cpdatamap->InsertL( KContentType, TLiwVariant( aContentType )); - cpdatamap->InsertL( KContentId, TLiwVariant( aContentId )); + cpdatamap->InsertL( KPublisherId, TLiwVariant( KWRTPublisher )); + cpdatamap->InsertL( KContentType, TLiwVariant( KTemplateWidget )); + cpdatamap->InsertL( KContentId, TLiwVariant( aBundleId )); cpdatamap->InsertL( KDataMap, TLiwVariant(map) ); TLiwGenericParam item( KItem, TLiwVariant( cpdatamap ));