#include <GaudiKernel/IInspector.h>
Inheritance diagram for IInspector:
Public Types | |
MUTABLE = 1<<1 | |
CONST = 1<<2 | |
enum | { MUTABLE = 1<<1, CONST = 1<<2 } |
SUCCESS = 1 | |
Normal successful completion. | |
NO_INTERFACE | |
Requested interface is not available. | |
VERSMISMATCH | |
Requested interface version is incompatible. | |
LAST_ERROR | |
Last error. | |
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR } |
Return status. More... | |
Public Member Functions | |
template<class T, class O> | |
StatusCode | inspectByRef (const T *pObj, const O *pOwner, const std::string &comment, long flag=MUTABLE) |
Inspect single item by its reference (mutable and const). | |
template<class T, class O> | |
StatusCode | inspectByValue (const T &obj, const O *pOwner, const std::string &comment) |
Inspect single item by its value (const). | |
template<class T, class O> | |
StatusCode | inspectContByRef (const T *pObj, const O *pOwner, const std::string &comment, long flag=MUTABLE) |
Inspect container of object items by its reference (mutable and const). | |
template<class T, class O> | |
StatusCode | inspectContByValue (const T &obj, const O *pOwner, const std::string &comment) |
Inspect container of object items by its value (const). | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface)=0 |
Query interfaces of Interface. | |
virtual unsigned long | addRef ()=0 |
Increment the reference count of Interface instance. | |
virtual unsigned long | release ()=0 |
Release Interface instance. | |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Retrieve interface ID. | |
Protected Member Functions | |
virtual StatusCode | inspectByRef (const void *pObj, const Tag &typ, void *pOwner, const Tag &otag, const std::string &comment, long flag)=0 |
Inspect object by Reference. | |
virtual StatusCode | inspectByValue (IValue *pObj, const Tag &typ, void *pOwner, const Tag &oTag, const std::string &comment)=0 |
Inspect object by Value. | |
virtual StatusCode | inspectContByRef (const void *pObj, const Tag &tag, const Tag &rtag, const Tag &vtag, const void *pOwner, const Tag &otag, const std::string &comment, long flags)=0 |
Inspect container of objects by reference. | |
virtual StatusCode | inspectContByValue (IValue *pObj, const Tag &tag, const Tag &rtag, const Tag &vtag, const void *pOwner, const Tag &otag, const std::string &comment)=0 |
Inspect container of objects by value. | |
Classes | |
class | _TT |
class | _V |
class | IValue |
class | Tag |
Definition at line 16 of file IInspector.h.
anonymous enum |
enum IInterface::Status [inherited] |
Return status.
SUCCESS | Normal successful completion. |
NO_INTERFACE | Requested interface is not available. |
VERSMISMATCH | Requested interface version is incompatible. |
LAST_ERROR | Last error. |
Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.
Definition at line 113 of file IInterface.h.
00113 { 00115 SUCCESS = 1, 00117 NO_INTERFACE, 00119 VERSMISMATCH, 00121 LAST_ERROR 00122 };
virtual StatusCode IInspector::inspectByRef | ( | const void * | pObj, | |
const Tag & | typ, | |||
void * | pOwner, | |||
const Tag & | otag, | |||
const std::string & | comment, | |||
long | flag | |||
) | [protected, pure virtual] |
Inspect object by Reference.
virtual StatusCode IInspector::inspectByValue | ( | IValue * | pObj, | |
const Tag & | typ, | |||
void * | pOwner, | |||
const Tag & | oTag, | |||
const std::string & | comment | |||
) | [protected, pure virtual] |
Inspect object by Value.
virtual StatusCode IInspector::inspectContByRef | ( | const void * | pObj, | |
const Tag & | tag, | |||
const Tag & | rtag, | |||
const Tag & | vtag, | |||
const void * | pOwner, | |||
const Tag & | otag, | |||
const std::string & | comment, | |||
long | flags | |||
) | [protected, pure virtual] |
Inspect container of objects by reference.
virtual StatusCode IInspector::inspectContByValue | ( | IValue * | pObj, | |
const Tag & | tag, | |||
const Tag & | rtag, | |||
const Tag & | vtag, | |||
const void * | pOwner, | |||
const Tag & | otag, | |||
const std::string & | comment | |||
) | [protected, pure virtual] |
Inspect container of objects by value.
StatusCode IInspector::inspectByRef | ( | const T * | pObj, | |
const O * | pOwner, | |||
const std::string & | comment, | |||
long | flag = MUTABLE | |||
) | [inline] |
Inspect single item by its reference (mutable and const).
Definition at line 80 of file IInspector.h.
00080 { 00081 return inspectByRef(pObj, _TT<T>(), (void*)pOwner, _TT<O>(), comment, flag); 00082 }
StatusCode IInspector::inspectByValue | ( | const T & | obj, | |
const O * | pOwner, | |||
const std::string & | comment | |||
) | [inline] |
Inspect single item by its value (const).
Definition at line 85 of file IInspector.h.
00085 { 00086 return inspectByValue(new _V<T>(obj), _TT<T>(), (void*)pOwner, _TT<O>(), comment); 00087 }
StatusCode IInspector::inspectContByRef | ( | const T * | pObj, | |
const O * | pOwner, | |||
const std::string & | comment, | |||
long | flag = MUTABLE | |||
) | [inline] |
Inspect container of object items by its reference (mutable and const).
Definition at line 90 of file IInspector.h.
00090 { 00091 typedef typename T::value_type _VVV; 00092 typedef typename T::value_type _TTT; 00093 // Unfortunately this is not implemented on G++: 00094 // typedef typename T::allocator_type::value_type _TTT; 00095 return inspectContByRef((void*)pObj, _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment, flag); 00096 }
StatusCode IInspector::inspectContByValue | ( | const T & | obj, | |
const O * | pOwner, | |||
const std::string & | comment | |||
) | [inline] |
Inspect container of object items by its value (const).
Definition at line 99 of file IInspector.h.
00099 { 00100 typedef typename T::value_type _VVV; 00101 typedef typename T::value_type _TTT; 00102 // Unfortunately this is not implemented on G++: 00103 // typedef typename T::allocator_type::value_type _TTT; 00104 return inspectContByValue(new _V<T>(obj), _TT<T>(), _TT<_VVV>(), _TT<_TTT>(), (void*)pOwner, _TT<O>(), comment); 00105 }
static const InterfaceID& IInterface::interfaceID | ( | ) | [inline, static, inherited] |
Retrieve interface ID.
Reimplemented in IAddressCreator, IAIDATupleSvc, IAlgContextSvc, IAlgManager, IAlgorithm, IAlgTool, IAppMgrUI, IAuditor, IAuditorSvc, IChronoStatSvc, IChronoSvc, IClassManager, IConversionSvc, IConverter, ICounterSvc, IDataManagerSvc, IDataProviderSvc, IDataSourceMgr, IDataStreamTool, IDetDataSvc, IEventProcessor, IEventTimeDecoder, IEvtSelector, IExceptionSvc, IFactory, IFileAccess, IHistogramSvc, IHistorySvc, IIncidentListener, IIncidentSvc, IIssueLogger, IJobOptionsSvc, IMagneticFieldSvc, IMessageSvc, IMonitorSvc, INamedInterface, INTupleSvc, IParticlePropertySvc, IPartitionControl, IPartPropSvc, IPersistencySvc, IProperty, IRndmEngine, IRndmGen, IRndmGenSvc, IRunable, ISelectStatement, ISerialize, IService, IStagerSvc, IStateful, IStatSvc, IStatusCodeSvc, ISvcLocator, ISvcManager, ITHistSvc, IToolSvc, and IUpdateManagerSvc.
Definition at line 94 of file IInterface.h.
00094 { return IID_IInterface; }
virtual StatusCode IInterface::queryInterface | ( | const InterfaceID & | riid, | |
void ** | ppvInterface | |||
) | [pure virtual, inherited] |
Query interfaces of Interface.
riid | ID of Interface to be retrieved | |
ppvInterface | Pointer to Location for interface pointer |
Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.
virtual unsigned long IInterface::addRef | ( | ) | [pure virtual, inherited] |
Increment the reference count of Interface instance.
Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.
virtual unsigned long IInterface::release | ( | ) | [pure virtual, inherited] |
Release Interface instance.
Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.