TNetDirectory.h

Go to the documentation of this file.
00001 // @(#)root/base:$Name: v5-14-00f $:$Id: TDirectory.h,v 1.37 2006/06/20 18:17:34 pcanal Exp $
00002 // Author: Rene Brun   28/11/94
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TNetDirectory
00013 #define ROOT_TNetDirectory
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TDirectory                                                           //
00019 //                                                                      //
00020 // Describe directory structure in memory.                              //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #ifndef ROOT_TDirectory
00025 #include "TDirectory.h"
00026 #endif
00027 
00028 #include <string>
00029 #include <deque>
00030 
00031 class TNetDirectoryConnection;
00032 
00033 class TNetDirectory : public TDirectory {
00034 
00035 protected:
00036    TNetDirectoryConnection* fConn; //! pointer to network connection
00037    std::string              fPath;
00038    std::deque<TNetDirectory*> fSubDirs;
00039 
00040 private:
00041    TNetDirectory(const TNetDirectory &directory);  //Directories cannot be copied
00042    void operator=(const TNetDirectory &); //Directorise cannot be copied
00043    TNetDirectory(); //TNetDirectory has no default constructor
00044 
00045 public:
00046 
00047    //TNetDirectory(const char *name, const char *title, Option_t *option="", TDirectory* motherDir = 0);
00048    TNetDirectory(const char *name, TDirectory* motherDir = 0);
00049    TNetDirectory(TNetDirectoryConnection* conn, const char* dirname, const std::string& path, TDirectory* motherDir);
00050    virtual ~TNetDirectory();
00051 
00052    // manage connections
00053    int Reconnect();
00054 
00055    // special operations for online data
00056    void ResetTH1(const char* name);
00057 
00058    virtual void        Append(TObject *obj);
00059    virtual void        Browse(TBrowser *b);
00060    virtual void        Clear(Option_t *option="");
00061    virtual void        Close(Option_t *option="");
00062    virtual Bool_t      cd(const char *path = 0);
00063    virtual void        DeleteAll(Option_t *option="");
00064    virtual void        Delete(const char *namecycle="");
00065    virtual void        Draw(Option_t *option="");
00066    virtual void        FillBuffer(char *&buffer);
00067    virtual TKey       *FindKey(const char *keyname) const;
00068    virtual TKey       *FindKeyAny(const char *keyname) const;
00069    virtual TObject    *FindObject(const char *name) const;
00070    virtual TObject    *FindObject(const TObject *obj) const;
00071    virtual TObject    *FindObjectAny(const char *name) const;
00072    virtual TObject    *Get(const char *namecycle);
00073    virtual TDirectory *GetDirectory(const char *namecycle, Bool_t printError = false, const char *funcname = "GetDirectory");
00074    virtual void       *GetObjectChecked(const char *namecycle, const char* classname);
00075    virtual void       *GetObjectChecked(const char *namecycle, const TClass* cl);
00076    virtual void       *GetObjectUnchecked(const char *namecycle);
00077    virtual Int_t       GetBufferSize() const;
00078    virtual TFile      *GetFile() const;
00079    virtual TKey       *GetKey(const char *name, Short_t cycle=9999) const;
00080    virtual TList      *GetList() const;
00081    virtual TList      *GetListOfKeys() const;
00082    virtual Int_t       GetNbytesKeys() const;
00083    virtual Int_t       GetNkeys() const;
00084    virtual Long64_t    GetSeekDir() const;
00085    virtual Long64_t    GetSeekParent() const;
00086    virtual Long64_t    GetSeekKeys() const;
00087    virtual const char *GetPathStatic() const;
00088    virtual const char *GetPath() const;
00089    virtual void        ls(Option_t *option="") const;
00090    virtual TDirectory *mkdir(const char *name, const char *title="");
00091    virtual void        Paint(Option_t *option="");
00092    virtual void        Print(Option_t *option="") const;
00093    virtual void        Purge(Short_t nkeep=1);
00094    virtual void        pwd() const;
00095    virtual void        ReadAll(Option_t *option="");
00096    virtual Int_t       ReadKeys();
00097    virtual void        RecursiveRemove(TObject *obj);
00098    virtual void        rmdir(const char *name);
00099    virtual void        Save();
00100    virtual void        SaveSelf(Bool_t force = kFALSE);
00101    virtual void        SetBufferSize(Int_t bufsize);
00102    virtual void        SetName(const char* newname);
00103    virtual Int_t       Sizeof() const;
00104    virtual Int_t       Write(const char *name=0, Int_t opt=0, Int_t bufsiz=0);
00105    virtual Int_t       Write(const char *name=0, Int_t opt=0, Int_t bufsiz=0) const ;
00106    virtual Int_t       WriteTObject(const TObject *obj, const char *name=0, Option_t *option="");
00107    virtual Int_t       WriteObjectAny(const void *obj, const char *classname, const char *name, Option_t *option="");
00108    virtual Int_t       WriteObjectAny(const void *obj, const TClass *cl, const char *name, Option_t *option="");
00109    virtual void        WriteDirHeader();
00110    virtual void        WriteKeys();
00111 
00112    ClassDef(TNetDirectory,1)  //Describe directory structure in memory
00113 };
00114 
00115 #endif
00116 

Generated on 12 Feb 2016 for ROOT Analyzer by  doxygen 1.6.1