| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IInspector Class Reference

Inspector base class. More...

#include <GaudiKernel/IInspector.h>

Inheritance diagram for IInspector:

[legend]
Collaboration diagram for IInspector:
[legend]
List of all members.

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

Detailed Description

Inspector base class.

Definition at line 16 of file IInspector.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
MUTABLE 
CONST 

Definition at line 18 of file IInspector.h.

00018 { MUTABLE = 1<<1, CONST = 1<<2};

enum IInterface::Status [inherited]

Return status.

Enumerator:
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   };


Member Function Documentation

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.

template<class T, class O>
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         }

template<class T, class O>
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         }

template<class T, class O>
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   }

template<class T, class O>
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.

Parameters:
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.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:09 2011 for GaudiKernel by doxygen 1.4.7