diff options
Diffstat (limited to 'modules/io-ssh/c++/ssh.hpp')
| -rw-r--r-- | modules/io-ssh/c++/ssh.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/modules/io-ssh/c++/ssh.hpp b/modules/io-ssh/c++/ssh.hpp new file mode 100644 index 0000000..93c4ac0 --- /dev/null +++ b/modules/io-ssh/c++/ssh.hpp @@ -0,0 +1,43 @@ +#pragma once + +#include <forstio/io/io.hpp> + +namespace saw { +namespace net { +struct Ssh {}; +} + +template<> +class network_address<net::Ssh> final { +private: + std::string address_; +public: + network_address(const std::string& address__): + address_{address__} + {} +}; + +template<> +class network<net::Ssh> final { +private: +public: + conveyor<own<network_address<net::Ssh>>> resolve_address(const std::string& addr){ + return make_error<err::not_implemented>("SSH resolve address not implemented"); + } + + error_or<own<network_address<net::Ssh>>> parse_address(const std::string& addr){ + return heap<network_address<net::Ssh>>(addr); + } +}; + +error_or<own<network<net::Ssh>>> setup_ssh_network(){ + own<network<net::Ssh>> ssh_net; + try{ + ssh_net = heap<network<net::Ssh>>(); + }catch(const std::exception& e){ + (void)e; + return make_error<err::critical>("Couldn't allocate ssh memory"); + } + return ssh_net; +} +} |
