32#define GAUDISVC_TAGCOLLECTIONSVC_CPP
63 status = Status::INVALID_ROOT;
66 std::vector<Prop> props;
67 long loc = ident.find(
" " );
68 std::string filename, svc =
"DbCnvSvc";
69 logname = ident.substr( 0, loc );
73 for (
auto attrib : Parser( ident.substr( loc + 1 ) ) ) {
76 props.emplace_back(
"Server", attrib.value );
80 filename = std::move( attrib.value );
112 svc = std::move( attrib.value );
115 switch (
::toupper( attrib.value[0] ) ) {
117 props.emplace_back(
"ShareFiles", attrib.value );
124 switch (
::toupper( attrib.value[0] ) ) {
126 svc =
"HbookCnv::ConvSvc";
129 props.emplace_back(
"DbType", attrib.value );
135 props.emplace_back( attrib.tag, attrib.value );
152 error() <<
"Cannot add " << ident <<
" invalid filename!" <<
endmsg;
172 for (
const auto& p : props ) { iprop->setProperty( p.first, p.second ).ignore(); }
174 status = isvc->sysInitialize();
175 if ( status.isSuccess() ) {
176 status = icsvc->setDataProvider(
this );
177 if ( status.isSuccess() ) {
void toupper(std::string &s)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
#define DECLARE_COMPONENT(type)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
A DataObject is the base class of any identifiable object on any data store.
IRegistry * registry() const
Get pointer to Registry.
Gaudi::Property< std::string > m_rootName
StatusCode findObject(std::string_view fullPath, DataObject *&pObject) override
Find object identified by its full path in the data store.
Parse attribute strings allowing iteration over the various attributes.
Helper class to parse a string of format "type/name".
virtual long repSvcType() const =0
Retrieve the class type of the data store the converter uses.
@ NO_INTERFACE
Requested interface is not available.
virtual unsigned long addRef() const =0
Increment the reference count of Interface instance.
The IProperty is the basic interface for all components which have properties that can be set or get.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
NTupleSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.
StatusCode attachTuple(const std::string &filename, const std::string &logname, const char typ, const long t)
Attach output/input file.
std::map< std::string, Connection > m_connections
Container of connection points.
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator.
const std::string & name() const override
Retrieve name of the service.
Small smart pointer class with automatic reference counting for IInterface.
SmartIF< IFace > as() const
return a new SmartIF instance to another interface
This class is used for returning status codes from appropriate routines.
constexpr static const auto SUCCESS
constexpr static const auto FAILURE
Gaudi tag collection service definition.
virtual StatusCode createService(const std::string &nam, const std::string &typ, const std::vector< Prop > &props, IConversionSvc *&pSvc)
Create conversion service.
StatusCode connect(const std::string &ident, std::string &logname) override
Add file to list I/O list.
TagCollectionSvc(const std::string &name, ISvcLocator *svc)
Standard Constructor.