GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
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 ()
 
void ProduceFullName (TString &name, TGo4Slot *toparent=nullptr) override
 
TGo4ObjectManagerGetOM () const override
 
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=nullptr, const char *title=nullptr)
 
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=nullptr)
 
void ReadDataFromFile (TFile *f)
 
void RegisterLink (TGo4Slot *source, TGo4Slot *target, Bool_t exapndchilds=kFALSE)
 
void UnregisterLink (TGo4Slot *target)
 
std::unique_ptr< TGo4AccessProvideAccess (const char *name=nullptr) override
 
void Event (TGo4Slot *source, Int_t id, void *param=nullptr) override
 
void RetranslateEvent (TGo4Slot *source, Int_t id, void *param=nullptr)
 
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)
 
void RecursiveRemove (TObject *obj) override
 
- 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=nullptr)
 
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) const
 
void PrintPars (Int_t level=3)
 
Int_t NumChilds () const
 
TGo4SlotGetChild (Int_t n) const
 
TGo4SlotFindChild (const char *name) const
 
Int_t GetIndexOf (const TGo4Slot *child) const
 
TGo4SlotGetNextChild (const TGo4Slot *child) const
 
TGo4SlotGetNext () const
 
void DeleteChild (const char *name)
 
void DeleteChilds (const char *startedwith=nullptr)
 
void Delete (Option_t *opt="") override
 
TGo4SlotDefineSubSlot (const char *name, const char *&subname) const
 
TGo4SlotGetSlot (const char *name, Bool_t force=kFALSE)
 
TGo4SlotFindSlot (const char *fullpath, const char **subname=nullptr)
 
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) const
 
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
 
std::unique_ptr< 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=nullptr)
 
void RecursiveRemove (TObject *obj) override
 
void Print (Option_t *opt="") const override
 
Bool_t DoingDelete () const
 
 ClassDefOverride (TGo4Slot, 1)
 
- Public Member Functions inherited from TGo4AccessWrapper
 TGo4AccessWrapper ()
 
virtual ~TGo4AccessWrapper ()
 
TObject * GetObject (const char *name=nullptr)
 
TClass * GetObjectClass (const char *name=nullptr)
 
const char * GetObjectClassName (const char *name=nullptr)
 
 ClassDef (TGo4AccessWrapper, 1)
 

Protected Member Functions

virtual Bool_t AssignObject (const char *path, TObject *obj, Bool_t ownership)
 
void RemoveFromLinks (const TGo4Slot *slot)
 
 ClassDefOverride (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
TGo4SlotfParent {nullptr}
 
TObjArray * fChilds {nullptr}
 
TObjArray fPars
 
TGo4ProxyfProxy {nullptr}
 ! More...
 
Int_t fAssignFlag {-1}
 ! use in object manager to poll until object is assigned More...
 
Int_t fAssignCnt {0}
 ! counts number of object assignment More...
 

Friends

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
}
 
- 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() [1/2]

TGo4ObjectManager::TGo4ObjectManager ( )

Definition at line 74 of file TGo4ObjectManager.cxx.

◆ TGo4ObjectManager() [2/2]

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

Definition at line 82 of file TGo4ObjectManager.cxx.

◆ ~TGo4ObjectManager()

TGo4ObjectManager::~TGo4ObjectManager ( )
virtual

Definition at line 90 of file TGo4ObjectManager.cxx.

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

Member Function Documentation

◆ Add()

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().

◆ AddDir()

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().

◆ AddFile()

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

Definition at line 135 of file TGo4ObjectManager.cxx.

References AddDir().

Referenced by TGo4MainWindow::OpenRemoteFileSlot().

◆ AddFolder()

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().

◆ AddLink() [1/3]

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

◆ AddLink() [2/3]

TGo4Slot * TGo4ObjectManager::AddLink ( TGo4Slot source,
const char *  pathname 
)

Definition at line 271 of file TGo4ObjectManager.cxx.

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

◆ AddLink() [3/3]

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

Definition at line 283 of file TGo4ObjectManager.cxx.

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

◆ AddProxy()

void TGo4ObjectManager::AddProxy ( const char *  pathname,
TGo4Proxy cont,
const char *  name,
const char *  title = "title" 
)

◆ AddROOTFolder()

void TGo4ObjectManager::AddROOTFolder ( const char *  pathname,
const char *  foldername 
)

◆ AddROOTFolders()

void TGo4ObjectManager::AddROOTFolders ( const char *  pathname,
Bool_t  selected = kTRUE 
)

Definition at line 198 of file TGo4ObjectManager.cxx.

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

◆ AddTree()

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().

◆ AssignObject()

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

◆ ClassDefOverride()

TGo4ObjectManager::ClassDefOverride ( TGo4ObjectManager  ,
 
)
protected

list of registered cleanups

◆ CloseFiles()

void TGo4ObjectManager::CloseFiles ( const char *  pathname)

◆ DeleteSlot()

void TGo4ObjectManager::DeleteSlot ( const char *  pathname)

Definition at line 486 of file TGo4ObjectManager.cxx.

References TGo4Slot::GetSlot().

◆ Event()

void TGo4ObjectManager::Event ( TGo4Slot source,
Int_t  id,
void *  param = nullptr 
)
overridevirtual

◆ GetLinked()

TGo4Slot * TGo4ObjectManager::GetLinked ( TGo4Slot link)

Definition at line 288 of file TGo4ObjectManager.cxx.

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

◆ GetOM()

TGo4ObjectManager * TGo4ObjectManager::GetOM ( ) const
overridevirtual

Reimplemented from TGo4Slot.

Definition at line 106 of file TGo4ObjectManager.cxx.

◆ GetProxy()

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

Definition at line 225 of file TGo4ObjectManager.cxx.

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

Referenced by TGo4MainWindow::Browser().

◆ IterateSlots()

Int_t TGo4ObjectManager::IterateSlots ( )

Definition at line 478 of file TGo4ObjectManager.cxx.

References TGo4Iter::next().

Referenced by ProvideAccess().

◆ MakeFolder()

void TGo4ObjectManager::MakeFolder ( const char *  pathname)

◆ MakeObjSlot()

TGo4Slot * TGo4ObjectManager::MakeObjSlot ( const char *  foldername,
const char *  name = nullptr,
const char *  title = nullptr 
)

◆ PrintSlots()

void TGo4ObjectManager::PrintSlots ( )

Definition at line 468 of file TGo4ObjectManager.cxx.

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

Referenced by ProvideAccess().

◆ ProduceFullName()

void TGo4ObjectManager::ProduceFullName ( TString &  name,
TGo4Slot toparent = nullptr 
)
overridevirtual

Reimplemented from TGo4Slot.

Definition at line 101 of file TGo4ObjectManager.cxx.

◆ ProvideAccess()

std::unique_ptr<TGo4Access> TGo4ObjectManager::ProvideAccess ( const char *  name = nullptr)
inlineoverridevirtual

◆ ReadDataFromFile()

void TGo4ObjectManager::ReadDataFromFile ( TFile *  f)

◆ RecursiveRemove()

void TGo4ObjectManager::RecursiveRemove ( TObject *  obj)
override

◆ RegisterLink()

void TGo4ObjectManager::RegisterLink ( TGo4Slot source,
TGo4Slot target,
Bool_t  exapndchilds = kFALSE 
)

Definition at line 297 of file TGo4ObjectManager.cxx.

References fLinks.

Referenced by TGo4LinkProxy::Initialize().

◆ RegisterObjectWith()

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

◆ RemoveFromLinks()

void TGo4ObjectManager::RemoveFromLinks ( const TGo4Slot slot)
protected

◆ RequestObject()

Int_t TGo4ObjectManager::RequestObject ( const char *  source,
const char *  targetslot,
Int_t  waittime_millisec = 0 
)

◆ RetranslateEvent()

void TGo4ObjectManager::RetranslateEvent ( TGo4Slot source,
Int_t  id,
void *  param = nullptr 
)

◆ SaveDataToFile()

void TGo4ObjectManager::SaveDataToFile ( TFile *  f,
Bool_t  onlyobjs = kFALSE,
TGo4Slot startslot = nullptr 
)

◆ UnregisterLink()

void TGo4ObjectManager::UnregisterLink ( TGo4Slot target)

Definition at line 302 of file TGo4ObjectManager.cxx.

References RemoveFromLinks().

◆ UnregisterObject()

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

Friends And Related Function Documentation

◆ TGo4Access

friend class TGo4Access
friend

Definition at line 29 of file TGo4ObjectManager.h.

Member Data Documentation

◆ fCleanups

TObjArray TGo4ObjectManager::fCleanups
protected

list of links between slots

Definition at line 105 of file TGo4ObjectManager.h.

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

◆ fLinks

TObjArray TGo4ObjectManager::fLinks
protected

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