videocollection/mpxmyvideoscollection/inc/vcxmyvideosactivetask.h
changeset 34 bbb98528c666
parent 0 96612d01cf9f
child 17 69946d1824c4
--- a/videocollection/mpxmyvideoscollection/inc/vcxmyvideosactivetask.h	Thu Apr 01 23:13:36 2010 +0300
+++ b/videocollection/mpxmyvideoscollection/inc/vcxmyvideosactivetask.h	Thu Apr 01 23:22:15 2010 +0300
@@ -28,11 +28,22 @@
 NONSHARABLE_CLASS( MVcxMyVideosActiveTaskObserver )
     {
 public:
+    
+    enum TStepResult
+        {
+        EMoreToCome,
+        EDone,
+        /**
+         * Observer is responsible for calling Done or ContinueStepping if returning this.
+         */
+        EStopStepping
+        };
+    
     /**
     * Handle the execution of a step
-    * @return ETrue if complete, EFalse if more to do
+    * @return TStepResult
     */
-    virtual TBool HandleStepL() = 0;
+    virtual TStepResult HandleStepL() = 0;
     /**
     * Handle the completion of the operation
     */
@@ -84,7 +95,26 @@
     */
     CMPXCommand& GetCommand();
 
+    /**
+    * Get the command for the current task.
+    * @return the current command, ownership does not move.
+    */        
+    CMPXMedia* Command();
+    
+    /**
+     * If observer returns EStopStepping from HandleStepL, then observer must call
+     * this or ContinueStepping when sub operation is finished.
+     * Can be used to run async operations.
+     */
+    void Done();
 
+    /**
+     * If observer returns EStopStepping from HandleStepL, then observer must call
+     * this or Done when sub operation is finished.
+     * Can be used to run async operations.
+     */
+    void ContinueStepping();
+    
 protected: // From base class
 
     /**