23
23
#include <QtCore/QString>
24
24
#include <QtCore/QStringList>
25
25
#include <QtCore/QThread>
26
#include <QtCore/QProcess>
27
28
class ContainerManagerWorker
31
Q_ENUMS(ContainerAction)
32
Q_PROPERTY(ContainerAction containerAction READ container_action WRITE container_action NOTIFY containerActionChanged)
33
Q_PROPERTY(QString containerId READ container_id WRITE container_id NOTIFY containerIdChanged)
34
Q_PROPERTY(QString containerType READ container_type WRITE container_type NOTIFY containerTypeChanged)
35
Q_PROPERTY(QString containerDistro READ container_distro WRITE container_distro NOTIFY containerDistroChanged)
36
Q_PROPERTY(QString containerName READ container_name WRITE container_name NOTIFY containerNameChanged)
37
Q_PROPERTY(bool containerMultiarch READ container_multiarch WRITE container_multiarch)
38
Q_PROPERTY(QString data READ data WRITE data NOTIFY dataChanged)
39
Q_PROPERTY(QStringList data_list READ data_list WRITE data_list NOTIFY dataListChanged)
42
static const QString libertine_container_manager_tool;
44
enum class ContainerAction
58
ContainerManagerWorker();
59
ContainerManagerWorker(ContainerAction container_action,
60
QString const& container_id,
61
QString const& container_type);
62
ContainerManagerWorker(ContainerAction container_action,
63
QString const& container_id,
64
QString const& container_type,
66
ContainerManagerWorker(ContainerAction container_action,
67
QString const& container_id,
68
QString const& container_type,
69
QStringList data_list);
70
~ContainerManagerWorker();
73
container_action() const;
76
container_action(ContainerAction container_action);
82
container_id(QString const& container_id);
85
container_type() const;
88
container_type(QString const& container_type);
91
container_distro() const;
94
container_distro(QString const& container_distro);
97
container_name() const;
100
container_name(QString const& container_name);
103
container_multiarch();
106
container_multiarch(bool container_multiarch);
112
data(QString const& data);
118
data_list(QStringList data_list);
121
void run() Q_DECL_OVERRIDE;
124
void createContainer(QString const& password);
125
void destroyContainer();
126
void installPackage(QString const& package_name);
127
void removePackage(QString const& package_name);
128
void searchPackageCache(QString const& search_string);
129
void updateContainer();
130
void runCommand(QString const& command_line);
131
void configureContainer(QStringList configure_command);
134
ContainerAction container_action_;
135
QString container_id_;
136
QString container_type_;
137
QString container_distro_;
138
QString container_name_;
139
bool container_multiarch_;
141
QStringList data_list_;
34
explicit ContainerManagerWorker();
35
virtual ~ContainerManagerWorker();
37
Q_INVOKABLE void createContainer(const QString& id, const QString& name, const QString& distro, bool multiarch, const QString& password);
38
Q_INVOKABLE void destroyContainer(const QString& id);
39
Q_INVOKABLE void installPackage(const QString& id, const QString& package_name);
40
Q_INVOKABLE void removePackage(const QString& container_id, const QString& package_name);
41
Q_INVOKABLE void searchPackageCache(const QString& container_id, const QString& search_string);
42
Q_INVOKABLE void updateContainer(const QString& container_id, const QString& container_name);
43
Q_INVOKABLE void runCommand(const QString& container_id, const QString& container_name, const QString& command_line);
44
Q_INVOKABLE void configureContainer(const QString& container_id, const QString& container_name, const QStringList& configure_command);
45
Q_INVOKABLE void fixIntegrity();
48
void packageOperationInteraction(const QString& input);
52
QString process_output_;
144
55
void containerActionChanged();