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

In This Package:

SoConversionSvc Class Reference

#include <SoConversionSvc.h>

Inheritance diagram for SoConversionSvc:

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

Public Types

typedef std::vector< WorkerEntry > Workers
 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR
 CONVERSIONSVC_NO_ERROR
 NO_CONVERTER
 INVALID_ADDRESS
 INVALID_OBJECT
 NO_MEMORY
 BAD_STORAGE_TYPE
 NO_SOURCE_OBJECT
 ICONVERSIONSVC_LAST_ERROR
enum  Status
enum  Status

Public Member Functions

StatusCode queryInterface (const InterfaceID &, void **)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
virtual StatusCode initialize ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
virtual StatusCode createRep (DataObject *Object, IOpaqueAddress *&Address)
 Convert the transient object to the requested representation.
virtual StatusCode fillRepRefs (IOpaqueAddress *, DataObject *)
virtual StatusCode UpdateRepRefs (IOpaqueAddress *, DataObject *)
virtual StatusCode updateRepRefs (IOpaqueAddress *, DataObject *)
virtual StatusCode finalize ()
virtual long repSvcType () const
const CLIDobjType () const
virtual StatusCode setDataProvider (IDataProviderSvc *pService)
virtual IDataProviderSvcdataProvider () const
virtual StatusCode setConversionSvc (IConversionSvc *svc)
virtual IConversionSvcconversionSvc () const
virtual StatusCode setAddressCreator (IAddressCreator *creator)
virtual IAddressCreatoraddressCreator () const
virtual StatusCode createObj (IOpaqueAddress *pAddress, DataObject *&refpObject)
virtual StatusCode fillObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode updateObj (IOpaqueAddress *pAddress, DataObject *refpObject)
virtual StatusCode updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode addConverter (const CLID &clid)
virtual StatusCode addConverter (IConverter *pConverter)
virtual StatusCode removeConverter (const CLID &clid)
virtual IConverterconverter (const CLID &wanted)
virtual StatusCode connectOutput (const std::string &outputFile, const std::string &openMode)
virtual StatusCode connectOutput (const std::string &output)
virtual StatusCode commitOutput (const std::string &output, bool do_commit)
virtual StatusCode createAddress (long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
virtual StatusCode createAddress (long svc_type, const CLID &clid, const std::string &refAddress, IOpaqueAddress *&refpAddress)
virtual StatusCode convertAddress (const IOpaqueAddress *pAddress, std::string &refAddress)
virtual StatusCode updateServiceState (IOpaqueAddress *pAddress)
virtual unsigned long addRef ()
virtual unsigned long release ()
virtual const std::string & name () const
virtual const InterfaceIDtype () const
virtual StatusCode configure ()
virtual StatusCode start ()
virtual StatusCode stop ()
virtual StatusCode terminate ()
virtual Gaudi::StateMachine::State FSMState () const
virtual Gaudi::StateMachine::State targetFSMState () const
virtual StatusCode reinitialize ()
virtual StatusCode restart ()
virtual StatusCode sysInitialize ()
virtual StatusCode sysStart ()
virtual StatusCode sysStop ()
virtual StatusCode sysFinalize ()
virtual StatusCode sysReinitialize ()
virtual StatusCode sysRestart ()
virtual StatusCode setProperty (const Property &p)
virtual StatusCode setProperty (const std::string &s)
virtual StatusCode setProperty (const std::string &n, const std::string &v)
StatusCode setProperty (const std::string &name, const TYPE &value)
virtual StatusCode getProperty (Property *p) const
virtual const PropertygetProperty (const std::string &name) const
virtual StatusCode getProperty (const std::string &n, std::string &v) const
virtual const std::vector<
Property * > & 
getProperties () const
ISvcLocatorserviceLocator () const
IMessageSvcmsgSvc ()
IMessageSvcmsgSvc () const
IMessageSvcmessageService ()
IMessageSvcmessageService () const
StatusCode setProperties ()
StatusCode service (const std::string &name, T *&psvc, bool createIf=true) const
StatusCode service (const std::string &svcType, const std::string &svcName, T *&psvc) const
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
IAuditorSvcauditorSvc () const

Static Public Member Functions

static const InterfaceIDinterfaceID ()
static const InterfaceIDinterfaceID ()
static const InterfaceIDinterfaceID ()
static const InterfaceIDinterfaceID ()
static const InterfaceIDinterfaceID ()
static const InterfaceIDinterfaceID ()

Public Attributes

 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR
 CONVERSIONSVC_NO_ERROR
 NO_CONVERTER

Protected Member Functions

 SoConversionSvc (const std::string &, ISvcLocator *)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
virtual ~SoConversionSvc ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
virtual IAddressCreatoraddressCreator ()
virtual IConvertercreateConverter (long typ, const CLID &clid, const ICnvFactory *fac)
virtual StatusCode configureConverter (long typ, const CLID &clid, IConverter *cnv)
virtual StatusCode initializeConverter (long typ, const CLID &clid, IConverter *cnv)
virtual StatusCode activateConverter (long typ, const CLID &clid, IConverter *cnv)
virtual void loadConverter (DataObject *pObject)
StatusCode makeCall (int typ, bool ignore_add, bool ignore_obj, bool update, IOpaqueAddress *&pAddress, DataObject *&pObject)
int outputLevel () const

Protected Attributes

IDataProviderSvcm_dataSvc
IAddressCreatorm_addressCreator
long m_type
Workersm_workers
IntegerProperty m_outputLevel
Gaudi::StateMachine::State m_state
Gaudi::StateMachine::State m_targetState
IMessageSvcm_messageSvc

Friends

class SvcFactory< SoConversionSvc >
friend class ServiceManager

Detailed Description

Definition at line 34 of file SoConversionSvc.h.


Constructor & Destructor Documentation

SoConversionSvc::SoConversionSvc ( const std::string &  ,
ISvcLocator  
) [protected]

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 24 of file SoConversionSvc.cpp.

00028 :ConversionSvc(aName, aSvcLoc, So_TechnologyType) 
00029 
00030 
00031 { 
00032 }

SoConversionSvc::~SoConversionSvc (  )  [protected, virtual]

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 34 of file SoConversionSvc.cpp.

00038 { 
00039 }


Member Function Documentation

StatusCode SoConversionSvc::queryInterface ( const InterfaceID ,
void **   
) [virtual]

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Reimplemented from ConversionSvc.

Definition at line 41 of file SoConversionSvc.cpp.

00047 {
00048   if(ISoConversionSvc::interfaceID() == aRIID) {
00049     *aPPVIF = static_cast<ISoConversionSvc*> (this);
00050     addRef();
00051     return StatusCode::SUCCESS;
00052   } else if(IConversionSvc::interfaceID() == aRIID) {
00053     *aPPVIF = static_cast<IConversionSvc*> (this);
00054     addRef();
00055     return StatusCode::SUCCESS;
00056   } else {
00057     return ConversionSvc::queryInterface(aRIID, aPPVIF);
00058   }
00059 }

StatusCode SoConversionSvc::initialize (  )  [virtual]

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Reimplemented from ConversionSvc.

Definition at line 62 of file SoConversionSvc.cpp.

00066 {
00067   StatusCode status = ConversionSvc::initialize();
00068   if( status.isFailure() ) return status;
00069 
00070   MsgStream log(messageService(), name());
00071   log << MSG::INFO << this->name() << " initialized successfully" << endreq;
00072   
00073   return status;
00074 }

StatusCode SoConversionSvc::createRep ( DataObject Object,
IOpaqueAddress *&  Address 
) [virtual]

Convert the transient object to the requested representation.

e.g. conversion to persistent objects.

Returns:
Status code indicating success or failure
Parameters:
Object Pointer to location of the object
Address Reference to location of pointer with the object address.

check the arguments

DetectorElement?

Logical volume?

Histogram ?

Other objects :

< other object

Reimplemented from ConversionSvc.

Definition at line 76 of file SoConversionSvc.cpp.

00089 {
00090   aAddress = 0;
00091 
00093   if(!aObject) {
00094     MsgStream log( msgSvc() , name() );
00095     log << MSG::ERROR 
00096         << " DataObject* points to NULL! " << endreq ;
00097     return StatusCode::FAILURE ;
00098   }
00099 
00101   if(dynamic_cast<const IDetectorElement*>(aObject)) {
00102     IConverter* cnv = converter( CLID_DetectorElement );
00103     if(!cnv) {
00104       MsgStream log( msgSvc() , name() );
00105       log << MSG::ERROR
00106           << " Converter is not found for Object/CLID='" 
00107           << System::typeinfoName( typeid( *aObject ) ) << "'/'"
00108           << aObject->clID()                            << "'"   << endreq ;
00109       return StatusCode::FAILURE ;
00110     }
00111     return cnv->createRep( aObject ,  aAddress ) ;
00112   }
00113 
00115   if(dynamic_cast<const ILVolume*>(aObject)) {
00116     IConverter* cnv = converter( CLID_LVolume );
00117     if(!cnv) {
00118       MsgStream log( msgSvc() , name() );
00119       log << MSG::ERROR
00120           << " Converter is not found for Object/CLID='" 
00121           << System::typeinfoName( typeid( *aObject ) ) << "'/'"
00122           << aObject->clID()                            << "'"   << endreq ;
00123       return StatusCode::FAILURE ;
00124     }
00125     return cnv->createRep( aObject ,  aAddress ) ;
00126   }
00127 
00129   if(dynamic_cast<const AIDA::IHistogram*>(aObject)) {
00130     IConverter* cnv = converter( CLID_Histogram );
00131     if(!cnv) {
00132       MsgStream log( msgSvc() , name() );
00133       log << MSG::ERROR
00134           << " Histogram converter is not found for Object/CLID='" 
00135           << System::typeinfoName( typeid( *aObject ) ) << "'/'"
00136           << aObject->clID()                            << "'"   << endreq ;
00137       return StatusCode::FAILURE ;
00138     }
00139     return cnv->createRep( aObject ,  aAddress ) ;
00140   }
00141 
00143   IConverter* cnv = converter( aObject->clID()       ) ; 
00144   if(!cnv) {
00145     MsgStream log( msgSvc() , name() );
00146     log << MSG::INFO
00147         << " Converter is not found for Object/CLID='" 
00148         << System::typeinfoName( typeid( *aObject ) ) << "'/'"
00149         << aObject->clID()                            << "'"   
00150         << endreq ;
00151         
00152     log << MSG::ALWAYS << aObject->fillStream(log.stream()) << endreq;    
00153     
00154     return StatusCode::SUCCESS ;
00155   }
00156   return cnv->createRep( aObject ,  aAddress ) ;
00157 
00158 };

virtual StatusCode SoConversionSvc::fillRepRefs ( IOpaqueAddress ,
DataObject  
) [inline, virtual]

Reimplemented from ConversionSvc.

Definition at line 55 of file SoConversionSvc.h.

00057   { return StatusCode::SUCCESS; }

virtual StatusCode SoConversionSvc::UpdateRepRefs ( IOpaqueAddress ,
DataObject  
) [inline, virtual]

Definition at line 60 of file SoConversionSvc.h.

00062   { return StatusCode::SUCCESS; }

virtual StatusCode SoConversionSvc::updateRepRefs ( IOpaqueAddress ,
DataObject  
) [inline, virtual]

Reimplemented from ConversionSvc.

Definition at line 65 of file SoConversionSvc.h.

00067   { return StatusCode::SUCCESS; }

static const InterfaceID& ISoConversionSvc::interfaceID (  )  [inline, static, inherited]

Reimplemented from IConversionSvc.

Definition at line 12 of file ISoConversionSvc.h.

00012 { return IID_ISoConversionSvc; }


Friends And Related Function Documentation

friend class SvcFactory< SoConversionSvc > [friend]

Definition at line 36 of file SoConversionSvc.h.


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

Generated on Mon Apr 11 20:02:02 2011 for OnXSvc by doxygen 1.4.7