Guitar
GitRemoteSshSession.h
Go to the documentation of this file.
1 #ifndef GITREMOTESSHSESSION_H
2 #define GITREMOTESSHSESSION_H
3 #ifdef UNSAFE_ENABLED
4 
5 #include "AbstractGitSession.h"
6 #include "SshDialog.h"
7 #include <memory>
8 
9 class GitRemoteSshSession : public AbstractGitSession {
10 public:
11  std::shared_ptr<SshConnection> ssh_;
12  std::string git_command_;
13  bool ready_ = false;
14 
15  GitRemoteSshSession();
16 
17  std::shared_ptr<AbstractGitSession> dup();
18 
19  bool connect(std::shared_ptr<SshConnection> ssh, std::string const &gitcmd);
20 
21  bool is_connected() const;
22  bool isValidWorkingCopy(QString const &dir) const;
23  std::optional<GitResult> exec_git(const QString &arg, const Option &opt);
24  bool remove(const QString &path);
25 
26  virtual std::optional<std::vector<GitFileItem>> ls(char const *path);
27  virtual std::optional<std::vector<char>> readfile(char const *path);
28 };
29 
30 #endif
31 #endif // GITREMOTESSHSESSION_H
Definition: AbstractGitSession.h:14
virtual bool is_connected() const =0
virtual std::optional< std::vector< char > > readfile(char const *path)
Definition: AbstractGitSession.h:65
virtual bool isValidWorkingCopy(QString const &dir) const =0
virtual std::optional< std::vector< GitFileItem > > ls(char const *path)
Definition: AbstractGitSession.h:64
virtual std::optional< GitResult > exec_git(QString const &arg, Option const &opt)=0
virtual std::shared_ptr< AbstractGitSession > dup()=0
virtual bool remove(QString const &path)=0