emailuis/nmailuiengine/inc/nmoperation.h
changeset 20 ecc8def7944a
parent 18 578830873419
child 23 2dc6caa42ec3
equal deleted inserted replaced
18:578830873419 20:ecc8def7944a
    30 public:
    30 public:
    31 
    31 
    32     NmOperation(QObject *parent = 0);
    32     NmOperation(QObject *parent = 0);
    33     virtual ~NmOperation();    
    33     virtual ~NmOperation();    
    34     bool isRunning() const;
    34     bool isRunning() const;
       
    35     void addPreliminaryOperation(NmOperation *operation);
    35     
    36     
    36 signals:
    37 signals:
    37     void operationProgressChanged(int progress);
    38     void operationProgressChanged(int progress);
    38     void operationCompleted(int result);
    39     void operationCompleted(int result = 0);
    39     void operationCancelled();
    40     void operationCancelled();
    40 
    41 
    41 public slots:
    42 public slots:
    42     void completeOperation(int result);
    43     void completeOperation(int result);
    43     void cancelOperation();
    44     void cancelOperation();
    44     void updateOperationProgress(int progress);
    45     void updateOperationProgress(int progress);
    45 
    46 
    46 protected slots:
    47 protected slots:
    47     virtual void runAsyncOperation() = 0;
    48     virtual void runAsyncOperation();
       
    49     virtual void handlePreliminaryOperationFinished();
    48 
    50 
    49 protected:
    51 protected:
    50     virtual void doCompleteOperation();
    52     virtual void doCompleteOperation();
    51     virtual void doCancelOperation();
    53     virtual void doCancelOperation();
    52     virtual void doUpdateOperationProgress();
    54     virtual void doUpdateOperationProgress();
       
    55     virtual void doRunAsyncOperation() = 0;
    53 
    56 
       
    57 protected:
       
    58     QTimer *mTimer;
       
    59     
    54 private:
    60 private:
    55     QTimer *mTimer;
       
    56     int mProgress;
    61     int mProgress;
    57     bool mIsRunning;
    62     bool mIsRunning;
       
    63     QList<NmOperation *> mPreliminaryOperations;
    58 };
    64 };
    59 
    65 
    60 #endif /* NMOPERATION_H_ */
    66 #endif /* NMOPERATION_H_ */