24 class TKey :
public TNamed {
28 kIsDirectoryFile = BIT(14),
29 kReproducible = BIT(15)
31 TKey(
const TKey&) =
delete;
32 TKey& operator=(
const TKey&) =
delete;
48 TDirectory *fMotherDir;
50 virtual Int_t Read(
const char *name) {
return TObject::Read(name); }
51 virtual void Create(Int_t nbytes, TFile* f = 0);
52 void Build(TDirectory* motherDir,
const char* classname, Long64_t filepos);
54 virtual Int_t WriteFileKeepBuffer(TFile *f = 0);
59 TKey(TDirectory* motherDir);
60 TKey(TDirectory* motherDir,
const TKey &orig, UShort_t pidOffset);
61 TKey(
const char *name,
const char *title,
const TClass *cl, Int_t nbytes, TDirectory* motherDir);
62 TKey(
const TString &name,
const TString &title,
const TClass *cl, Int_t nbytes, TDirectory* motherDir);
63 TKey(
const TObject *obj,
const char *name, Int_t bufsize, TDirectory* motherDir);
64 TKey(
const void *obj,
const TClass *cl,
const char *name, Int_t bufsize, TDirectory* motherDir);
65 TKey(Long64_t pointer, Int_t nbytes, TDirectory* motherDir = 0);
68 virtual void Browse(TBrowser *b);
69 virtual void Delete(Option_t *option=
"");
70 virtual void DeleteBuffer();
71 virtual void FillBuffer(
char *&buffer);
72 virtual const char *GetClassName()
const {
return fClassName.Data();}
73 virtual const char *GetIconName()
const;
74 virtual const char *GetTitle()
const;
75 virtual char *GetBuffer()
const {
return fBuffer+fKeylen;}
76 TBuffer *GetBufferRef()
const {
return fBufferRef;}
77 Short_t GetCycle()
const;
78 const TDatime &GetDatime()
const {
return fDatime;}
79 TFile *GetFile()
const;
80 Short_t GetKeep()
const;
81 Int_t GetKeylen()
const {
return fKeylen;}
82 TDirectory* GetMotherDir()
const {
return fMotherDir; }
83 Int_t GetNbytes()
const {
return fNbytes;}
84 Int_t GetObjlen()
const {
return fObjlen;}
85 Int_t GetVersion()
const {
return fVersion;}
86 virtual Long64_t GetSeekKey()
const {
return fSeekKey;}
87 virtual Long64_t GetSeekPdir()
const {
return fSeekPdir;}
88 virtual void IncrementPidOffset(UShort_t offset);
89 Bool_t IsFolder()
const;
91 virtual void ls(Option_t *option=
"")
const;
92 virtual void Print(Option_t *option=
"")
const;
93 virtual Int_t Read(TObject *obj);
94 virtual TObject *ReadObj();
95 virtual TObject *ReadObjWithBuffer(
char *bufferRead);
99 template <
typename T> T *ReadObject() {
100 return reinterpret_cast<T*
>(ReadObjectAny(TClass::GetClass<T>()));
102 virtual void *ReadObjectAny(
const TClass *expectedClass);
103 virtual void ReadBuffer(
char *&buffer);
104 void ReadKeyBuffer(
char *&buffer);
105 virtual Bool_t ReadFile();
106 virtual void SetBuffer() { fBuffer =
new char[fNbytes];}
107 virtual void SetParent(
const TObject *parent);
108 void SetMotherDir(TDirectory* dir) { fMotherDir = dir; }
109 virtual Int_t Sizeof()
const;
110 virtual Int_t WriteFile(Int_t cycle=1, TFile* f = 0);