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 } // 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() SysRootKitAspectFactory::SysRootKitAspectFactory()
{ {
setObjectName(QLatin1String("SysRootInformation")); 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"; return "PE.Profile.SysRoot";
} }
@@ -179,6 +190,8 @@ void SysRootKitAspect::setSysRoot(Kit *k, const FilePath &v)
k->setValue(SysRootKitAspect::id(), v.toString()); k->setValue(SysRootKitAspect::id(), v.toString());
} }
const SysRootKitAspectFactory theSyRootKitAspectFactory;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// ToolChainKitAspect: // ToolChainKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
@@ -312,6 +325,35 @@ private:
}; };
} // namespace Internal } // 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() ToolChainKitAspectFactory::ToolChainKitAspectFactory()
{ {
setObjectName(QLatin1String("ToolChainInformation")); setObjectName(QLatin1String("ToolChainInformation"));
@@ -751,6 +793,8 @@ void ToolChainKitAspectFactory::toolChainRemoved(ToolChain *tc)
fix(k); fix(k);
} }
const ToolChainKitAspectFactory thsToolChainKitAspectFactory;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// DeviceTypeKitAspect: // DeviceTypeKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
@@ -803,6 +847,20 @@ private:
}; };
} // namespace Internal } // 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() DeviceTypeKitAspectFactory::DeviceTypeKitAspectFactory()
{ {
setObjectName(QLatin1String("DeviceTypeInformation")); setObjectName(QLatin1String("DeviceTypeInformation"));
@@ -950,6 +1008,32 @@ private:
}; };
} // namespace Internal } // 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() DeviceKitAspectFactory::DeviceKitAspectFactory()
{ {
setObjectName(QLatin1String("DeviceInformation")); setObjectName(QLatin1String("DeviceInformation"));
@@ -1134,6 +1218,9 @@ void DeviceKitAspectFactory::devicesChanged()
setup(k); // Set default device if necessary setup(k); // Set default device if necessary
} }
const DeviceKitAspectFactory theDeviceKitAspectFactory;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// BuildDeviceKitAspect: // BuildDeviceKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
@@ -1218,6 +1305,29 @@ private:
}; };
} // namespace Internal } // 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() BuildDeviceKitAspectFactory::BuildDeviceKitAspectFactory()
{ {
setObjectName("BuildDeviceInformation"); setObjectName("BuildDeviceInformation");
@@ -1376,6 +1486,8 @@ void BuildDeviceKitAspectFactory::devicesChanged()
setup(k); // Set default device if necessary setup(k); // Set default device if necessary
} }
const BuildDeviceKitAspectFactory theBuildDeviceKitAspectFactory;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// EnvironmentKitAspect: // EnvironmentKitAspect:
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
@@ -1490,6 +1602,22 @@ private:
}; };
} // namespace Internal } // 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() EnvironmentKitAspectFactory::EnvironmentKitAspectFactory()
{ {
setObjectName(QLatin1String("EnvironmentKitAspect")); setObjectName(QLatin1String("EnvironmentKitAspect"));
@@ -1565,4 +1693,6 @@ void EnvironmentKitAspect::setEnvironmentChanges(Kit *k, const EnvironmentItems
k->setValue(EnvironmentKitAspect::id(), EnvironmentItem::toStringList(changes)); k->setValue(EnvironmentKitAspect::id(), EnvironmentItem::toStringList(changes));
} }
const EnvironmentKitAspectFactory theEnvironmentKitAspectFactory;
} // namespace ProjectExplorer } // namespace ProjectExplorer

View File

@@ -10,17 +10,11 @@
#include <utils/environment.h> #include <utils/environment.h>
#include <QVariant>
namespace ProjectExplorer { namespace ProjectExplorer {
class OutputTaskParser;
class ToolChain; class ToolChain;
class KitAspect; // SysRootKitAspect
// --------------------------------------------------------------------------
// SysRootInformation:
// --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT SysRootKitAspect class PROJECTEXPLORER_EXPORT SysRootKitAspect
{ {
@@ -30,20 +24,7 @@ public:
static void setSysRoot(Kit *k, const Utils::FilePath &v); static void setSysRoot(Kit *k, const Utils::FilePath &v);
}; };
class PROJECTEXPLORER_EXPORT SysRootKitAspectFactory : public KitAspectFactory // ToolChainKitAspect
{
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:
// --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT ToolChainKitAspect class PROJECTEXPLORER_EXPORT ToolChainKitAspect
{ {
@@ -62,38 +43,7 @@ public:
static QString msgNoToolChainInTarget(); static QString msgNoToolChainInTarget();
}; };
class PROJECTEXPLORER_EXPORT ToolChainKitAspectFactory : public KitAspectFactory // DeviceTypeKitAspect
{
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:
// --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT DeviceTypeKitAspect class PROJECTEXPLORER_EXPORT DeviceTypeKitAspect
{ {
@@ -103,23 +53,7 @@ public:
static void setDeviceTypeId(Kit *k, Utils::Id type); static void setDeviceTypeId(Kit *k, Utils::Id type);
}; };
class PROJECTEXPLORER_EXPORT DeviceTypeKitAspectFactory : public KitAspectFactory // DeviceKitAspect
{
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:
// --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT DeviceKitAspect class PROJECTEXPLORER_EXPORT DeviceKitAspect
{ {
@@ -132,35 +66,8 @@ public:
static Utils::FilePath deviceFilePath(const Kit *k, const QString &pathOnDevice); 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; // BuildDeviceKitAspect
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:
// --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT BuildDeviceKitAspect class PROJECTEXPLORER_EXPORT BuildDeviceKitAspect
{ {
@@ -172,32 +79,7 @@ public:
static void setDeviceId(Kit *k, Utils::Id dataId); static void setDeviceId(Kit *k, Utils::Id dataId);
}; };
class PROJECTEXPLORER_EXPORT BuildDeviceKitAspectFactory : public KitAspectFactory // EnvironmentKitAspect
{
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:
// --------------------------------------------------------------------------
class PROJECTEXPLORER_EXPORT EnvironmentKitAspect class PROJECTEXPLORER_EXPORT EnvironmentKitAspect
{ {
@@ -207,20 +89,4 @@ public:
static void setEnvironmentChanges(Kit *k, const Utils::EnvironmentItems &changes); 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 } // namespace ProjectExplorer

View File

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