Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TGO4DIRPROXY_H
00015 #define TGO4DIRPROXY_H
00016
00017 #include "TGo4Proxy.h"
00018
00019 class TFile;
00020 class TDirectory;
00021
00022 class TGo4DirProxy : public TGo4Proxy {
00023 public:
00024 TGo4DirProxy();
00025 TGo4DirProxy(TDirectory* dir, Bool_t readright, Bool_t owner);
00026 virtual ~TGo4DirProxy();
00027
00028 virtual Bool_t HasSublevels() const { return fDir!=0; }
00029
00030 virtual TGo4LevelIter* MakeIter()
00031 { return (fDir==0) ? 0 : ProduceIter(fDir, fReadRight); }
00032
00033 virtual TGo4Access* MakeProxy(const char* name)
00034 { return ProduceProxy(fDir, fReadRight, name); }
00035
00036 virtual void WriteData(TGo4Slot* slot, TDirectory* dir, Bool_t onlyobjs);
00037 virtual void ReadData(TGo4Slot* slot, TDirectory* dir);
00038
00039 virtual Int_t GetObjectKind();
00040 virtual const char* GetContainedClassName();
00041 virtual const char* GetContainedObjectInfo();
00042 virtual Int_t GetObjectSizeInfo();
00043
00044 static TGo4Access* ProduceProxy(TDirectory* dir, Bool_t readright, const char* name);
00045 static TGo4LevelIter* ProduceIter(TDirectory* dir, Bool_t readright);
00046
00047 Bool_t UpdateObjectInFile(const char* filepath, TObject* obj);
00048
00049 Bool_t IsFile() const;
00050 const char* GetFileName() const;
00051
00052 protected:
00053 void SetDir(TDirectory* dir, Bool_t readright, Bool_t owner);
00054 void ClearDir();
00055
00056 TDirectory* fDir;
00057 Bool_t fOwner;
00058 Bool_t fReadRight;
00059
00060 ClassDef(TGo4DirProxy, 1);
00061 };
00062
00063 #endif