aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/deployconfiguration.h
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@theqtcompany.com>2014-12-08 15:50:22 +0100
committerDaniel Teske <daniel.teske@theqtcompany.com>2015-01-13 16:12:24 +0100
commitb3f0a1bfbba0b2455b0b99332f1296a67d8a2b50 (patch)
treed3b6abae85cc5cd0b7362945457d518c31dc6bbe /src/plugins/projectexplorer/deployconfiguration.h
parent90a2665737b09b51b31813d8f84ac17f86cfb350 (diff)
DeployConfigurationFactory: Properly extract the abstract class
Make DeployConfigurationFactory a true base class. Introduce the DefaultDeployConfigurationFactory as the implementation that actually creates DefaultDeployConfigurations. This mostly moves code around. The virtual canHandle method was mostly unused and was removed from most classes. Change-Id: I170d94c648e67f3fe52a76ffb5344f389ae49efc Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/deployconfiguration.h')
-rw-r--r--src/plugins/projectexplorer/deployconfiguration.h35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h
index aed56110912..92734be0ac7 100644
--- a/src/plugins/projectexplorer/deployconfiguration.h
+++ b/src/plugins/projectexplorer/deployconfiguration.h
@@ -84,7 +84,7 @@ private:
class PROJECTEXPLORER_EXPORT DefaultDeployConfiguration : public DeployConfiguration
{
Q_OBJECT
- friend class DeployConfigurationFactory; // for the ctors
+ friend class DefaultDeployConfigurationFactory; // for the ctors
protected:
DefaultDeployConfiguration(Target *target, Core::Id id);
DefaultDeployConfiguration(Target *target, DeployConfiguration *source);
@@ -100,17 +100,17 @@ public:
virtual ~DeployConfigurationFactory();
// used to show the list of possible additons to a target, returns a list of types
- virtual QList<Core::Id> availableCreationIds(Target *parent) const;
+ virtual QList<Core::Id> availableCreationIds(Target *parent) const = 0;
// used to translate the types to names to display to the user
- virtual QString displayNameForId(Core::Id id) const;
+ virtual QString displayNameForId(Core::Id id) const = 0;
- virtual bool canCreate(Target *parent, Core::Id id) const;
- virtual DeployConfiguration *create(Target *parent, Core::Id id);
+ virtual bool canCreate(Target *parent, Core::Id id) const = 0;
+ virtual DeployConfiguration *create(Target *parent, Core::Id id) = 0;
// used to recreate the runConfigurations when restoring settings
- virtual bool canRestore(Target *parent, const QVariantMap &map) const;
- virtual DeployConfiguration *restore(Target *parent, const QVariantMap &map);
- virtual bool canClone(Target *parent, DeployConfiguration *product) const;
- virtual DeployConfiguration *clone(Target *parent, DeployConfiguration *product);
+ virtual bool canRestore(Target *parent, const QVariantMap &map) const = 0;
+ virtual DeployConfiguration *restore(Target *parent, const QVariantMap &map) = 0;
+ virtual bool canClone(Target *parent, DeployConfiguration *product) const = 0;
+ virtual DeployConfiguration *clone(Target *parent, DeployConfiguration *product) = 0;
static DeployConfigurationFactory *find(Target *parent, const QVariantMap &map);
static QList<DeployConfigurationFactory *> find(Target *parent);
@@ -118,11 +118,22 @@ public:
signals:
void availableCreationIdsChanged();
+};
-protected:
- virtual bool canHandle(Target *parent) const;
-
+class DefaultDeployConfigurationFactory : public DeployConfigurationFactory
+{
+public:
+ QList<Core::Id> availableCreationIds(Target *parent) const;
+ // used to translate the types to names to display to the user
+ QString displayNameForId(Core::Id id) const;
+ bool canCreate(Target *parent, Core::Id id) const;
+ DeployConfiguration *create(Target *parent, Core::Id id);
+ bool canRestore(Target *parent, const QVariantMap &map) const;
+ DeployConfiguration *restore(Target *parent, const QVariantMap &map);
+ bool canClone(Target *parent, DeployConfiguration *product) const;
+ DeployConfiguration *clone(Target *parent, DeployConfiguration *product);
private:
+ bool canHandle(Target *parent) const;
};
} // namespace ProjectExplorer