00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4ITER_H 00017 #define TGO4ITER_H 00018 00019 #include "TGo4AccessWrapper.h" 00020 00021 #include "TObject.h" 00022 #include "TObjArray.h" 00023 #include "TString.h" 00024 00025 class TGo4Iter : public TGo4AccessWrapper { 00026 public: 00027 TGo4Iter(TGo4Slot* slot, Bool_t onlyslots = kFALSE); 00028 virtual ~TGo4Iter(); 00029 00030 Bool_t next(Bool_t goesinto = kTRUE); 00031 Bool_t nextobj(); 00032 00033 Bool_t isfolder(); 00034 const char* getname(); 00035 const char* getfullname(); 00036 00037 Int_t getkindofitem(); 00038 const char* getclassname(); 00039 const char* getinfo(); 00040 Int_t getsizeinfo(); 00041 Int_t getflag(const char* flagname); 00042 00043 Int_t level() const; 00044 Int_t levelchange() const { return fLevelChange; } 00045 Bool_t isslot() const { return getslot()!=0; } 00046 TGo4Slot* getslot() const; 00047 00048 virtual TGo4Access* ProvideAccess(const char* name = 0); 00049 00050 protected: 00051 TGo4Iter(); 00052 00053 TGo4LevelIter* currentiter() const 00054 { return (fStatus!=0) ? 0 : (TGo4LevelIter*) fLevels.Last(); } 00055 00056 TGo4Slot* fSlot; 00057 Bool_t fOnlySlots; 00058 TObjArray fLevels; 00059 Int_t fStatus; 00060 TString fFullName; 00061 Int_t fLevelChange; 00062 00063 ClassDef(TGo4Iter,1); 00064 }; 00065 00066 #endif 00067 00068 //----------------------------END OF GO4 SOURCE FILE ---------------------