]>
Commit | Line | Data |
---|---|---|
1 | #ifndef APT_APTMETHOD_H | |
2 | #define APT_APTMETHOD_H | |
3 | ||
4 | #include <apt-pkg/acquire-method.h> | |
5 | #include <apt-pkg/configuration.h> | |
6 | ||
7 | #include <locale> | |
8 | #include <string> | |
9 | ||
10 | class aptMethod : public pkgAcqMethod | |
11 | { | |
12 | char const * const Binary; | |
13 | ||
14 | public: | |
15 | virtual bool Configuration(std::string Message) APT_OVERRIDE | |
16 | { | |
17 | if (pkgAcqMethod::Configuration(Message) == false) | |
18 | return false; | |
19 | ||
20 | std::string const conf = std::string("Binary::") + Binary; | |
21 | _config->MoveSubTree(conf.c_str(), NULL); | |
22 | ||
23 | DropPrivsOrDie(); | |
24 | ||
25 | return true; | |
26 | } | |
27 | ||
28 | bool CalculateHashes(FetchItem const * const Itm, FetchResult &Res) const | |
29 | { | |
30 | Hashes Hash(Itm->ExpectedHashes); | |
31 | FileFd Fd; | |
32 | if (Fd.Open(Res.Filename, FileFd::ReadOnly) == false || Hash.AddFD(Fd) == false) | |
33 | return false; | |
34 | Res.TakeHashes(Hash); | |
35 | return true; | |
36 | } | |
37 | ||
38 | void Warning(const char *Format,...) | |
39 | { | |
40 | va_list args; | |
41 | va_start(args,Format); | |
42 | PrintStatus("104 Warning", Format, args); | |
43 | va_end(args); | |
44 | } | |
45 | ||
46 | aptMethod(char const * const Binary, char const * const Ver, unsigned long const Flags) : | |
47 | pkgAcqMethod(Ver, Flags), Binary(Binary) | |
48 | { | |
49 | try { | |
50 | std::locale::global(std::locale("")); | |
51 | } catch (...) { | |
52 | setlocale(LC_ALL, ""); | |
53 | } | |
54 | } | |
55 | }; | |
56 | ||
57 | #endif |