diff options
Diffstat (limited to 'src/plugins/remotelinux/abstractremotelinuxdeploystep.h')
-rw-r--r-- | src/plugins/remotelinux/abstractremotelinuxdeploystep.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.h b/src/plugins/remotelinux/abstractremotelinuxdeploystep.h index 6adbebf1aa..e15cef3706 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.h +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.h @@ -41,20 +41,29 @@ class REMOTELINUX_EXPORT AbstractRemoteLinuxDeployStep : public ProjectExplorer: public: ~AbstractRemoteLinuxDeployStep() override; - virtual AbstractRemoteLinuxDeployService *deployService() const = 0; protected: bool fromMap(const QVariantMap &map) override; QVariantMap toMap() const override; bool init() override; - void doRun() override; + void doRun() final; void doCancel() override; explicit AbstractRemoteLinuxDeployStep(ProjectExplorer::BuildStepList *bsl, Core::Id id); void setInternalInitializer(const std::function<CheckResult()> &init); + void setRunPreparer(const std::function<void()> &prep); + + template <class T> + T *createDeployService() + { + T *service = new T; + setDeployService(service); + return service; + } private: + void setDeployService(AbstractRemoteLinuxDeployService *service); void handleProgressMessage(const QString &message); void handleErrorMessage(const QString &message); void handleWarningMessage(const QString &message); |