X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/8f3ba4e8708cb72be19dacc2af4f601ee5fea292..f13b413a3bb1f03886ba7d8c43b08bd13836a663:/methods/rsh.h?ds=sidebyside diff --git a/methods/rsh.h b/methods/rsh.h index 7bebe29a0..64a5cf661 100644 --- a/methods/rsh.h +++ b/methods/rsh.h @@ -11,10 +11,12 @@ #define APT_RSH_H #include +#include + #include -#include -#include -#include + +class Hashes; +class FileFd; class RSHConn { @@ -23,6 +25,7 @@ class RSHConn int WriteFd; int ReadFd; URI ServerName; + std::string const Prog; // Private helper functions bool ReadLine(std::string &Text); @@ -34,6 +37,7 @@ class RSHConn // Raw connection IO bool WriteMsg(std::string &Text,bool Sync,const char *Fmt,...); bool Connect(std::string Host, std::string User); + bool Connect(std::string Host, unsigned int Port, std::string User); bool Comp(URI Other) const {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; // Connection control @@ -46,25 +50,29 @@ class RSHConn bool Get(const char *Path,FileFd &To,unsigned long long Resume, Hashes &Hash,bool &Missing, unsigned long long Size); - RSHConn(URI Srv); + RSHConn(std::string const &Prog, URI Srv); ~RSHConn(); }; -class RSHMethod : public pkgAcqMethod +#include +#include "aptmethod.h" + +class RSHMethod : public aptMethod { - virtual bool Fetch(FetchItem *Itm); - virtual bool Configuration(std::string Message); + std::string const Prog; + virtual bool Fetch(FetchItem *Itm) APT_OVERRIDE; + virtual bool Configuration(std::string Message) APT_OVERRIDE; RSHConn *Server; static std::string FailFile; static int FailFd; static time_t FailTime; - static void SigTerm(int); + static APT_NORETURN void SigTerm(int); public: - RSHMethod(); + explicit RSHMethod(std::string const &Prog); }; #endif