ATLAS Offline Software
Loading...
Searching...
No Matches
XMLHandlerStore.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8#include <iostream>
9
10using namespace xercesc;
11
15
17{
18 std::string name=handler->GetName();
19 if (this->find(name)!=this->end())
20 std::cout<<" handler "<<name<<" already defined!"<<std::endl;
21 else
22 (*this)[name]=handler;
23}
24
25void XMLHandlerStore::Handle(AGDDController& c, DOMNode *element)
26{
27 char* temp=XMLString::transcode(element->getNodeName());
28 std::string name=temp;
29 XMLString::release(&temp);
30 if (this->find(name)!=this->end())
31 ((*this)[name])->Handle(c, element);
32 else
33 std::cout<<" Handler for "<<name<<" not found! continuing"<<std::endl;
34}
35
36XMLHandler* XMLHandlerStore::GetHandler(const std::string& name)
37{
38 auto it = this->find (name);
39 if (it != this->end()) {
40 return it->second;
41 }
42 std::cout<<" Handler for "<<name<<" not found! continuing"<<std::endl;
43 return nullptr;
44}
45
46
48{
49 char* temp=XMLString::transcode(element->getNodeName());
50 std::string name=temp;
51 XMLString::release(&temp);
52 return GetHandler (name);
53}
54
void RegisterHandler(XMLHandler *)
XMLHandler * GetHandler(const std::string &name)
void Handle(AGDDController &c, xercesc::DOMNode *)
std::string find(const std::string &s)
return a remapped string
Definition hcg.cxx:138
void handler(int sig)
signal handler
Definition rmain.cxx:99