summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/packagemanagercore_p.h')
-rw-r--r--src/libs/installer/packagemanagercore_p.h53
1 files changed, 36 insertions, 17 deletions
diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h
index 29da8cb54..e37ed980f 100644
--- a/src/libs/installer/packagemanagercore_p.h
+++ b/src/libs/installer/packagemanagercore_p.h
@@ -69,6 +69,7 @@ class Component;
class ScriptEngine;
class ComponentModel;
class TempDirDeleter;
+class InstallerCalculator;
/*
The default configuration interface implementation does call QSettings to save files for later deletion,
@@ -91,6 +92,35 @@ public:
}
};
+class InstallerCalculator
+{
+public:
+ InstallerCalculator(PackageManagerCore *publicManager, PackageManagerCorePrivate *privateManager);
+
+ QString installReason(Component *component) const;
+ QList<Component*> orderedComponentsToInstall() const;
+ QString componentsToInstallError() const;
+
+ bool appendComponentsToInstall(const QList<Component*> &components);
+
+private:
+ void insertInstallReason(Component *component, const QString &reason);
+ void realAppendToInstallComponents(Component *component);
+ bool appendComponentToInstall(Component *components);
+
+ PackageManagerCore *m_publicManager;
+ PackageManagerCorePrivate *m_privateManager;
+
+ QHash<Component*, QSet<Component*> > m_visitedComponents;
+ QSet<QString> m_toInstallComponentIds; //for faster lookups
+ QString m_componentsToInstallError;
+ //calculate installation order variables
+ QList<Component*> m_orderedComponentsToInstall;
+ //we can't use this reason hash as component id hash, because some reasons are ready before
+ //the component is added
+ QHash<QString, QString> m_toInstallComponentIdReasonHash;
+};
+
class PackageManagerCorePrivate : public QObject
{
Q_OBJECT
@@ -145,10 +175,8 @@ public:
QList<Component*> &replacementDependencyComponents();
QHash<QString, QPair<Component*, Component*> > &componentsToReplace();
- void clearComponentsToInstall();
- bool appendComponentsToInstall(const QList<Component*> &components);
- bool appendComponentToInstall(Component *components);
- QString installReason(Component *component);
+ void clearInstallerCalculator();
+ InstallerCalculator *installerCalculator() const;
bool runInstaller();
bool isInstaller() const;
@@ -256,8 +284,6 @@ private:
LocalPackagesHash localInstalledPackages();
bool fetchMetaInformationFromRepositories();
bool addUpdateResourcesFromRepositories(bool parseChecksum);
- void realAppendToInstallComponents(Component *component);
- void insertInstallReason(Component *component, const QString &reason);
private:
PackageManagerCore *m_core;
@@ -275,18 +301,9 @@ private:
QHash<QString, QPair<Component*, Component*> > m_componentsToReplaceAllMode;
QHash<QString, QPair<Component*, Component*> > m_componentsToReplaceUpdaterMode;
- //calculate installation order variables
- QList<Component*> m_orderedComponentsToInstall;
- QHash<Component*, QSet<Component*> > m_visitedComponents;
-
- QSet<QString> m_toInstallComponentIds; //for faster lookups
-
- //we can't use this reason hash as component id hash, because some reasons are ready before
- //the component is added
- QHash<QString, QString> m_toInstallComponentIdReasonHash;
+ InstallerCalculator *m_installerCalculator;
QSet<Component*> m_componentsToUninstall;
- QString m_componentsToInstallError;
FileDownloaderProxyFactory *m_proxyFactory;
ComponentModel *m_defaultModel;
@@ -295,11 +312,13 @@ private:
QObject *m_guiObject;
QScopedPointer<RemoteFileEngineHandler> m_remoteFileEngineHandler;
+public:
+ void setCheckedState(Component *component, Qt::CheckState state);
+
private:
// remove once we deprecate isSelected, setSelected etc...
void resetComponentsToUserCheckedState();
QHash<Component*, Qt::CheckState> m_coreCheckedHash;
- void setCheckedState(Component *component, Qt::CheckState state);
};
} // namespace QInstaller