Docker: implement process interface

Change-Id: I57dd9e060ee35280b663611ebb5ddef20b7d0eb7
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
Marcus Tillmanns
2022-04-28 16:15:46 +02:00
parent 1b5b4cb6f4
commit c8024046f9
15 changed files with 262 additions and 93 deletions

View File

@@ -27,7 +27,6 @@
#include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/devicesupport/idevicefactory.h>
#include <projectexplorer/devicesupport/sshdeviceprocess.h>
#include <utils/aspects.h>
@@ -66,6 +65,8 @@ public:
bool canCreateProcess() const override { return true; }
Utils::QtcProcess *createProcess(QObject *parent) const override;
Utils::ProcessInterface *createProcessInterface() const override;
bool canAutoDetectPorts() const override;
ProjectExplorer::PortsGatheringMethod::Ptr portsGatheringMethod() const override;
bool canCreateProcessModel() const override { return false; }
@@ -100,7 +101,6 @@ public:
QByteArray fileContents(const Utils::FilePath &filePath, qint64 limit, qint64 offset) const override;
bool writeFileContents(const Utils::FilePath &filePath, const QByteArray &data) const override;
QDateTime lastModified(const Utils::FilePath &filePath) const override;
void runProcess(Utils::QtcProcess &process) const override;
qint64 fileSize(const Utils::FilePath &filePath) const override;
QFileDevice::Permissions permissions(const Utils::FilePath &filePath) const override;
bool setPermissions(const Utils::FilePath &filePath, QFileDevice::Permissions permissions) const override;
@@ -113,6 +113,8 @@ public:
void updateContainerAccess() const;
void setMounts(const QStringList &mounts) const;
Utils::CommandLine withDockerExecCmd(const Utils::CommandLine& cmd, bool interactive = false) const;
protected:
void fromMap(const QVariantMap &map) final;
QVariantMap toMap() const final;