#ifndef ROOT_TXMLFile
#define ROOT_TXMLFile
#ifndef ROOT_TXMLEngine
#include "TXMLEngine.h"
#endif
#ifndef ROOT_TFile
#include "TFile.h"
#endif
#ifndef ROOT_TXMLSetup
#include "TXMLSetup.h"
#endif
class TKeyXML;
class TList;
class TStreamerElement;
class TStreamerInfo;
class TXMLFile : public TFile, public TXMLSetup {
protected:
void InitXmlFile(Bool_t create);
virtual Int_t SysOpen(const char*, Int_t, UInt_t) { return 0; }
virtual Int_t SysClose(Int_t) { return 0; }
virtual Int_t SysRead(Int_t, void*, Int_t) { return 0; }
virtual Int_t SysWrite(Int_t, const void*, Int_t) { return 0; }
virtual Long64_t SysSeek(Int_t, Long64_t, Int_t) { return 0; }
virtual Int_t SysStat(Int_t, Long_t*, Long64_t*, Long_t*, Long_t*) { return 0; }
virtual Int_t SysSync(Int_t) { return 0; }
virtual Long64_t DirCreateEntry(TDirectory*);
virtual Int_t DirReadKeys(TDirectory*);
virtual void DirWriteKeys(TDirectory*);
virtual void DirWriteHeader(TDirectory*);
private:
void operator=(const TXMLFile &);
public:
TXMLFile();
TXMLFile(const char* filename, Option_t* option = "read", const char* title = "title", Int_t compression = 1);
virtual ~TXMLFile();
virtual void Close(Option_t *option="");
virtual TKey* CreateKey(TDirectory* mother, const TObject* obj, const char* name, Int_t bufsize);
virtual TKey* CreateKey(TDirectory* mother, const void* obj, const TClass* cl, const char* name, Int_t bufsize);
virtual void DrawMap(const char* ="*",Option_t* ="") {}
virtual void FillBuffer(char* &) {}
virtual void Flush() {}
virtual Long64_t GetEND() const { return 0; }
virtual Int_t GetErrno() const { return 0; }
virtual void ResetErrno() const {}
virtual Int_t GetNfree() const { return 0; }
virtual Int_t GetNbytesInfo() const {return 0; }
virtual Int_t GetNbytesFree() const {return 0; }
virtual Long64_t GetSeekFree() const {return 0; }
virtual Long64_t GetSeekInfo() const {return 0; }
virtual Long64_t GetSize() const { return 0; }
virtual TList* GetStreamerInfoList();
Int_t GetIOVersion() const { return fIOVersion; }
virtual Bool_t IsOpen() const;
virtual void MakeFree(Long64_t, Long64_t) {}
virtual void MakeProject(const char *, const char* ="*", Option_t* ="new") {}
virtual void Map() {}
virtual void Paint(Option_t* ="") {}
virtual void Print(Option_t* ="") const {}
virtual Bool_t ReadBuffer(char*, Int_t) { return kFALSE; }
virtual void ReadFree() {}
virtual Int_t Recover() { return 0; }
virtual Int_t ReOpen(Option_t *mode);
virtual void Seek(Long64_t, ERelativeTo=kBeg) {}
virtual void SetEND(Long64_t) {}
virtual Int_t Sizeof() const { return 0; }
virtual void UseCache(Int_t = 10, Int_t = 0) {}
virtual Bool_t WriteBuffer(const char*, Int_t) { return kFALSE; }
virtual Int_t Write(const char* =0, Int_t=0, Int_t=0) { return 0; }
virtual Int_t Write(const char* =0, Int_t=0, Int_t=0) const { return 0; }
virtual void WriteFree() {}
virtual void WriteHeader() {}
virtual void WriteStreamerInfo();
virtual void SetXmlLayout(EXMLLayout layout);
virtual void SetStoreStreamerInfos(Bool_t iConvert = kTRUE);
virtual void SetUsedDtd(Bool_t use = kTRUE);
virtual void SetUseNamespaces(Bool_t iUseNamespaces = kTRUE);
TXMLEngine* XML() { return fXML; }
protected:
void StoreStreamerElement(XMLNodePointer_t node, TStreamerElement* elem);
void ReadStreamerElement(XMLNodePointer_t node, TStreamerInfo* info);
Bool_t ReadFromFile();
Int_t ReadKeysList(TDirectory* dir, XMLNodePointer_t topnode);
TKeyXML* FindDirKey(TDirectory* dir);
TDirectory* FindKeyDir(TDirectory* mother, Long64_t keyid);
void CombineNodesTree(TDirectory* dir, XMLNodePointer_t topnode, Bool_t dolink);
void SaveToFile();
static void ProduceFileNames(const char* filename, TString& fname, TString& dtdname);
XMLDocPointer_t fDoc;
XMLNodePointer_t fStreamerInfoNode;
TXMLEngine* fXML;
Int_t fIOVersion;
Long64_t fKeyCounter;
ClassDef(TXMLFile, 2)
};
#endif
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.