22#include <com/sun/star/uno/Reference.hxx>
23#include <rtl/ustring.hxx>
30 class XComponentContext;
36 namespace xml::xpath {
47 css::uno::Reference<css::xml::dom::XDocument>
m_doc;
48 css::uno::Reference<css::xml::xpath::XXPathAPI>
m_xpathApi;
54 const css::uno::Reference<css::uno::XComponentContext>
m_xContext;
61 css::uno::Reference<css::xml::dom::XDocument>
const &
getDocument();
65 css::uno::Reference<css::xml::xpath::XXPathAPI>
const &
getXPathAPI();
70 std::u16string_view url);
73 std::deque< OUString>
const & list,
74 std::u16string_view sListTagName,
75 std::u16string_view sMemberTagName,
76 css::uno::Reference<css::xml::dom::XNode>
const & xParent);
79 std::vector< std::pair< OUString, OUString > >
const & vecPairs,
80 std::u16string_view sVectorTagName,
81 std::u16string_view sPairTagName,
82 std::u16string_view sFirstTagName,
83 std::u16string_view sSecondTagName,
84 css::uno::Reference<css::xml::dom::XNode>
const & xParent);
87 std::u16string_view sElementName, OUString
const & value,
88 css::uno::Reference<css::xml::dom::XNode>
const & xParent);
91 OUString
const & url);
94 std::u16string_view sElementName,
95 css::uno::Reference<css::xml::dom::XNode>
const & xParent);
97 std::vector< std::pair< OUString, OUString > >
99 css::uno::Reference<css::xml::dom::XNode>
const & parent,
100 std::u16string_view sListTagName,
101 std::u16string_view sPairTagName,
102 std::u16string_view sFirstTagName,
103 std::u16string_view sSecondTagName);
106 css::uno::Reference<css::xml::dom::XNode>
const & parent,
107 std::u16string_view sListTagName,
108 std::u16string_view sMemberTagName);
113 std::u16string_view sElementName);
134 OUString
const & url);
157 OUString
const & url);
160 void addEntry(OUString
const & url);
void removeEntry(std::u16string_view url)
void writeSimpleElement(std::u16string_view sElementName, OUString const &value, css::uno::Reference< css::xml::dom::XNode > const &xParent)
bool hasActiveEntry(std::u16string_view url)
std::deque< OUString > readList(css::uno::Reference< css::xml::dom::XNode > const &parent, std::u16string_view sListTagName, std::u16string_view sMemberTagName)
void removeElement(OUString const &sXPathExpression)
OUString readSimpleElement(std::u16string_view sElementName, css::uno::Reference< css::xml::dom::XNode > const &xParent)
std::vector< std::pair< OUString, OUString > > readVectorOfPair(css::uno::Reference< css::xml::dom::XNode > const &parent, std::u16string_view sListTagName, std::u16string_view sPairTagName, std::u16string_view sFirstTagName, std::u16string_view sSecondTagName)
css::uno::Reference< css::xml::xpath::XXPathAPI > m_xpathApi
css::uno::Reference< css::xml::dom::XNode > writeKeyElement(OUString const &url)
The key elements have a url attribute and are always children of the root element.
virtual OUString getNSPrefix()=0
std::vector< OUString > getOneChildFromAllEntries(std::u16string_view sElementName)
css::uno::Reference< css::xml::dom::XNode > getKeyElement(std::u16string_view url)
const css::uno::Reference< css::uno::XComponentContext > m_xContext
BackendDb & operator=(BackendDb const &)=delete
css::uno::Reference< css::xml::dom::XDocument > const & getDocument()
void revokeEntry(std::u16string_view url)
css::uno::Reference< css::xml::dom::XDocument > m_doc
virtual OUString getDbNSName()=0
void writeSimpleList(std::deque< OUString > const &list, std::u16string_view sListTagName, std::u16string_view sMemberTagName, css::uno::Reference< css::xml::dom::XNode > const &xParent)
BackendDb(css::uno::Reference< css::uno::XComponentContext > const &xContext, OUString const &url)
BackendDb(BackendDb const &)=delete
virtual OUString getRootElementName()=0
void writeVectorOfPair(std::vector< std::pair< OUString, OUString > > const &vecPairs, std::u16string_view sVectorTagName, std::u16string_view sPairTagName, std::u16string_view sFirstTagName, std::u16string_view sSecondTagName, css::uno::Reference< css::xml::dom::XNode > const &xParent)
css::uno::Reference< css::xml::xpath::XXPathAPI > const & getXPathAPI()
bool activateEntry(std::u16string_view url)
virtual OUString getKeyElementName()=0
RegisteredDb(css::uno::Reference< css::uno::XComponentContext > const &xContext, OUString const &url)
void addEntry(OUString const &url)
static uno::Reference< css::uno::XComponentContext > xContext