Main Page | Class Hierarchy | Compound List | File List | Compound Members

BxBinxFile.h

00001 /********************************************************************
00002  * Binx
00003  * $Id: BxBinxFile_8h-source.html,v 1.1.1.1 2006/04/19 14:19:02 edikt2 Exp $
00004  *
00005  * Class for binx file access
00006  *
00007  *
00008  * edikt::BinX
00009  * www.edikt.org
00010  * support@edikt.org
00011  *
00012  * Copyright (c) 2004 The University of Edinburgh.
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         // The default constructor
00059     BxBinxFile();
00060 
00061         // The destructor
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         // Private operations
00081 
00082     void computeOffsets(BxDataObject* node);
00083 
00084 
00085         // Private data
00086 
00087         // The current file position (used to collect offset of all data objects)
00088     static long currentPosition_;
00089 
00090         //either BxBinxDomParser or BxBinxSaxParser
00091     BxBinxParser* parser_;
00092 
00093         //the BinX document dataset object, describing the content of the binary data file
00094     BxDataset* datasetRoot_;
00095 
00096         //pointer to the open binary data file
00097     BxBinaryFile* bfile_;
00098 };
00099 
00100 #endif

Generated on Fri May 6 13:36:17 2005 for edikt::BinX by doxygen 1.3.3