#include <apt-pkg/strutl.h>
#include <apt-pkg/acquire-method.h>
+#include "aptmethod.h"
#include <time.h>
#include <iostream>
#include <string>
+#include <memory>
using std::cout;
using std::endl;
virtual ~ServerState() {};
};
-class ServerMethod : public pkgAcqMethod
+class ServerMethod : public aptMethod
{
protected:
virtual bool Fetch(FetchItem *) APT_OVERRIDE;
- ServerState *Server;
+ std::unique_ptr<ServerState> Server;
std::string NextURI;
FileFd *File;
static time_t FailTime;
static APT_NORETURN void SigTerm(int);
- virtual bool Configuration(std::string Message) APT_OVERRIDE;
virtual bool Flush() { return Server->Flush(File); };
int Loop();
virtual void SendReq(FetchItem *Itm) = 0;
- virtual ServerState * CreateServerState(URI uri) = 0;
+ virtual std::unique_ptr<ServerState> CreateServerState(URI const &uri) = 0;
virtual void RotateDNS() = 0;
- ServerMethod(const char *Ver,unsigned long Flags = 0) : pkgAcqMethod(Ver, Flags), Server(NULL), File(NULL), PipelineDepth(10), AllowRedirect(false), Debug(false) {};
+ ServerMethod(char const * const Binary, char const * const Ver,unsigned long const Flags);
virtual ~ServerMethod() {};
};