]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/binaryparser.h
Remove the loaded flag from PackSource files
[libs/datafile.git] / source / binaryparser.h
index d275290cbece483a6b1ec1b2b6e109da9f5806db..dfb0de995c7092dd60c9ebc19d6d636b408de84b 100644 (file)
@@ -14,20 +14,25 @@ Parses data in binary format.
 class BinaryParser: public ParserMode
 {
 private:
-       typedef std::map<int, StatementKey> Dictionary;
+       typedef std::map<int, StatementInfo> Dictionary;
        typedef std::map<unsigned, std::string> StringMap;
 
        Dictionary dict;
        StringMap strings;
-       bool first;
        unsigned float_precision;
+       StatementInfo *cur_info;
+       std::vector<unsigned> sub_remaining;
 
 public:
        BinaryParser(Input &i, const std::string &s);
 
-       virtual Statement parse(bool);
+       virtual Statement parse();
+       virtual void process_control_statement(const Statement &);
+
+       virtual const StatementKey *peek(unsigned);
+       virtual bool parse_and_load(unsigned, Loader &, const LoaderAction &);
+
 private:
-       Statement parse_statement(bool);
        IntType::Store parse_int();
        FloatType::Store parse_float();
        StringType::Store parse_string();