summaryrefslogtreecommitdiff
path: root/src/win95/enumchnk.hpp
diff options
context:
space:
mode:
authorSteven Fuller <relnev@icculus.org>2001-07-01 00:55:22 +0000
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-20 02:09:04 +0200
commit2186d5f3f95cd74a070a490d899291648d58667a (patch)
tree55241a1afa3e1a22e0b6593a8dead0b703800f44 /src/win95/enumchnk.hpp
parent218ca90543758a20ac326e444ca0643174ca7384 (diff)
Initial revision
Diffstat (limited to 'src/win95/enumchnk.hpp')
-rw-r--r--src/win95/enumchnk.hpp82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/win95/enumchnk.hpp b/src/win95/enumchnk.hpp
new file mode 100644
index 0000000..a29bf16
--- /dev/null
+++ b/src/win95/enumchnk.hpp
@@ -0,0 +1,82 @@
+#ifndef _included_enumchnk_hpp_
+#define _included_enumchnk_hpp_
+
+#include "chunk.hpp"
+#include "mishchnk.hpp"
+
+class Enum_Header_Chunk;
+
+class Enum_Chunk : public Lockable_Chunk_With_Children
+{
+public:
+
+ // empty constructor
+ Enum_Chunk (Chunk_With_Children * parent);
+
+ // constructor from buffer
+ Enum_Chunk (Chunk_With_Children * const parent,const char *, size_t const);
+
+ Enum_Header_Chunk * get_header();
+
+ // functions for the locking functionality
+
+ BOOL file_equals (HANDLE &);
+ const char * get_head_id();
+ void set_lock_user(char *);
+
+ void post_input_processing();
+
+private:
+
+ friend class File_Chunk;
+ friend class GodFather_Chunk;
+
+
+
+
+};
+
+///////////////////////////////////////////////
+
+class Enum_Header_Chunk : public Chunk
+{
+public:
+ // constructor from buffer
+ Enum_Header_Chunk (Chunk_With_Children * parent, const char * pdata, size_t psize);
+
+ virtual size_t size_chunk ()
+ {
+ chunk_size = 36;
+ return chunk_size;
+ }
+
+ virtual BOOL output_chunk (HANDLE &);
+
+ virtual void fill_data_block (char * data_start);
+
+ void prepare_for_output();
+
+private:
+
+ friend class Enum_Chunk;
+ friend class File_Chunk;
+
+ int flags;
+
+ int version_no;
+
+ char lock_user[17];
+
+
+ // constructor from parent
+ Enum_Header_Chunk (Enum_Chunk * parent)
+ : Chunk (parent, "ENUMHEAD"),
+ flags (0), version_no (0)
+ {}
+
+};
+
+
+
+
+#endif // _included_enumchnk_hpp_ \ No newline at end of file