00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef BXBINXFILE_H
00017 #define BXBINXFILE_H
00018
00019 #include "BxObject.h"
00020
00021 class BxBinxParser;
00022 class BxDataset;
00023 class BxBinaryFile;
00024 class BxDataObject;
00025
00055 class DECLSPEC BxBinxFile : public BxObject
00056 {
00057 public:
00058
00059 BxBinxFile();
00060
00061
00062 virtual ~BxBinxFile();
00063
00064 virtual char* className() const { return "BxBinxFile"; }
00065
00066 BxDataset* getDataset() const;
00067 BxBinaryFile* getBinaryFile() { return bfile_; }
00068 void setBinaryFilePtr(BxBinaryFile* bfile);
00069
00070 bool parseBinxFile(const char* xmlFile);
00071
00072 bool isIndexed() const;
00073 bool isLinkBinx() const;
00074 void createIndice();
00075
00076 protected:
00077 void reset();
00078
00079 private:
00080
00081
00082 void computeOffsets(BxDataObject* node);
00083
00084
00085
00086
00087
00088 static long currentPosition_;
00089
00090
00091 BxBinxParser* parser_;
00092
00093
00094 BxDataset* datasetRoot_;
00095
00096
00097 BxBinaryFile* bfile_;
00098 };
00099
00100 #endif