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_ */ |