ProjectExplorer: Hide some KitAspectFactory implementations

Change-Id: If84dd7aeb72e87d2cb35635689ad1c9c2e09a825
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2023-08-15 12:45:54 +02:00
parent 013b71b301
commit 5aa138bb68
3 changed files with 138 additions and 149 deletions

View File

@@ -87,6 +87,17 @@ private:
};
} // namespace Internal
class SysRootKitAspectFactory : public KitAspectFactory
{
public:
SysRootKitAspectFactory();
Tasks validate(const Kit *k) const override;
KitAspect *createKitAspect(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(Kit *kit, MacroExpander *expander) const override;
};
SysRootKitAspectFactory::SysRootKitAspectFactory()
{
setObjectName(QLatin1String("SysRootInformation"));
@@ -141,7 +152,7 @@ void SysRootKitAspectFactory::addToMacroExpander(Kit *kit, MacroExpander *expand
});
}
Utils::Id SysRootKitAspect::id()
Id SysRootKitAspect::id()
{
return "PE.Profile.SysRoot";
}
@@ -179,6 +190,8 @@ void SysRootKitAspect::setSysRoot(Kit *k, const FilePath &v)
k->setValue(SysRootKitAspect::id(), v.toString());
}
const SysRootKitAspectFactory theSyRootKitAspectFactory;
// --------------------------------------------------------------------------
// ToolChainKitAspect:
// --------------------------------------------------------------------------
@@ -312,6 +325,35 @@ private:
};
} // namespace Internal
class ToolChainKitAspectFactory : public KitAspectFactory
{
public:
ToolChainKitAspectFactory();
Tasks validate(const Kit *k) const override;
void upgrade(Kit *k) override;
void fix(Kit *k) override;
void setup(Kit *k) override;
KitAspect *createKitAspect(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToBuildEnvironment(const Kit *k, Environment &env) const override;
void addToRunEnvironment(const Kit *, Environment &) const override {}
void addToMacroExpander(Kit *kit, MacroExpander *expander) const override;
QList<OutputLineParser *> createOutputParsers(const Kit *k) const override;
QSet<Id> availableFeatures(const Kit *k) const override;
private:
void kitsWereLoaded();
void toolChainUpdated(ToolChain *tc);
void toolChainRemoved(ToolChain *tc);
};
ToolChainKitAspectFactory::ToolChainKitAspectFactory()
{
setObjectName(QLatin1String("ToolChainInformation"));
@@ -751,6 +793,8 @@ void ToolChainKitAspectFactory::toolChainRemoved(ToolChain *tc)
fix(k);
}
const ToolChainKitAspectFactory thsToolChainKitAspectFactory;
// --------------------------------------------------------------------------
// DeviceTypeKitAspect:
// --------------------------------------------------------------------------
@@ -803,6 +847,20 @@ private:
};
} // namespace Internal
class DeviceTypeKitAspectFactory : public KitAspectFactory
{
public:
DeviceTypeKitAspectFactory();
void setup(Kit *k) override;
Tasks validate(const Kit *k) const override;
KitAspect *createKitAspect(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
QSet<Id> supportedPlatforms(const Kit *k) const override;
QSet<Id> availableFeatures(const Kit *k) const override;
};
DeviceTypeKitAspectFactory::DeviceTypeKitAspectFactory()
{
setObjectName(QLatin1String("DeviceTypeInformation"));
@@ -950,6 +1008,32 @@ private:
};
} // namespace Internal
class DeviceKitAspectFactory : public KitAspectFactory
{
public:
DeviceKitAspectFactory();
Tasks validate(const Kit *k) const override;
void fix(Kit *k) override;
void setup(Kit *k) override;
KitAspect *createKitAspect(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(Kit *kit, MacroExpander *expander) const override;
private:
QVariant defaultValue(const Kit *k) const;
void kitsWereLoaded();
void deviceUpdated(Id dataId);
void devicesChanged();
void kitUpdated(Kit *k);
};
DeviceKitAspectFactory::DeviceKitAspectFactory()
{
setObjectName(QLatin1String("DeviceInformation"));
@@ -1134,6 +1218,9 @@ void DeviceKitAspectFactory::devicesChanged()
setup(k); // Set default device if necessary
}
const DeviceKitAspectFactory theDeviceKitAspectFactory;
// --------------------------------------------------------------------------
// BuildDeviceKitAspect:
// --------------------------------------------------------------------------
@@ -1218,6 +1305,29 @@ private:
};
} // namespace Internal
class BuildDeviceKitAspectFactory : public KitAspectFactory
{
public:
BuildDeviceKitAspectFactory();
void setup(Kit *k) override;
Tasks validate(const Kit *k) const override;
KitAspect *createKitAspect(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(Kit *kit, MacroExpander *expander) const override;
private:
void kitsWereLoaded();
void deviceUpdated(Id dataId);
void devicesChanged();
void kitUpdated(Kit *k);
};
BuildDeviceKitAspectFactory::BuildDeviceKitAspectFactory()
{
setObjectName("BuildDeviceInformation");
@@ -1376,6 +1486,8 @@ void BuildDeviceKitAspectFactory::devicesChanged()
setup(k); // Set default device if necessary
}
const BuildDeviceKitAspectFactory theBuildDeviceKitAspectFactory;
// --------------------------------------------------------------------------
// EnvironmentKitAspect:
// --------------------------------------------------------------------------
@@ -1490,6 +1602,22 @@ private:
};
} // namespace Internal
class EnvironmentKitAspectFactory : public KitAspectFactory
{
public:
EnvironmentKitAspectFactory();
Tasks validate(const Kit *k) const override;
void fix(Kit *k) override;
void addToBuildEnvironment(const Kit *k, Environment &env) const override;
void addToRunEnvironment(const Kit *, Environment &) const override;
KitAspect *createKitAspect(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
};
EnvironmentKitAspectFactory::EnvironmentKitAspectFactory()
{
setObjectName(QLatin1String("EnvironmentKitAspect"));
@@ -1565,4 +1693,6 @@ void EnvironmentKitAspect::setEnvironmentChanges(Kit *k, const EnvironmentItems
k->setValue(EnvironmentKitAspect::id(), EnvironmentItem::toStringList(changes));
}
const EnvironmentKitAspectFactory theEnvironmentKitAspectFactory;
} // namespace ProjectExplorer

View File

@@ -10,17 +10,11 @@
#include <utils/environment.h>
#include <QVariant>
namespace ProjectExplorer {
class OutputTaskParser;
class ToolChain;
class KitAspect;
// --------------------------------------------------------------------------
// SysRootInformation:
// --------------------------------------------------------------------------
// SysRootKitAspect
class PROJECTEXPLORER_EXPORT SysRootKitAspect
{
@@ -30,20 +24,7 @@ public:
static void setSysRoot(Kit *k, const Utils::FilePath &v);
};
class PROJECTEXPLORER_EXPORT SysRootKitAspectFactory : public KitAspectFactory
{
public:
SysRootKitAspectFactory();
Tasks validate(const Kit *k) const override;
KitAspect *createKitAspect(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override;
};
// --------------------------------------------------------------------------
// ToolChainInformation:
// --------------------------------------------------------------------------
// ToolChainKitAspect
class PROJECTEXPLORER_EXPORT ToolChainKitAspect
{
@@ -62,38 +43,7 @@ public:
static QString msgNoToolChainInTarget();
};
class PROJECTEXPLORER_EXPORT ToolChainKitAspectFactory : public KitAspectFactory
{
public:
ToolChainKitAspectFactory();
Tasks validate(const Kit *k) const override;
void upgrade(Kit *k) override;
void fix(Kit *k) override;
void setup(Kit *k) override;
KitAspect *createKitAspect(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToBuildEnvironment(const Kit *k, Utils::Environment &env) const override;
void addToRunEnvironment(const Kit *, Utils::Environment &) const override {}
void addToMacroExpander(Kit *kit, Utils::MacroExpander *expander) const override;
QList<Utils::OutputLineParser *> createOutputParsers(const Kit *k) const override;
QSet<Utils::Id> availableFeatures(const Kit *k) const override;
private:
void kitsWereLoaded();
void toolChainUpdated(ProjectExplorer::ToolChain *tc);
void toolChainRemoved(ProjectExplorer::ToolChain *tc);
};
// --------------------------------------------------------------------------
// DeviceTypeInformation:
// --------------------------------------------------------------------------
// DeviceTypeKitAspect
class PROJECTEXPLORER_EXPORT DeviceTypeKitAspect
{
@@ -103,23 +53,7 @@ public:
static void setDeviceTypeId(Kit *k, Utils::Id type);
};
class PROJECTEXPLORER_EXPORT DeviceTypeKitAspectFactory : public KitAspectFactory
{
public:
DeviceTypeKitAspectFactory();
void setup(Kit *k) override;
Tasks validate(const Kit *k) const override;
KitAspect *createKitAspect(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
QSet<Utils::Id> supportedPlatforms(const Kit *k) const override;
QSet<Utils::Id> availableFeatures(const Kit *k) const override;
};
// --------------------------------------------------------------------------
// DeviceInformation:
// --------------------------------------------------------------------------
// DeviceKitAspect
class PROJECTEXPLORER_EXPORT DeviceKitAspect
{
@@ -132,35 +66,8 @@ public:
static Utils::FilePath deviceFilePath(const Kit *k, const QString &pathOnDevice);
};
class PROJECTEXPLORER_EXPORT DeviceKitAspectFactory : public KitAspectFactory
{
public:
DeviceKitAspectFactory();
Tasks validate(const Kit *k) const override;
void fix(Kit *k) override;
void setup(Kit *k) override;
KitAspect *createKitAspect(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const override;
private:
QVariant defaultValue(const Kit *k) const;
void kitsWereLoaded();
void deviceUpdated(Utils::Id dataId);
void devicesChanged();
void kitUpdated(ProjectExplorer::Kit *k);
};
// --------------------------------------------------------------------------
// BuildDeviceInformation:
// --------------------------------------------------------------------------
// BuildDeviceKitAspect
class PROJECTEXPLORER_EXPORT BuildDeviceKitAspect
{
@@ -172,32 +79,7 @@ public:
static void setDeviceId(Kit *k, Utils::Id dataId);
};
class PROJECTEXPLORER_EXPORT BuildDeviceKitAspectFactory : public KitAspectFactory
{
public:
BuildDeviceKitAspectFactory();
void setup(Kit *k) override;
Tasks validate(const Kit *k) const override;
KitAspect *createKitAspect(Kit *k) const override;
QString displayNamePostfix(const Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
void addToMacroExpander(ProjectExplorer::Kit *kit, Utils::MacroExpander *expander) const override;
private:
void kitsWereLoaded();
void deviceUpdated(Utils::Id dataId);
void devicesChanged();
void kitUpdated(ProjectExplorer::Kit *k);
};
// --------------------------------------------------------------------------
// EnvironmentKitAspect:
// --------------------------------------------------------------------------
// EnvironmentKitAspect
class PROJECTEXPLORER_EXPORT EnvironmentKitAspect
{
@@ -207,20 +89,4 @@ public:
static void setEnvironmentChanges(Kit *k, const Utils::EnvironmentItems &changes);
};
class PROJECTEXPLORER_EXPORT EnvironmentKitAspectFactory : public KitAspectFactory
{
public:
EnvironmentKitAspectFactory();
Tasks validate(const Kit *k) const override;
void fix(Kit *k) override;
void addToBuildEnvironment(const Kit *k, Utils::Environment &env) const override;
void addToRunEnvironment(const Kit *, Utils::Environment &) const override;
KitAspect *createKitAspect(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
};
} // namespace ProjectExplorer

View File

@@ -677,13 +677,6 @@ public:
IDocumentFactory m_taskFileFactory;
StopMonitoringHandler closeTaskFile;
DeviceTypeKitAspectFactory deviceTypeKitAspectFactory;
DeviceKitAspectFactory deviceKitAspectFactory;
BuildDeviceKitAspectFactory buildDeviceKitAspectFactory;
ToolChainKitAspectFactory toolChainKitAspectFactory;
SysRootKitAspectFactory sysRootKitAspectFactory;
EnvironmentKitAspectFactory environmentKitAspectFactory;
DesktopQmakeRunConfigurationFactory qmakeRunConfigFactory;
QbsRunConfigurationFactory qbsRunConfigFactory;
CMakeRunConfigurationFactory cmakeRunConfigFactory;