mmappcomponents/mmmtpdataprovider/inc/mmmtpdputility.h
changeset 32 edd273b3192a
parent 25 d881023c13eb
child 62 b276843a15ba
--- a/mmappcomponents/mmmtpdataprovider/inc/mmmtpdputility.h	Fri May 14 16:21:14 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/inc/mmmtpdputility.h	Thu May 27 13:19:19 2010 +0300
@@ -20,6 +20,7 @@
 #define MMMTPDPUTILITY_H
 
 #include <mtp/mtpprotocolconstants.h>
+#include <mtpprivatepskeys.h>
 
 #include "mmmtpdpfiledefs.h"
 
@@ -143,6 +144,34 @@
     * @return return DRM status code
     */
     IMPORT_C static TInt GetDrmStatus( const TDesC& aFullFileName );
+    
+    /**
+    * Set MTP PS Status
+    * @param aStatus, next TMtpPSStatus
+    *
+    * newly implemented function to as enabler
+    * to provide more state transition on application (MusicPlayer/MPX) during MTP by fully utilize the 3 PSStatus:
+    *
+    * EMtpPSStatusActive, == MTP operation related Media Files is performaning
+    * EMtpPSStatusUninitialized == MTP not in use
+    * EMtpPSStatusReadyToSync == MTP is connected, but no active operation related to Media Files
+    *
+    * this CAN enable 2 new behaviors:
+    * 1. MTP status monitor is extracted out from USB Event Observer in harvester
+    *    Harvester and Music player should be fully blocked if PS Status is EMtpPSStatusActive
+    *    Music Player would prevent refresh/delete/add on UI level if PS Status is EMtpPSStatusReadyToSync  
+    * 2. collectioncachedhelper to observed this status.
+    *    when the ps status changed from EMtpPSStatusActive to EMtpPSStatusReadyToSync, it starts timer.
+    *    and when it is reached, it flush all cache.
+    *    the timer is canceled when ps status is back to active.
+    */
+    IMPORT_C static void SetPSStatus( TMtpPSStatus aStatus );
+
+    /**
+    * Set MTP PS Status (actually)
+    * @param aStatus, next TMtpPSStatus
+    */
+    static void DoSetPSStatus( TMtpPSStatus aStatus );
 
     };