/*}}}*/
#ifndef CONTENTS_H
#define CONTENTS_H
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <apt-pkg/debfile.h>
+
#include <apt-pkg/dirstream.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <string>
+
+class debDebFile;
+class FileFd;
+
class GenContents
{
struct Node
unsigned long NodeLeft;
Node *Grab(Node *Top,const char *Name,const char *Package);
- void WriteSpace(FILE *Out,unsigned int Current,unsigned int Target);
- void DoPrint(FILE *Out,Node *Top, char *Buf);
+ void WriteSpace(std::string &out, size_t Current, size_t Target);
+ void DoPrint(FileFd &Out,Node *Top, char *Buf);
public:
char *Mystrdup(const char *From);
void Add(const char *Dir,const char *Package);
- void Print(FILE *Out);
+ void Print(FileFd &Out);
GenContents() : BlockList(0), StrPool(0), StrLeft(0),
NodePool(0), NodeLeft(0) {};
// The Data Block
char *Data;
- unsigned long MaxSize;
- unsigned long CurSize;
+ unsigned long long MaxSize;
+ unsigned long long CurSize;
void AddData(const char *Text);
bool Read(debDebFile &Deb);
virtual bool DoItem(Item &Itm,int &Fd);
void Reset() {CurSize = 0;};
- bool TakeContents(const void *Data,unsigned long Length);
- void Add(GenContents &Contents,string Package);
+ bool TakeContents(const void *Data,unsigned long long Length);
+ void Add(GenContents &Contents,std::string const &Package);
- ContentsExtract() : Data(0), MaxSize(0), CurSize(0) {};
- virtual ~ContentsExtract() {delete [] Data;};
+ ContentsExtract();
+ virtual ~ContentsExtract();
};
#endif