diff -r 10e98eab6f85 -r a359256acfc6 webengine/wrtharvester/inc/wrtharvester.h --- a/webengine/wrtharvester/inc/wrtharvester.h Fri Jul 03 15:54:40 2009 +0100 +++ b/webengine/wrtharvester/inc/wrtharvester.h Thu Aug 27 07:44:59 2009 +0300 @@ -22,7 +22,7 @@ // INCLUDES #include // RApaLsSession #include -#include "widgetappdefs.rh" +#include #include "wrtharvesterregistryaccess.h" @@ -31,19 +31,44 @@ class CWrtHarvesterPublisherObserver; class MLiwInterface; class CLiwGenericParamList; +class CWrtInfo; // CONSTANTS +enum TWidgetState + { + EActivatedState = 0, + EResumeState + }; + +class TWrtState + { + public: + /** + * Constructor + */ + inline TWrtState(TUid aUid, TWidgetState aState) + { + iUid = aUid; + iState = aState; + } + + public: + TUid iUid; + TWidgetState iState; + }; + // CLASS DECLARATION /** - * - * - * @lib ??????.dll - * @since S60 S60 v3.1 */ - class CWrtHarvester: public CContentHarvesterPlugin { + struct SWidgetOperation + { + TWidgetOperations iOperation; + TUid iUid; + }; + public: // Constructors and destructor /** * Two-phased constructor. @@ -65,13 +90,28 @@ /** * */ - void TryLaunchNextWidgetL(); + void TryLaunchNextOperationL(); /** * @param aContentId * @param aTrigger */ void HandlePublisherNotificationL( const TDesC& aContentId, const TDesC8& aTrigger ); + + /** + *Clears the Event Queue + */ + + void ClearAllOperations(); + + /** + * Queues widget operation + * @param aOperation Operation to be queued + * @param aUid Uid of the widget + */ + void QueueOperationL( TWidgetOperations aOperation, TUid aUid ); + + void DialogShown(){ iDialogShown = EFalse; } private: @@ -92,39 +132,44 @@ void UpdatePublishersL(); /** + * + */ + void RemoveObsoletePublishersL(); + + /** + * + */ + void RegisteredPublishersL( RPointerArray& publishers ); + + /** * - * @param aPublisherId - * @param aContentId - * @param aContentType - * @param aResultType + * @param aWrtInfo * @return TInt */ - TInt RegisterPublisherL( const TDesC& aPublisherId, const TDesC& aContentId, - const TDesC& aContentType, const TDesC8& aResultType ); + TInt RegisterPublisherL( CWrtInfo& aWrtInfo ); /** * - * @param aPublisherId - * @param aContentId - * @param aContentType + * @param aBundleId */ - void RemovePublisherL( const TDesC& aPublisherId, const TDesC& aContentId, - const TDesC& aContentType ); + void RemovePublisherAndObserverL( const TDesC& aBundleId ); /** - * Starts WRT widget - * @param aUid Uid of the widget - */ - void StartWidgetL( TUid aUid ); + * + * @param aBundleId + */ + void RemoveObserver(const TDesC& aBundleId); /** * - * @param aPublisherId - * @param aContentId - * @param aContentType + * @param aWrtInfo */ - void RequestForNotificationL( const TDesC& aPublisherId, const TDesC& aContentId, - const TDesC& aContentType ); + void RequestForNotificationL( CWrtInfo& aWrtInfo ); + + /** + * + */ + TUid WidgetUid( TPtrC aBundleId ); /** * @@ -137,8 +182,59 @@ /** * */ - void LaunchWidgetL( TWidgetOperations aOperation, TUid aUid ); - + void LaunchWidgetOperationL( SWidgetOperation aOperation ); + + /** + * Check If widget Ui Process Exists + */ + TBool CheckTaskExistsL(); + + /** + * Queues widget resume operation + * @param aUid Uid of the widget + * @return void + */ + void QueueResumeL( TUid& aUid ); + + /** + * Processes online/offline event + * @param aUid Uid of the widget + * @param aOperation Online/Offline operation to be queued + * @return void + */ + void ProcessNetworkModeL( TUid& aUid, TWidgetOperations aOperation ); + + /** + * Finds widget in the widget state array which has + * the same uid and state as specified in the params + * @param aUid Uid of the widget to be found + * @param aState Widget state + * @returns the array index of the widget found + */ + TInt FindWidget( TUid& aUid, TWidgetState aState ); + + /** + * Finds widget in the widget state array which has + * the same uid as specified in the params + * @param aUid Uid of the widget to be found + * @returns the array index of the widget found + */ + TInt FindWidget( TUid& aUid ); + + /** + * Checks if the widget has network access + * @param aUid Uid of the widget to be checked + * @returns ETrue if widget has network access, + * else returns EFalse + */ + TBool CheckNetworkAccessL( TUid& aUid ); + + /** + * Prompt for Allow Platform Access + * @param aUid Uid of the widget + * @return void + */ + void AllowPlatformAccessL( TUid& aUid ); private: // data @@ -165,10 +261,26 @@ */ CWrtHarvesterPSNotifier* iWidgetMMCListener; + /** + * Publish & Subscribe listener + * own + */ + CWrtHarvesterPSNotifier* iWidgetUsbListener; + /** * */ - RWrtArray< CWrtHarvesterPublisherObserver > iObservers; + RWrtArray iObservers; + + /** + * + */ + RWrtArray iWidgetInfo; + + /** + * + */ + RWrtArray iWidgetStateArray; /** * @@ -178,12 +290,27 @@ /** * */ - RArray iWidgetUids; + RArray iWidgetOperations; /** * */ RApaLsSession iApaSession; + + /** + * Resource offset + */ + TInt iResourceFileOffset; + + /** + * + */ + TInt iHSCount; + /** + * + * + */ + TBool iDialogShown; }; #endif // C_WRTCONTENTHARVESTER_H