]> git.saurik.com Git - apt.git/blob - cmdline/apt-extracttemplates.h
Implement CacheDB for source packages in apt-ftparchive
[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 unsigned long Size;
24 char *Control;
25 unsigned long ControlLen;
26
27 public:
28 DebFile(const char *FileName);
29 ~DebFile();
30 bool DoItem(Item &I, int &fd);
31 bool Process(pkgDirStream::Item &I, const unsigned char *data,
32 unsigned long size, unsigned long pos);
33
34 bool Go();
35 bool ParseInfo();
36
37 static std::string GetInstalledVer(const std::string &package);
38
39 std::string Package;
40 std::string Version;
41 std::string DepVer, PreDepVer;
42 unsigned int DepOp, PreDepOp;
43
44 char *Config;
45 char *Template;
46
47 static pkgCache *Cache;
48 enum { None, IsControl, IsConfig, IsTemplate } Which;
49 };
50
51 #endif