Gaudi Framework, version v25r0

Home   Generated: Mon Feb 17 2014
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
Objects Namespace Reference

Namespace for basic object handling within container classes. More...

Functions

bool access (const ContainedObject *from, ContainedObject **to)
 
bool access (const DataObject *from, DataObject **to)
 
template<class TO , class FROM >
TO * reference (FROM *from)
 

Detailed Description

Namespace for basic object handling within container classes.

Function Documentation

bool Objects::access ( const ContainedObject from,
ContainedObject **  to 
)

Definition at line 66 of file KeyedObject.cpp.

{
*to = 0;
if ( from )
{
DataObject *tar = 0;
if ( access(from->parent(), &tar) )
{
ObjectContainerBase* cnt = dynamic_cast<ObjectContainerBase*>(tar);
if ( cnt )
{
*to = cnt->containedObject(from->index());
}
}
}
return (*to) != 0;
}
bool Objects::access ( const DataObject from,
DataObject **  to 
)

Definition at line 30 of file KeyedObject.cpp.

{
DataObject* src = const_cast<DataObject*>(from);
DataObject* tar = 0;
if ( src != 0 )
{
LinkManager* mgr = src->linkMgr();
if ( 0 != mgr )
{
LinkManager::Link* link = mgr->link(long(0));
if ( 0 != link )
{
tar = link->object();
if ( 0 == tar )
{
IRegistry* reg = src->registry();
if ( 0 != reg )
{
IDataProviderSvc* ds = reg->dataSvc();
if ( 0 != ds )
{
if ( ds->retrieveObject(link->path(), tar).isSuccess() )
{
link->setObject(tar);
}
}
}
}
}
}
}
*to = tar;
return tar != 0;
}
template<class TO , class FROM >
TO* Objects::reference ( FROM *  from)

Definition at line 21 of file KeyedObject.cpp.

{
ContainedObject* to = 0;
if ( access(from, &to) ) {
return dynamic_cast<TO*>(to);
}
return 0;
}

Generated at Mon Feb 17 2014 14:38:22 for Gaudi Framework, version v25r0 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004