aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/remotelinux/abstractremotelinuxdeploystep.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/remotelinux/abstractremotelinuxdeploystep.h')
-rw-r--r--src/plugins/remotelinux/abstractremotelinuxdeploystep.h13
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);