GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
TGo4ObjectManager Class Reference

#include <TGo4ObjectManager.h>

+ Inheritance diagram for TGo4ObjectManager:

Public Member Functions

 TGo4ObjectManager ()
 TGo4ObjectManager (const char *name, const char *title)
virtual ~TGo4ObjectManager ()
virtual void ProduceFullName (TString &name, TGo4Slot *toparent=0)
virtual TGo4ObjectManagerGetOM () const
void MakeFolder (const char *pathname)
TGo4SlotAdd (const char *pathname, TObject *obj, Bool_t owner=kFALSE, Bool_t canrename=kFALSE)
TGo4SlotMakeObjSlot (const char *foldername, const char *name=0, const char *title=0)
TGo4SlotAddLink (TGo4Slot *source, const char *pathname, const char *linkname, const char *linktitle)
TGo4SlotAddLink (TGo4Slot *source, const char *pathname)
TGo4SlotAddLink (const char *sourcename, const char *pathname)
TGo4SlotGetLinked (TGo4Slot *link)
void AddFile (const char *pathname, const char *filename)
void CloseFiles (const char *pathname)
void AddDir (const char *pathname, TDirectory *dir, Bool_t owner=kFALSE, Bool_t readright=kFALSE)
void AddTree (const char *pathname, TTree *tree, Bool_t owner=kFALSE)
void AddFolder (const char *pathname, TFolder *folder, Bool_t owner=kFALSE)
void AddROOTFolder (const char *pathname, const char *foldername)
void AddROOTFolders (const char *pathname, Bool_t selected=kTRUE)
void AddProxy (const char *pathname, TGo4Proxy *cont, const char *name, const char *title="title")
TGo4ProxyGetProxy (const char *name)
void DeleteSlot (const char *pathname)
void SaveDataToFile (TFile *f, Bool_t onlyobjs=kFALSE, TGo4Slot *startslot=0)
void ReadDataFromFile (TFile *f)
void RegisterLink (TGo4Slot *source, TGo4Slot *target, Bool_t exapndchilds=kFALSE)
void UnregisterLink (TGo4Slot *target)
virtual TGo4AccessProvideAccess (const char *name=0)
virtual void Event (TGo4Slot *source, Int_t id, void *param=0)
void RetranslateEvent (TGo4Slot *source, Int_t id, void *param=0)
void RegisterObjectWith (TObject *obj, TGo4Slot *slot)
void UnregisterObject (TObject *obj, TGo4Slot *slot)
void PrintSlots ()
Int_t IterateSlots ()
Int_t RequestObject (const char *source, const char *targetslot, Int_t waittime_millisec=0)
virtual void RecursiveRemove (TObject *obj)
- Public Member Functions inherited from TGo4Slot
 TGo4Slot ()
 TGo4Slot (TGo4Slot *parent)
 TGo4Slot (TGo4Slot *parent, const char *name, const char *title)
virtual ~TGo4Slot ()
TGo4SlotGetParent () const
void SetParent (TGo4Slot *parent)
Bool_t IsParent (const TGo4Slot *slot) const
TString GetFullName (TGo4Slot *toparent=0)
const char * GetInfo ()
Int_t GetSizeInfo ()
void SetPar (const char *name, const char *value)
const char * GetPar (const char *name) const
void RemovePar (const char *name)
void SetIntPar (const char *name, Int_t value)
Bool_t GetIntPar (const char *name, Int_t &value)
void PrintPars (Int_t level=3)
Int_t NumChilds () const
TGo4SlotGetChild (Int_t n) const
TGo4SlotFindChild (const char *name)
Int_t GetIndexOf (TGo4Slot *child)
TGo4SlotGetNextChild (TGo4Slot *child)
TGo4SlotGetNext ()
void DeleteChild (const char *name)
void DeleteChilds (const char *startedwith=0)
virtual void Delete (Option_t *opt="")
TGo4SlotDefineSubSlot (const char *name, const char *&subname) const
TGo4SlotGetSlot (const char *name, Bool_t force=kFALSE)
TGo4SlotFindSlot (const char *fullpath, const char **subname=0)
Bool_t ShiftSlotBefore (TGo4Slot *slot, TGo4Slot *before)
Bool_t ShiftSlotAfter (TGo4Slot *slot, TGo4Slot *after)
void SetProxy (TGo4Proxy *cont)
TGo4ProxyGetProxy () const
Int_t GetSlotKind () const
const char * GetSlotClassName () const
Bool_t IsAcceptObject (TClass *cl)
Bool_t AssignObject (TObject *obj, Bool_t owner)
TObject * GetAssignedObject ()
virtual void Update (Bool_t strong=kFALSE)
Int_t GetAssignFlag () const
void ResetAssignFlag ()
Int_t GetAssignCnt () const
Bool_t HasSubLevels () const
Bool_t HasSlotsSubLevels () const
TGo4LevelIterMakeLevelIter () const
TGo4AccessProvideSlotAccess (const char *name)
void SaveData (TDirectory *dir, Bool_t onlyobjs=kFALSE)
void ReadData (TDirectory *dir)
void ForwardEvent (TGo4Slot *source, Int_t id, void *param=0)
virtual void Print (Option_t *option) const
Bool_t DoingDelete () const
 ClassDef (TGo4Slot, 1)
- Public Member Functions inherited from TGo4AccessWrapper
 TGo4AccessWrapper ()
virtual ~TGo4AccessWrapper ()
TObject * GetObject (const char *name=0)
TClass * GetObjectClass (const char *name=0)
const char * GetObjectClassName (const char *name=0)
 ClassDef (TGo4AccessWrapper, 1)

Protected Member Functions

virtual Bool_t AssignObject (const char *path, TObject *obj, Bool_t ownership)
void RemoveFromLinks (const TGo4Slot *slot)
 ClassDef (TGo4ObjectManager, 1)
 list of registered cleanups More...
- Protected Member Functions inherited from TGo4Slot
void CleanProxy ()
void AddChild (TGo4Slot *child)
void RemoveChild (TGo4Slot *child)

Protected Attributes

TObjArray fLinks
TObjArray fCleanups
 list of links between slots More...
- Protected Attributes inherited from TGo4Slot
TObjArray * fChilds
TObjArray fPars
Int_t fAssignFlag
Int_t fAssignCnt
 use in object manager to poll until object is assigned More...


class TGo4Access

Additional Inherited Members

- Public Types inherited from TGo4Slot
enum  {
  evDelete = 0, evCreate = 1, evObjAssigned = 2, evContAssigned = 3,
  evObjUpdated = 4, evSubslotUpdated = 5, evObjDeleted = 6
 counts number of object assignment More...
- Static Public Member Functions inherited from TGo4Slot
static const char * FindFolderSeparator (const char *name)
static void ProduceFolderAndName (const char *fullname, TString &foldername, TString &objectname)
- Protected Types inherited from TGo4Slot
enum  ESlotBits { kStartDelete = BIT(23) }

Detailed Description

Definition at line 28 of file TGo4ObjectManager.h.

Constructor & Destructor Documentation

TGo4ObjectManager::TGo4ObjectManager ( )

Definition at line 74 of file TGo4ObjectManager.cxx.

TGo4ObjectManager::TGo4ObjectManager ( const char *  name,
const char *  title 

Definition at line 82 of file TGo4ObjectManager.cxx.

TGo4ObjectManager::~TGo4ObjectManager ( )

Definition at line 90 of file TGo4ObjectManager.cxx.

References TGo4Slot::DeleteChilds(), fCleanups, and fLinks.

Member Function Documentation

TGo4Slot * TGo4ObjectManager::Add ( const char *  pathname,
TObject *  obj,
Bool_t  owner = kFALSE,
Bool_t  canrename = kFALSE 

Definition at line 117 of file TGo4ObjectManager.cxx.

References MakeObjSlot(), and TGo4Slot::SetProxy().

Referenced by TGo4BrowserProxy::SaveToMemory().

void TGo4ObjectManager::AddDir ( const char *  pathname,
TDirectory *  dir,
Bool_t  owner = kFALSE,
Bool_t  readright = kFALSE 

Definition at line 154 of file TGo4ObjectManager.cxx.

References MakeObjSlot(), and TGo4Slot::SetProxy().

Referenced by AddFile().

void TGo4ObjectManager::AddFile ( const char *  pathname,
const char *  filename 

Definition at line 135 of file TGo4ObjectManager.cxx.

References AddDir().

Referenced by TGo4BrowserProxy::OpenFile(), and TGo4MainWindow::OpenRemoteFileSlot().

void TGo4ObjectManager::AddFolder ( const char *  pathname,
TFolder *  folder,
Bool_t  owner = kFALSE 

Definition at line 178 of file TGo4ObjectManager.cxx.

References MakeObjSlot(), and TGo4Slot::SetProxy().

TGo4Slot * TGo4ObjectManager::AddLink ( TGo4Slot source,
const char *  pathname,
const char *  linkname,
const char *  linktitle 
TGo4Slot * TGo4ObjectManager::AddLink ( TGo4Slot source,
const char *  pathname 

Definition at line 277 of file TGo4ObjectManager.cxx.

References MakeObjSlot(), and TGo4Slot::SetProxy().

TGo4Slot * TGo4ObjectManager::AddLink ( const char *  sourcename,
const char *  pathname 

Definition at line 295 of file TGo4ObjectManager.cxx.

References AddLink(), and TGo4Slot::GetSlot().

void TGo4ObjectManager::AddProxy ( const char *  pathname,
TGo4Proxy cont,
const char *  name,
const char *  title = "title" 
void TGo4ObjectManager::AddROOTFolder ( const char *  pathname,
const char *  foldername 
void TGo4ObjectManager::AddROOTFolders ( const char *  pathname,
Bool_t  selected = kTRUE 

Definition at line 198 of file TGo4ObjectManager.cxx.

References AddROOTFolder(), and TGo4Slot::GetSlot().

void TGo4ObjectManager::AddTree ( const char *  pathname,
TTree *  tree,
Bool_t  owner = kFALSE 

Definition at line 168 of file TGo4ObjectManager.cxx.

References MakeObjSlot(), and TGo4Slot::SetProxy().

Bool_t TGo4ObjectManager::AssignObject ( const char *  path,
TObject *  obj,
Bool_t  ownership 
TGo4ObjectManager::ClassDef ( TGo4ObjectManager  ,

list of registered cleanups

void TGo4ObjectManager::CloseFiles ( const char *  pathname)
void TGo4ObjectManager::DeleteSlot ( const char *  pathname)

Definition at line 501 of file TGo4ObjectManager.cxx.

References TGo4Slot::GetSlot().

Referenced by TGo4BrowserProxy::DeleteDataSource().

void TGo4ObjectManager::Event ( TGo4Slot source,
Int_t  id,
void *  param = 0 
TGo4Slot * TGo4ObjectManager::GetLinked ( TGo4Slot link)

Definition at line 300 of file TGo4ObjectManager.cxx.

References TGo4LinkProxy::GetLink(), and TGo4Slot::GetProxy().

TGo4ObjectManager * TGo4ObjectManager::GetOM ( ) const

Reimplemented from TGo4Slot.

Definition at line 106 of file TGo4ObjectManager.cxx.

TGo4Proxy * TGo4ObjectManager::GetProxy ( const char *  name)

Definition at line 225 of file TGo4ObjectManager.cxx.

References TGo4Slot::GetProxy(), and TGo4Slot::GetSlot().

Referenced by TGo4MainWindow::Browser().

Int_t TGo4ObjectManager::IterateSlots ( )

Definition at line 493 of file TGo4ObjectManager.cxx.

References TGo4Iter::next().

void TGo4ObjectManager::MakeFolder ( const char *  pathname)
TGo4Slot * TGo4ObjectManager::MakeObjSlot ( const char *  foldername,
const char *  name = 0,
const char *  title = 0 
void TGo4ObjectManager::PrintSlots ( )

Definition at line 481 of file TGo4ObjectManager.cxx.

References TGo4Iter::getname(), TGo4Iter::level(), and TGo4Iter::next().

void TGo4ObjectManager::ProduceFullName ( TString &  name,
TGo4Slot toparent = 0 

Reimplemented from TGo4Slot.

Definition at line 101 of file TGo4ObjectManager.cxx.

virtual TGo4Access* TGo4ObjectManager::ProvideAccess ( const char *  name = 0)

Reimplemented from TGo4AccessWrapper.

Definition at line 81 of file TGo4ObjectManager.h.

References TGo4Slot::ProvideSlotAccess().

void TGo4ObjectManager::ReadDataFromFile ( TFile *  f)
void TGo4ObjectManager::RecursiveRemove ( TObject *  obj)
void TGo4ObjectManager::RegisterLink ( TGo4Slot source,
TGo4Slot target,
Bool_t  exapndchilds = kFALSE 

Definition at line 309 of file TGo4ObjectManager.cxx.

References fLinks.

Referenced by TGo4LinkProxy::Initialize(), and TGo4BrowserProxy::Initialize().

void TGo4ObjectManager::RegisterObjectWith ( TObject *  obj,
TGo4Slot slot 
void TGo4ObjectManager::RemoveFromLinks ( const TGo4Slot slot)

Definition at line 319 of file TGo4ObjectManager.cxx.

References fLinks, TGo4ObjManLink::GetSource(), and TGo4ObjManLink::GetTarget().

Referenced by Event(), and UnregisterLink().

Int_t TGo4ObjectManager::RequestObject ( const char *  source,
const char *  targetslot,
Int_t  waittime_millisec = 0 
void TGo4ObjectManager::RetranslateEvent ( TGo4Slot source,
Int_t  id,
void *  param = 0 
void TGo4ObjectManager::SaveDataToFile ( TFile *  f,
Bool_t  onlyobjs = kFALSE,
TGo4Slot startslot = 0 
void TGo4ObjectManager::UnregisterLink ( TGo4Slot target)

Definition at line 314 of file TGo4ObjectManager.cxx.

References RemoveFromLinks().

Referenced by TGo4LinkProxy::Finalize(), and TGo4BrowserProxy::Finalize().

void TGo4ObjectManager::UnregisterObject ( TObject *  obj,
TGo4Slot slot 

Friends And Related Function Documentation

friend class TGo4Access

Definition at line 29 of file TGo4ObjectManager.h.

Member Data Documentation

TObjArray TGo4ObjectManager::fCleanups

list of links between slots

Definition at line 105 of file TGo4ObjectManager.h.

Referenced by RecursiveRemove(), RegisterObjectWith(), UnregisterObject(), and ~TGo4ObjectManager().

TObjArray TGo4ObjectManager::fLinks

The documentation for this class was generated from the following files: