]> git.saurik.com Git - apt.git/blob - cmdline/apt-extracttemplates.h
FileFd: Add a buffered writing mode
[apt.git] / cmdline / apt-extracttemplates.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description /*{{{*/
3 // $Id: apt-extracttemplates.h,v 1.2 2001/02/27 04:26:03 jgg Exp $
4 /* ######################################################################
5
6 apt-extracttemplate - tool to extract template and config data
7
8 ##################################################################### */
9 /*}}}*/
10 #ifndef _APTEXTRACTTEMPLATE_H_
11 #define _APTEXTRACTTEMPLATE_H_
12
13 #include <apt-pkg/fileutl.h>
14 #include <apt-pkg/dirstream.h>
15
16 #include <string>
17
18 class pkgCache;
19
20 class DebFile : public pkgDirStream
21 {
22 FileFd File;
23 char *Control;
24 unsigned long ControlLen;
25
26 public:
27 explicit DebFile(const char *FileName);
28 ~DebFile();
29 bool DoItem(Item &I, int &fd) APT_OVERRIDE;
30 bool Process(pkgDirStream::Item &I, const unsigned char *data,
31 unsigned long long size, unsigned long long pos) APT_OVERRIDE;
32
33 bool Go();
34 bool ParseInfo();
35
36 static std::string GetInstalledVer(const std::string &package);
37
38 std::string Package;
39 std::string Version;
40 std::string DepVer, PreDepVer;
41 unsigned int DepOp, PreDepOp;
42
43 char *Config;
44 char *Template;
45
46 static pkgCache *Cache;
47 enum { None, IsControl, IsConfig, IsTemplate } Which;
48 };
49
50 #endif