| 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/pkgcache.h> |
| 15 | #include <apt-pkg/dirstream.h> |
| 16 | |
| 17 | #include <string> |
| 18 | |
| 19 | class DebFile : public pkgDirStream |
| 20 | { |
| 21 | FileFd File; |
| 22 | unsigned long Size; |
| 23 | char *Control; |
| 24 | unsigned long ControlLen; |
| 25 | |
| 26 | public: |
| 27 | DebFile(const char *FileName); |
| 28 | ~DebFile(); |
| 29 | bool DoItem(Item &I, int &fd); |
| 30 | bool Process(pkgDirStream::Item &I, const unsigned char *data, |
| 31 | unsigned long size, unsigned long pos); |
| 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 |