#ifndef ROOT_TKeyXML
#define ROOT_TKeyXML
#ifndef ROOT_TXMLEngine
#include "TXMLEngine.h"
#endif
#ifndef ROOT_TKey
#include "TKey.h"
#endif
class TXMLFile;
class TKeyXML : public TKey {
protected:
TKeyXML();
public:
TKeyXML(TDirectory* mother, Long64_t keyid, const TObject* obj, const char* name = 0, const char* title = 0);
TKeyXML(TDirectory* mother, Long64_t keyid, const void* obj, const TClass* cl, const char* name, const char* title = 0);
TKeyXML(TDirectory* mother, Long64_t keyid, XMLNodePointer_t keynode);
virtual ~TKeyXML();
virtual void Delete(Option_t *option="");
virtual void DeleteBuffer() {}
virtual void FillBuffer(char *&) {}
virtual char *GetBuffer() const { return 0; }
virtual Long64_t GetSeekKey() const { return fKeyNode ? 1024 : 0;}
virtual Long64_t GetSeekPdir() const { return fKeyNode ? 1024 : 0;}
virtual void Keep() {}
virtual Int_t Read(TObject* tobj);
virtual TObject *ReadObj();
virtual TObject *ReadObjWithBuffer(char *bufferRead);
virtual void *ReadObjectAny(const TClass *expectedClass);
virtual void ReadBuffer(char *&) {}
virtual void ReadFile() {}
virtual void SetBuffer() { fBuffer = 0; }
virtual Int_t WriteFile(Int_t =1, TFile* = 0) { return 0; }
XMLNodePointer_t KeyNode() const { return fKeyNode; }
Long64_t GetKeyId() const { return fKeyId; }
Bool_t IsSubdir() const { return fSubdir; }
void SetSubir() { fSubdir = kTRUE; }
void UpdateObject(TObject* obj);
void UpdateAttributes();
protected:
virtual Int_t Read(const char *name) { return TKey::Read(name); }
void StoreObject(const void* obj, const TClass* cl);
void StoreKeyAttributes();
TXMLEngine* XMLEngine();
void* XmlReadAny(void* obj, const TClass* expectedClass);
XMLNodePointer_t fKeyNode;
Long64_t fKeyId;
Bool_t fSubdir;
ClassDef(TKeyXML,1)
};
#endif
Last change: Wed Jun 25 08:47:46 2008
Last generated: 2008-06-25 08:47
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.