2#ifndef xmlBase_DocMan_h
3#define xmlBase_DocMan_h
9typedef XERCES_CPP_NAMESPACE_QUALIFIER DOMElement
DomElement;
39 virtual bool parse(
const std::string& filename,
40 const std::string& docType=std::string(
""));
54 ClientList(
const std::string& eltName) : m_eltName(eltName) {}
68 const std::string&
getName() {
return m_eltName;}
73 std::string m_eltName;
74 std::vector<DocClient*> m_clients;
75 typedef std::vector<DocClient*>::const_iterator ClientsIt;
78 ClientList*
findList(
const std::string& eltName);
81 std::vector<ClientList*> m_lists;
82 typedef std::vector<ClientList*>::const_iterator ListsIt;
XERCES_CPP_NAMESPACE_QUALIFIER DOMElement DomElement
Nested class to keep track of clients for one element type.
void invoke(DomElement *elt)
call back each client in turn
const std::string & getName()
which list are we?
bool add(DocClient *client, bool front=false)
Add a client to list.
bool remove(DocClient *client)
ClientList(const std::string &eltName)
DocMan allows different clients to share a single xml document.
virtual bool regClient(const std::string &eltName, DocClient *client)
static DocMan * getPointer()
Implements singleton.
bool regMeFirst(DocClient *client)
Register privileged client; only available to derived classes.
virtual bool parse(const std::string &filename, const std::string &docType=std::string(""))
ClientList * findList(const std::string &eltName)