#pragma once #include #include "ssh_hosts.h" namespace roro::term { // What `scp` was asked: one file to the card from a server, or from the card to a server. // scp [-f] [-P port] /notes/a.txt user@host:path (upload) // scp [-f] [-P port] user@host:path /notes/a.txt (download; a destination ending in / gets the remote file's name) // The card's paths start with a slash; the server's are the server's own (relative ones start at the home folder). struct ScpArgs { bool upload = false; bool replace = false; // -f: a download may replace a file on the card SshTarget target; std::string local, remote; }; // "" or what is wrong with it. std::string parseScp(const std::string& args, ScpArgs& out); } // namespace roro::term