18 #define DATASVC_MULTISTORESVC_CPP
57 Partition() : dataProvider(0), dataManager(0)
60 Partition(
const Partition& entry)
61 : dataProvider(entry.dataProvider),
62 dataManager(entry.dataManager),
66 Partition& operator=(
const Partition& entry) {
67 dataProvider = entry.dataProvider;
68 dataManager = entry.dataManager;
136 #define _CALL(P,F,ARGS) \
137 P ? P->F ARGS : IDataProviderSvc::INVALID_ROOT
191 (*i).second.dataManager->clearStore().ignore();
266 if ( 0 != pDataLoader ) pDataLoader->
addRef();
268 if ( 0 != pDataLoader ) {
273 (*i).second.dataManager->setDataLoader(
m_dataLoader).ignore();
449 return create(nam, typ, pPartition);
456 Gaudi::Utils::TypeNameString
item(typ);
465 p.dataManager = dataMgr;
466 p.dataProvider = dataProv;
467 p.dataManager->addRef();
468 p.dataProvider->addRef();
482 return PARTITION_EXISTS;
489 if ( (*i).second.dataManager ==
m_current.dataManager ) {
492 (*i).second.dataManager->clearStore().ignore();
493 (*i).second.dataProvider->release();
494 (*i).second.dataManager->release();
498 return PARTITION_NOT_PRESENT;
507 if ( (*i).second.dataProvider == provider ) {
508 (*i).second.dataManager->clearStore().ignore();
509 (*i).second.dataProvider->release();
510 (*i).second.dataManager->release();
515 return PARTITION_NOT_PRESENT;
528 return PARTITION_NOT_PRESENT;
538 if ( (*i).second.dataProvider == provider ) {
543 return PARTITION_NOT_PRESENT;
552 pPartition = (*i).second.dataProvider;
556 return PARTITION_NOT_PRESENT;
568 return NO_ACTIVE_PARTITION;
577 <<
"Failed to retrieve data loader "
585 log <<
MSG::ERROR <<
"Failed to retrieve data loader "
592 log <<
MSG::ERROR <<
"Failed to set data loader "
617 log <<
MSG::ERROR <<
"Failed to connect to all store partitions." <<
endmsg;
628 log <<
MSG::ERROR <<
"Enable to reinitialize base class"
697 sc = (*i).second.dataManager->setRoot(
m_root.
path, pAdd);
705 sc = (*i).second.dataManager->setRoot(
m_root.
path, pObj);
724 (*i).second.dataManager->clearStore().ignore();
725 (*i).second.dataProvider->release();
726 (*i).second.dataManager->release();
740 tok.
analyse(*j,
" ",
"",
"",
"=",
"'",
"'");
742 CSTR& t = (*i).tag();
743 CSTR& v = (*i).value();