X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b2e465d6d32d2dc884f58b94acb7e35f671a87fe..7cafe70555740bd0acbf0b8d2193b95423e7436b:/methods/rsh.h diff --git a/methods/rsh.h b/methods/rsh.h index c3f3258e9..dee4ad647 100644 --- a/methods/rsh.h +++ b/methods/rsh.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- -// Description /*{{{*/// $Id: rsh.h,v 1.2 2001/02/20 07:03:18 jgg Exp $ -// $Id: rsh.h,v 1.2 2001/02/20 07:03:18 jgg Exp $ +// Description /*{{{*/// $Id: rsh.h,v 1.4 2002/11/09 23:33:26 doogie Exp $ +// $Id: rsh.h,v 1.4 2002/11/09 23:33:26 doogie Exp $ /* ###################################################################### RSH method - Transfer files via rsh compatible program @@ -11,10 +11,12 @@ #define APT_RSH_H #include +#include + #include -#include -#include -#include + +class Hashes; +class FileFd; class RSHConn { @@ -23,47 +25,52 @@ class RSHConn int WriteFd; int ReadFd; URI ServerName; + std::string const Prog; // Private helper functions - bool ReadLine(string &Text); + bool ReadLine(std::string &Text); public: - int Process; + pid_t Process; // Raw connection IO - bool WriteMsg(string &Text,bool Sync,const char *Fmt,...); - bool Connect(string Host, string User); - bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; + 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 bool Open(); void Close(); // Query - bool Size(const char *Path,unsigned long &Size); + bool Size(const char *Path,unsigned long long &Size); bool ModTime(const char *Path, time_t &Time); - bool Get(const char *Path,FileFd &To,unsigned long Resume, - MD5Summation &MD5,bool &Missing, unsigned long Size); + 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 "aptmethod.h" + +class RSHMethod : public aptMethod { - virtual bool Fetch(FetchItem *Itm); + virtual bool Fetch(FetchItem *Itm) APT_OVERRIDE; + virtual bool Configuration(std::string Message) APT_OVERRIDE; RSHConn *Server; - static string FailFile; + 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 &&Prog); }; #endif