 |
ewmscp
..
|
Go to the documentation of this file. 1 #ifndef __libsshCommon_h__
2 #define __libsshCommon_h__
9 #include <libssh/libssh.h>
10 #include <libssh/sftp.h>
19 const sftp_statvfs_struct& vfsStat);
45 template<
typename T> std::unique_ptr<T, void(*)(T*)>
getUniquePtr(T* obj,
void(*deleter)(T*)) {
46 return std::unique_ptr<T, void(*)(T*)>(obj, deleter);
50 bool pathExists(
const std::string& path)
override;
51 std::unique_ptr<const genericStat>
getStat(
const std::string& path,
52 bool followLink)
override;
53 const sftp_statvfs_struct&
getVfsStat(
const std::string& path);
64 std::unique_ptr<const genericStat>
getStat()
override;
70 template <
typename T,
typename ... Args>
inline void good0(T call,
72 const Args& ... args) {
73 if (__builtin_expect(call, 0)) {
75 std::ostringstream msg;
77 ", ssh error ", ssh_get_error(handler.
session),
79 throw std::runtime_error(msg.str());
82 template <
typename T,
typename t,
typename ... Args>
inline T
badval(T call, t badvalue,
84 const Args& ... args) {
85 if (__builtin_expect(call == badvalue,
false)) {
86 std::ostringstream msg;
88 ", ssh error ", ssh_get_error(handler.
session),
91 throw std::runtime_error(msg.str());
97 template <
typename T,
typename ... Args>
inline void good0(T call,
99 const Args& ... args) {
100 if (__builtin_expect(call != 0,
false)) {
101 std::ostringstream msg;
104 throw std::runtime_error(msg.str());
108 template <
typename T,
typename t,
typename ... Args>
inline T
goodval(T call, t goodvalue,
110 const Args& ... args) {
111 if (__builtin_expect(call != goodvalue,
false)) {
112 std::ostringstream msg;
115 throw std::runtime_error(msg.str());
120 template <
typename T,
typename t,
typename ... Args>
inline T
badval(T call, t badvalue,
122 const Args& ... args) {
123 if (__builtin_expect(call == badvalue,
false)) {
124 std::ostringstream msg;
127 throw std::runtime_error(msg.str());
void conCatString(std::ostringstream &msg, const T &begin)
generic stat abstraction class Used to abstract the variants of the stat structure.
bool pathExists(const std::string &path) override
sshOptions(const std::string &optPrefix)
std::unique_ptr< const genericStat > getStat() override
genericSftpStat(const sftp_attributes_struct &attrs, const sftp_statvfs_struct &vfsStat)
libsshIoCommon(const std::string &aPath, libsshCommon &aHandler)
options::single< std::string > knownHostFile
T badval(T call, t badvalue, libsshCommon &handler, const Args &... args)
options::single< std::string > verbosity
std::unique_ptr< T, void(*)(T *)> getUniquePtr(T *obj, void(*deleter)(T *))
std::unique_ptr< const genericStat > getStat(const std::string &path, bool followLink) override
options::single< std::string > configFile
class as base for inputHandler::base::reader and outputHandler::base::writer containing the common pa...
options::single< std::string > host
T badval(T call, t badvalue, libsshCommon &handler, const Args &... args)
const sftp_statvfs_struct & getVfsStat(const std::string &path)
T goodval(T call, t goodvalue, libsshCommon &handler, const Args &... args)
void good0(T call, libsshCommon &handler, const Args &... args)
libsshCommon(sshOptions &aOpt)
void good0(T call, libsshCommon &handler, const Args &... args)