2019-11-28 18:13:56 +03:00
|
|
|
#ifndef IDISTRIBUTION_H
|
|
|
|
#define IDISTRIBUTION_H
|
|
|
|
|
|
|
|
#include "distrostruct.h"
|
|
|
|
#include "envirement.h"
|
2020-01-13 18:25:03 +03:00
|
|
|
#include "templateinfo.h"
|
2020-01-16 11:10:16 +03:00
|
|
|
#include <QProcess>
|
2019-11-28 18:13:56 +03:00
|
|
|
|
2020-01-14 15:48:35 +03:00
|
|
|
#include <QFileInfo>
|
2020-01-15 18:31:09 +03:00
|
|
|
class FileManager;
|
2020-01-18 20:01:14 +03:00
|
|
|
class DistroModule;
|
2020-01-14 15:48:35 +03:00
|
|
|
|
2019-11-28 18:13:56 +03:00
|
|
|
class DEPLOYSHARED_EXPORT iDistribution
|
|
|
|
{
|
|
|
|
public:
|
2020-01-15 18:31:09 +03:00
|
|
|
iDistribution(FileManager * fileManager);
|
2019-11-28 18:13:56 +03:00
|
|
|
virtual ~iDistribution();
|
|
|
|
|
2020-01-05 13:58:38 +03:00
|
|
|
virtual QString getConfig() const = 0;
|
2020-01-16 15:25:36 +03:00
|
|
|
virtual bool deployTemplate() = 0;
|
2020-01-15 11:50:30 +03:00
|
|
|
virtual bool removeTemplate() const = 0;
|
2020-01-16 11:10:16 +03:00
|
|
|
virtual Envirement toolKitEnv() const = 0;
|
|
|
|
virtual QProcessEnvironment processEnvirement() const = 0;
|
|
|
|
|
|
|
|
virtual QString runCmd() = 0;
|
2020-01-05 13:58:38 +03:00
|
|
|
virtual QStringList runArg() const = 0;
|
|
|
|
|
|
|
|
QString getClassName() const;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
QString getLocation() const;
|
|
|
|
void setLocation(const QString &location);
|
2020-01-14 15:48:35 +03:00
|
|
|
bool unpackFile(const QFileInfo& resource,
|
|
|
|
const QString& target,
|
2020-01-19 13:26:47 +03:00
|
|
|
const TemplateInfo& info,
|
|
|
|
const QStringList &sufixes) const;
|
2020-01-14 15:48:35 +03:00
|
|
|
|
|
|
|
bool unpackDir(const QString& resource,
|
|
|
|
const QString& target,
|
2020-01-19 13:26:47 +03:00
|
|
|
const TemplateInfo& info,
|
|
|
|
const QStringList &sufixes) const;
|
2020-01-05 13:58:38 +03:00
|
|
|
|
2020-01-18 20:01:14 +03:00
|
|
|
bool moveData(const QString& from, const QString& to, const QString &ignore) const;
|
2020-01-16 15:25:36 +03:00
|
|
|
bool copyFile(const QString& from, const QString& to) const;
|
|
|
|
|
2020-01-15 18:31:09 +03:00
|
|
|
|
2020-01-27 20:02:25 +03:00
|
|
|
QMap<int, QPair<QString, const DistroModule *>> sortPackages(const QHash<QString, DistroModule> &input);
|
2020-01-05 13:58:38 +03:00
|
|
|
private:
|
2020-01-19 13:26:47 +03:00
|
|
|
|
2020-01-18 20:01:14 +03:00
|
|
|
QString _location = "Temp Template";
|
2020-01-15 18:31:09 +03:00
|
|
|
FileManager * _fileManager = nullptr;
|
2020-01-05 13:58:38 +03:00
|
|
|
|
2019-11-28 18:13:56 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // IDISTRIBUTION_H
|