7#include <QtCore/QFileInfo>
9#include <QtCore/QLibrary>
18#include <icomp/export.h>
56 I_ASSIGN(m_registryLoaderCompPtr,
"RegistryLoader",
"Loader used to read registry",
true,
"RegistryLoader");
57 I_ASSIGN(m_configFilePathCompPtr,
"ConfigFilePath",
"Path of packages configuration file will be loaded, if enabled",
false,
"ConfigFilePath");
68 virtual bool LoadPackages(
const QString& configFilePath = QString())
override;
92 const QByteArray& elementId,
94 bool ensureElementCreated =
true)
override;
109 bool CheckAndMarkPath(
const QDir& directory,
const QString& path, QString& resultPath)
const;
112 typedef QMap<QString, icomp::GetPackageInfoFunc> LibraryToInfoFuncMap;
113 LibraryToInfoFuncMap m_libraryToInfoFuncMap;
115 typedef QMap<QByteArray, QString> ComponentIdToRegistryFileMap;
116 struct CompositePackageInfo
121 ComponentIdToRegistryFileMap componentIdToRegistryFileMap;
126 typedef QMap<QByteArray, QString> RealPackagesMap;
127 RealPackagesMap m_realPackagesMap;
132 typedef QMap<QByteArray, CompositePackageInfo> CompositePackagesMap;
133 CompositePackagesMap m_compositePackagesMap;
136 typedef QMap<QString, RegistryPtr> RegistriesMap;
137 typedef QMap<const icomp::IRegistry*, QFileInfo> InvRegistriesMap;
139 mutable RegistriesMap m_registriesMap;
140 mutable InvRegistriesMap m_invRegistriesMap;
145 typedef QSet<QString> PathList;
146 mutable PathList m_usedFilesList;
148 QString m_configFilePath;
149 QStringList m_projectTargets;
Represents global address of component.
Standard implementation of registry.
QSet< CComponentAddress > ComponentAddresses
This interface provide static information about component meta info.
Allow access to registries defined by composed components.
Interface representing information stored in component registry.
Interface for a ACF registry loader.
Common interface for any file system item name (e.g directory, file or URL path)
Interface providing loading and saving of data objects.
Template wrapper adding comprehensive logging functionality to components.
virtual ElementInfo * InsertElementInfo(const QByteArray &elementId, const icomp::CComponentAddress &address, bool ensureElementCreated=true) override
Insert new attribute info object to collection of attributes.
icomp::CRegistry BaseClass
LogingRegistry(CPackagesLoaderComp *parentPtr)
Loads component packages from dynamic link libraries.
virtual QString GetPackagePath(const QByteArray &packageId) const override
Get directory path of specified component package.
@ MI_CANNOT_CREATE_ELEMENT
virtual bool LoadConfigFile(const QString &configFile)
virtual const icomp::IRegistry * GetRegistry(const icomp::CComponentAddress &address, const icomp::IRegistry *contextRegistryPtr=NULL) const override
Get access to stored registry.
virtual const icomp::IRegistry * GetRegistryFromFile(const QString &path) const override
Get an ACF registry from a given file.
virtual int GetPackageType(const QByteArray &packageId) const override
Get type of package as defined in PackageType.
virtual bool LoadPackages(const QString &configFilePath=QString()) override
Configure environment for specified file path.
virtual bool RegisterPackagesDir(const QString &subDir)
virtual QStringList GetProjectTargets() const override
Get the list of project targets.
bool CheckAndMarkPath(const QDir &directory, const QString &path, QString &resultPath) const
Check if path was already visited and return enrolled value.
icomp::CEnvironmentManagerBase BaseClass2
icomp::GetPackageInfoFunc GetPackageFunction(const QFileInfo &fileInfo)
virtual ComponentAddresses GetComponentAddresses(int typeFlag=CTF_ALL) const override
Get addresses of known components.
ilog::CLoggerComponentBase BaseClass
virtual QString GetRegistryPath(const icomp::CComponentAddress &address) const override
Get registry file path, if it is composed registry.
virtual bool RegisterPackageFile(const QString &file)
virtual void OnComponentCreated() override
Called when component is created.
virtual QString GetConfigFilePath() const override
Get file path of real used config file.
Pointer wrapper providing automatic deleting pointed object during destruction.
Package contains implementation for the management of ACF environment.
Describe information stored with each element.