4#ifndef CalibMySQLCnvSvc_h
5#define CalibMySQLCnvSvc_h 1
8#include "GaudiKernel/ConversionSvc.h"
9#include "GaudiKernel/IDetDataSvc.h"
11#include "CalibDataSvc/ICalibMetaCnvSvc.h"
12#include "CalibDataSvc/IInstrumentName.h"
13#include "DatabaseSvc/IDatabaseSvc.h"
14#include "calibUtil/Metadata.h"
15#include "facilities/Timestamp.h"
57 virtual StatusCode
createObj( IOpaqueAddress* pAddress, DataObject*& refpObject );
60 virtual StatusCode
fillObjRefs( IOpaqueAddress* pAddress, DataObject* pObject );
63 virtual StatusCode
updateObj( IOpaqueAddress* pAddress, DataObject* pObject );
66 virtual StatusCode
updateObjRefs( IOpaqueAddress* pAddress, DataObject* pObject );
69 virtual StatusCode
createRep( DataObject* pObject, IOpaqueAddress*& refpAddress );
72 virtual StatusCode
fillRepRefs( IOpaqueAddress* pAddress, DataObject* pObject );
75 virtual StatusCode
updateRep( IOpaqueAddress* pAddress, DataObject* pObject );
78 virtual StatusCode
updateRepRefs( IOpaqueAddress* pAddress, DataObject* pObject );
81 virtual StatusCode
createAddress(
long svc_type,
const CLID& clid,
const std::string* par,
82 const unsigned long* ip, IOpaqueAddress*& refpAddress );
91 virtual StatusCode
createCalib( DataObject*& refpObject,
const std::string& fullpath,
92 const CLID& classID, IRegistry* entry = 0 );
98 virtual StatusCode
updateCalib( DataObject* pObject,
const std::string& fullpath,
99 const CLID& classID, IRegistry* entry = 0 );
108 int& runto,
int RunNo, std::string BossRelease,
109 std::string DataType );
123 unsigned int m_calibLevelMask;
133 std::string m_enterTimeStartString;
134 std::string m_enterTimeEndString;
136 IDataProviderSvc* m_eventSvc;
138 std::string m_dbName;
142 std::string m_calPar[16];
144 std::string m_bossver[16];
145 std::string m_bossRelease;
146 std::string m_flag[16];
150 IConversionSvc* m_detPersSvc;
153 IDetDataSvc* m_detDataSvc;
157 std::vector<std::string> m_qualityList;
158 unsigned int m_qualityMask;
161 std::string m_dbStatus;
virtual StatusCode finalize()
virtual StatusCode updateRep(IOpaqueAddress *pAddress, DataObject *pObject)
Update a converted representation of a transient object.
virtual StatusCode decodeDescription(const std::string &description, unsigned char &type)
Decode the string storage type to enumerated storage type.
virtual StatusCode fillObjRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Resolve the references of the created transient object.
virtual StatusCode createObj(IOpaqueAddress *pAddress, DataObject *&refpObject)
Create a transient representation from another rep of this object.
virtual StatusCode createAddress(long svc_type, const CLID &clid, const std::string *par, const unsigned long *ip, IOpaqueAddress *&refpAddress)
Create an address using explicit arguments to identify a single object.
virtual StatusCode createRep(DataObject *pObject, IOpaqueAddress *&refpAddress)
Convert a transient object to a requested representation.
virtual StatusCode createCalib(DataObject *&refpObject, const std::string &fullpath, const CLID &classID, IRegistry *entry=0)
virtual StatusCode updateCalib(DataObject *pObject, const std::string &fullpath, const CLID &classID, IRegistry *entry=0)
virtual StatusCode fillRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Resolve the references of a converted object.
StatusCode getSftParVer(std::string &SftVer, std::string &CalParVer, int &runfrm, int &runto, int RunNo, std::string BossRelease, std::string DataType)
virtual StatusCode updateObjRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Update the references of an updated transient object.
CalibMySQLCnvSvc(const std::string &name, ISvcLocator *svc)
virtual calibUtil::Metadata * getMeta()
Handle to the MySQL metadata database.
virtual StatusCode updateObj(IOpaqueAddress *pAddress, DataObject *pObject)
Update a transient representation from another rep of this object.
virtual ~CalibMySQLCnvSvc()
virtual StatusCode initialize()
virtual StatusCode updateRepRefs(IOpaqueAddress *pAddress, DataObject *pObject)
Update the references of an already converted object.
Simple interface to keep track of which instrument (LAT, EM, etc.) the process is concerned with....
Forward and external declarations.