apt-extracttemplates cleanup
[ntk/apt.git] / cmdline / apt-extracttemplates.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description /*{{{*/
3 // $Id: apt-extracttemplates.h,v 1.1 2001/02/25 04:53:59 tausq 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/pkgcache.h>
15 #include <apt-pkg/dirstream.h>
16
17 class DebFile : public pkgDirStream
18 {
19 FileFd File;
20 unsigned long Size;
21 char *Control;
22 unsigned long ControlLen;
23
24 public:
25 DebFile(const char *FileName);
26 ~DebFile();
27 bool DoItem(Item &I, int &fd);
28 bool Process(pkgDirStream::Item &I, const unsigned char *data,
29 unsigned long size, unsigned long pos);
30
31 bool Go();
32 bool ParseInfo();
33
34 static char *GetInstalledVer(const string &package);
35
36 string Package;
37 string Version;
38 string DepVer, PreDepVer;
39 unsigned int DepOp, PreDepOp;
40
41 char *Config;
42 char *Template;
43
44 static pkgCache *Cache;
45 enum { None, IsControl, IsConfig, IsTemplate } Which;
46 };
47
48 #endif