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

In This Package:

DybDaq::StructureConverter Class Reference

#include <StructureConverter.h>

Inheritance diagram for DybDaq::StructureConverter:

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

Public Types

 INVALID_ADDRESS
 INVALID_OBJECT
 NO_MEMORY
 BAD_STORAGE_TYPE
 NO_SOURCE_OBJECT
 ICONVERSIONSVC_LAST_ERROR
 SUCCESS
 NO_INTERFACE
 VERSMISMATCH
 LAST_ERROR
enum  Status

Public Member Functions

 StructureConverter (unsigned char storageType, const CLID &clid, ISvcLocator *svc)
 Creates an instance of this class.
 StructureConverter (ISvcLocator *svc)
 Creates an instance of this class.
 ~StructureConverter ()
 Destroys the instance of this class.
virtual StatusCode createObj (IOpaqueAddress *addr, DataObject *&pObject)
 Create DataObject based on the supplied IOpaqueAddress.
virtual StatusCode fillObjRefs (IOpaqueAddress *addr, DataObject *pObject)
 Resolve and or create any objects used by the created one.
virtual long repSvcType () const
 Bookkeepting method used by ConverterSvc class.
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
virtual unsigned long addRef ()
virtual unsigned long release ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode setDataProvider (IDataProviderSvc *svc)
virtual IDataProviderSvcdataProvider () const
virtual StatusCode setConversionSvc (IConversionSvc *svc)
virtual IConversionSvcconversionSvc () const
virtual StatusCode setAddressCreator (IAddressCreator *creator)
virtual IAddressCreatoraddressCreator () const
virtual const CLIDobjType () const
virtual long i_repSvcType () const
virtual StatusCode updateObj (IOpaqueAddress *pAddress, DataObject *refpObject)
virtual StatusCode updateObjRefs (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode createRep (DataObject *pObject, IOpaqueAddress *&refpAddress)
virtual StatusCode fillRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode updateRep (IOpaqueAddress *pAddress, DataObject *pObject)
virtual StatusCode updateRepRefs (IOpaqueAddress *pAddress, DataObject *pObject)
StatusCode service (const std::string &name, T *&psvc, bool createIf=false) const
StatusCode service (const std::string &type, const std::string &name, T *&psvc) const

Static Public Member Functions

static const long storageType ()
 Required by converter factory.
static const CLIDclassID ()
 Required by converter factory.
static const InterfaceIDinterfaceID ()

Public Attributes

 INVALID_ADDRESS
 INVALID_OBJECT
 NO_MEMORY
 BAD_STORAGE_TYPE
 NO_SOURCE_OBJECT
 ICONVERSIONSVC_LAST_ERROR

Static Public Attributes

static const unsigned int kEvent = 0
 The element value for the Event.
static const unsigned int kReadout = StructureConverter::kEvent + 1
 The element value for the Event.
static const unsigned int kLastElement = StructureConverter::kReadout
 The last element value.

Protected Member Functions

ISvcLocatorserviceLocator () const
IMessageSvcmsgSvc () const
IMessageSvcmessageService () const
IDataManagerSvcdataManager () const

Private Member Functions

 StructureConverter ()
 Suppress default.
 StructureConverter (const StructureConverter &rhs)
 Suppress default.
StructureConverteroperator= (const StructureConverter &rhs)
 Suppress default.

Classes

class  Address
 Implementation of IOpaqueAddress interface for this class. More...

Detailed Description

Definition at line 26 of file StructureConverter.h.


Constructor & Destructor Documentation

StructureConverter::StructureConverter ( unsigned char  storageType,
const CLID clid,
ISvcLocator svc 
)

Creates an instance of this class.

Definition at line 49 of file StructureConverter.cc.

00051                                                          :
00052     Converter(storageType,
00053               clid,
00054               svc) {
00055 }

StructureConverter::StructureConverter ( ISvcLocator svc  ) 

Creates an instance of this class.

Definition at line 57 of file StructureConverter.cc.

00057                                                        :
00058     Converter(storageType(),
00059               classID(),
00060               svc) {
00061 }

StructureConverter::~StructureConverter (  ) 

Destroys the instance of this class.

Definition at line 63 of file StructureConverter.cc.

00063                                         {
00064 }

DybDaq::StructureConverter::StructureConverter (  )  [private]

Suppress default.

DybDaq::StructureConverter::StructureConverter ( const StructureConverter rhs  )  [private]

Suppress default.


Member Function Documentation

const long StructureConverter::storageType (  )  [static]

Required by converter factory.

Definition at line 66 of file StructureConverter.cc.

00066                                            {
00067     return DaqFormatConversionSvc::DAQ_FORMAT_DATA;
00068 }

const CLID & StructureConverter::classID (  )  [static]

Required by converter factory.

Definition at line 70 of file StructureConverter.cc.

00070                                         {
00071     return CLID_DataObject;
00072 }

StatusCode StructureConverter::createObj ( IOpaqueAddress addr,
DataObject *&  pObject 
) [virtual]

Create DataObject based on the supplied IOpaqueAddress.

Reimplemented from Converter.

Definition at line 74 of file StructureConverter.cc.

00075                                                                {
00076     Address* address = dynamic_cast<Address*>(addr);
00077     if (0 == address) {
00078         return StatusCode::FAILURE;
00079     }
00080     pObject = new DataObject();
00081     if (0 == pObject) {
00082         return StatusCode::FAILURE;
00083     }
00084     return StatusCode::SUCCESS;
00085     
00086 }

StatusCode StructureConverter::fillObjRefs ( IOpaqueAddress addr,
DataObject pObject 
) [virtual]

Resolve and or create any objects used by the created one.

Reimplemented from Converter.

Definition at line 88 of file StructureConverter.cc.

00089                                                                 {
00090     Address* address = dynamic_cast<Address*>(addr);
00091     const unsigned int element = address->element();
00092     const char* path = paths[element];
00093     if (kLastElement == element) {
00094         dataManager()->registerAddress(pObject,
00095                                        path,
00096                                        new DaqEventConverter::Address(address->context()));
00097     } else {
00098         dataManager()->registerAddress(pObject,
00099                                        path,
00100                                        new Address(address->context(),
00101                                                    element + 1));
00102     }
00103     return StatusCode::SUCCESS;
00104 }

long StructureConverter::repSvcType (  )  const [virtual]

Bookkeepting method used by ConverterSvc class.

Implements Converter.

Definition at line 106 of file StructureConverter.cc.

00106                                           {
00107     return i_repSvcType();
00108 }

StructureConverter& DybDaq::StructureConverter::operator= ( const StructureConverter rhs  )  [private]

Suppress default.


Member Data Documentation

const unsigned int StructureConverter::kEvent = 0 [static]

The element value for the Event.

Definition at line 33 of file StructureConverter.h.

const unsigned int StructureConverter::kReadout = StructureConverter::kEvent + 1 [static]

The element value for the Event.

Definition at line 38 of file StructureConverter.h.

const unsigned int StructureConverter::kLastElement = StructureConverter::kReadout [static]

The last element value.

Definition at line 43 of file StructureConverter.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:46:31 2011 for DaqFormatModules by doxygen 1.4.7