summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/Input.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/Input.h b/include/Input.h
index bb740b0..9395687 100644
--- a/include/Input.h
+++ b/include/Input.h
@@ -35,4 +35,36 @@ class Stdin_t : public Input {
extern Stdin_t Stdin;
+enum ArchiveType {
+ ARCHIVE_BUILTIN = 0
+}
+
+class Archive : public Base {
+ public:
+ Archive(const String &, ArchiveType = 0) throw (GeneralException);
+ virtual ~Archive();
+ static bool inarchive(const String &);
+ static Input & open(const String &) throw (GeneralException);
+ private:
+ bool inarchivein(const String &);
+ Input & openin(const String &) throw (GeneralException);
+ class FileTree : public Base {
+ public:
+ FileTree(const String & = "", size_t = 0, FileTree * = 0, int = 0);
+ virtual ~FileTree();
+ int compute_ptrs(size_t = 0);
+ String name;
+ int type;
+ size_t size;
+ size_t ptr;
+ private:
+ void touched();
+ FileTree * next, * prev, * father, * child;
+ } filetree;
+ String name;
+ Input archive;
+ Archive * next, * prev;
+ static Archive * header;
+};
+
#endif