--- a/idlefw/inc/framework/aistatemanager.h Mon Mar 15 12:41:53 2010 +0200
+++ b/idlefw/inc/framework/aistatemanager.h Wed Mar 31 22:04:35 2010 +0300
@@ -22,6 +22,7 @@
// System includes
#include <e32base.h>
#include <babitflags.h>
+#include <AknProgressDialog.h> // for MProgressDialogCallback
// User includes
#include <aifwdefs.h>
@@ -29,8 +30,10 @@
// Forward declarations
class CAiPluginFactory;
+class CAiCpsCommandBuffer;
class CHsContentPublisher;
class THsPublisherInfo;
+class CAknWaitDialog;
/**
* State Manager
@@ -40,7 +43,8 @@
* @since S60 5.0
*/
NONSHARABLE_CLASS( CAiStateManager ) : public CBase,
- public MAiStateObserver
+ public MAiStateObserver,
+ public MProgressDialogCallback
{
private:
// Data types
@@ -113,13 +117,14 @@
/**
* @see MAiStateObserver
*/
- void NotifyUpdatePlugins();
+ void NotifyReloadPlugins();
+
/**
* @see MAiStateObserver
*/
- TBool OnlineStateInUse() const;
-
+ void NotifyReleasePlugins( const RArray<TUid>& aUidList );
+
private:
// new functions
@@ -187,19 +192,53 @@
* @since S60 5.2
*/
void DestroyPlugins();
-
+
+ /**
+ * Starts wait dialog with progress bar.
+ */
+ void StartWaitDialogL();
+
+ /**
+ * Stops wait dialog with progress bar.
+ */
+ void StopWaitDialogL();
+
+ /**
+ * Callback method from MProgressDialogCallback interface.
+ * Gets called when a dialog is dismissed.
+ * @param aButtonId Id of the pushed button.
+ */
+ void DialogDismissedL( TInt aButtonId );
+
+ /**
+ * Flushes cps command buffer
+ *
+ * @since S60 5.2
+ */
+ void FlushCommandBuffer();
+
private:
// data
/** Plugin Factory, Not owned */
CAiPluginFactory& iFactory;
+ /** CPS Command buffer, Owned */
+ CAiCpsCommandBuffer* iCommandBuffer;
/** Current state */
TState iCurrentState;
/** Flags */
TBitFlags32 iFlags;
/** Halted flag */
TBool iHalt;
-
+ /**
+ * Own.
+ * Pointer to wait dialog.
+ */
+ CAknWaitDialog* iWaitDialog;
+
+ /** List of plugins which should be reloaded */
+ RArray<THsPublisherInfo> iReloadPlugins;
+
private:
// friend classes