diff -r 578830873419 -r ecc8def7944a emailuis/nmailuiengine/inc/nmoperation.h --- a/emailuis/nmailuiengine/inc/nmoperation.h Fri Apr 16 14:51:52 2010 +0300 +++ b/emailuis/nmailuiengine/inc/nmoperation.h Mon May 03 12:23:15 2010 +0300 @@ -32,10 +32,11 @@ NmOperation(QObject *parent = 0); virtual ~NmOperation(); bool isRunning() const; + void addPreliminaryOperation(NmOperation *operation); signals: void operationProgressChanged(int progress); - void operationCompleted(int result); + void operationCompleted(int result = 0); void operationCancelled(); public slots: @@ -44,17 +45,22 @@ void updateOperationProgress(int progress); protected slots: - virtual void runAsyncOperation() = 0; + virtual void runAsyncOperation(); + virtual void handlePreliminaryOperationFinished(); protected: virtual void doCompleteOperation(); virtual void doCancelOperation(); virtual void doUpdateOperationProgress(); + virtual void doRunAsyncOperation() = 0; +protected: + QTimer *mTimer; + private: - QTimer *mTimer; int mProgress; bool mIsRunning; + QList mPreliminaryOperations; }; #endif /* NMOPERATION_H_ */