X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/3184b4cf2e8e2009ce62b8f66c666ae7da67e378..671a55ba455dcf4e5ce6d86b202761666f54d5c6:/methods/ftp.h diff --git a/methods/ftp.h b/methods/ftp.h index d7f1f7fbe..de2c232bd 100644 --- a/methods/ftp.h +++ b/methods/ftp.h @@ -3,13 +3,22 @@ // $Id: ftp.h,v 1.4 2001/03/06 07:15:29 jgg Exp $ /* ###################################################################### - FTP Aquire Method - This is the FTP aquire method for APT. + FTP Acquire Method - This is the FTP acquire method for APT. ##################################################################### */ /*}}}*/ #ifndef APT_FTP_H #define APT_FTP_H +#include +#include +#include "aptmethod.h" + +#include +#include +#include +#include + class FTPConn { char Buffer[1024*10]; @@ -33,7 +42,7 @@ class FTPConn socklen_t ServerAddrLen; // Private helper functions - bool ReadLine(string &Text); + bool ReadLine(std::string &Text); bool Login(); bool CreateDataFd(); bool Finalize(); @@ -43,8 +52,8 @@ class FTPConn bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port && Other.User == ServerName.User && Other.Password == ServerName.Password; }; // Raw connection IO - bool ReadResp(unsigned int &Ret,string &Text); - bool WriteMsg(unsigned int &Ret,string &Text,const char *Fmt,...); + bool ReadResp(unsigned int &Ret,std::string &Text); + bool WriteMsg(unsigned int &Ret,std::string &Text,const char *Fmt,...); // Connection control bool Open(pkgAcqMethod *Owner); @@ -53,26 +62,27 @@ class FTPConn bool ExtGoPasv(); // 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, - Hashes &MD5,bool &Missing); + bool Get(const char *Path,FileFd &To,unsigned long long Resume, + Hashes &MD5,bool &Missing, unsigned long long MaximumSize, + pkgAcqMethod *Owner); - FTPConn(URI Srv); + explicit FTPConn(URI Srv); ~FTPConn(); }; -class FtpMethod : public pkgAcqMethod +class FtpMethod : public aptMethod { - virtual bool Fetch(FetchItem *Itm); - virtual bool Configuration(string Message); + virtual bool Fetch(FetchItem *Itm) APT_OVERRIDE; + virtual bool Configuration(std::string Message) APT_OVERRIDE; FTPConn *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: