aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/ssh/sshremoteprocess.h
diff options
context:
space:
mode:
authorhjk <[email protected]>2021-07-27 09:50:43 +0200
committerArtem Sokolovskii <[email protected]>2022-01-04 11:16:14 +0000
commit20d19aa5bf0c296a21b398d7f6b9430ebae81ac5 (patch)
treed0f89015703077b30767fe6ca2dbd5eafa144b84 /src/libs/ssh/sshremoteprocess.h
parent8d06519211060068a92bc57ff346c3a5df24e94c (diff)
RemoteLinux: Implement some of the remote file API
Implementation of remote file API for correct FilePath work with RemoteLinux. Added tests for this functionality Run ssh shell in separate thread. The linux device instance keeps its own thread for running SshRemoteProcess. In this way all calls to filepath interface of linux device coming from different threads are executed in one thread (SshRemoteProcess is reentrant, but not thread safe). The redirection to the device thread is done by invoking SshRemoteProcess' methods through BlockingQueuedConnection. Done-by: Artem Sokolovskii Change-Id: Id8756738d3a4597f175c8ef000c148d0c8536eeb Reviewed-by: Jarek Kobus <[email protected]>
Diffstat (limited to 'src/libs/ssh/sshremoteprocess.h')
-rw-r--r--src/libs/ssh/sshremoteprocess.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libs/ssh/sshremoteprocess.h b/src/libs/ssh/sshremoteprocess.h
index eae08ce4054..e181d18b425 100644
--- a/src/libs/ssh/sshremoteprocess.h
+++ b/src/libs/ssh/sshremoteprocess.h
@@ -25,21 +25,21 @@
#pragma once
+#include "ssh_global.h"
#include "sshprocess.h"
-namespace QSsh {
+namespace Utils { class CommandLine; }
-class SshConnection;
+namespace QSsh {
class QSSH_EXPORT SshRemoteProcess : public SshProcess
{
Q_OBJECT
- friend class SshConnection;
+public:
SshRemoteProcess(const QString &command, const QStringList &connectionArgs,
Utils::ProcessMode processMode = Utils::ProcessMode::Reader);
-public:
void requestX11Forwarding(const QString &displayName);
void start();
@@ -49,6 +49,8 @@ signals:
void done(const QString &error);
private:
+ void doStart();
+
QString m_remoteCommand;
QStringList m_connectionArgs;
QString m_displayName;