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  bool connect(std::shared_ptr<SshConnection> ssh, std::string const &gitcmd);
18 
19  bool is_connected() const;
20  bool isValidWorkingCopy(QString const &dir) const;
21  bool exec_git(const QString &arg, const Option &opt);
22  bool remove(const QString &path);
23 
24  virtual std::optional<std::vector<GitFileItem>> ls(char const *path);
25  virtual std::optional<std::vector<char>> readfile(char const *path);
26 };
27 
28 #endif
29 #endif // GITREMOTESSHSESSION_H
Definition: AbstractGitSession.h:54
virtual bool is_connected() const =0
virtual std::optional< std::vector< char > > readfile(char const *path)
Definition: AbstractGitSession.h:97
virtual bool isValidWorkingCopy(QString const &dir) const =0
virtual std::optional< std::vector< GitFileItem > > ls(char const *path)
Definition: AbstractGitSession.h:96
virtual std::optional< GitResult > exec_git(QString const &arg, Option const &opt)=0
virtual bool remove(QString const &path)=0