26#include <libxml/tree.h>
31#include <com/sun/star/uno/Reference.h>
32#include <com/sun/star/xml/dom/XNode.hpp>
33#include <com/sun/star/xml/dom/XNodeList.hpp>
34#include <com/sun/star/xml/dom/events/XEvent.hpp>
35#include <com/sun/star/xml/dom/events/XEventListener.hpp>
44 :
public cppu::WeakImplHelper< css::xml::dom::XNodeList,
45 css::xml::dom::events::XEventListener >
55 ::std::unique_ptr<xmlChar[]>
const m_pName;
56 ::std::unique_ptr<xmlChar[]>
const m_pURI;
60 void buildlist(xmlNodePtr pNode,
bool start=
true);
64 ::osl::Mutex & rMutex,
65 std::u16string_view rName, OUString
const*
const pURI);
74 virtual sal_Int32 SAL_CALL
getLength()
override;
78 virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL
item(sal_Int32 index)
override;
81 virtual void SAL_CALL
handleEvent(
const css::uno::Reference< css::xml::dom::events::XEvent >& evt)
override;
85 :
public cppu::WeakImplHelper< css::xml::dom::XNodeList,
86 css::xml::dom::events::XEventListener >
92 ::osl::Mutex & rMutex,
93 std::u16string_view rName, OUString
const*
const pURI =
nullptr);
105 virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL
item(sal_Int32 index)
override
111 virtual void SAL_CALL
handleEvent(
const css::uno::Reference< css::xml::dom::events::XEvent >& evt)
override
virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL item(sal_Int32 index) override
Returns the indexth item in the collection.
::rtl::Reference< CElement > const m_pElement
css::uno::Reference< css::xml::dom::events::XEventListener > m_xEventListener
proxy weak binding to forward Events to ourself without an ownership cycle
virtual void SAL_CALL handleEvent(const css::uno::Reference< css::xml::dom::events::XEvent > &evt) override
::std::unique_ptr< xmlChar[]> const m_pURI
virtual sal_Int32 SAL_CALL getLength() override
The number of nodes in the list.
virtual ~CElementListImpl() override
::std::unique_ptr< xmlChar[]> const m_pName
void buildlist(xmlNodePtr pNode, bool start=true)
CElementListImpl(::rtl::Reference< CElement > pElement, ::osl::Mutex &rMutex, std::u16string_view rName, OUString const *const pURI)
std::vector< xmlNodePtr > m_nodevector
void registerListener(CElement &rElement)
virtual sal_Int32 SAL_CALL getLength() override
The number of nodes in the list.
virtual void SAL_CALL handleEvent(const css::uno::Reference< css::xml::dom::events::XEvent > &evt) override
rtl::Reference< CElementListImpl > m_xImpl
virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL item(sal_Int32 index) override
Returns the indexth item in the collection.
CElementList(::rtl::Reference< CElement > const &pElement, ::osl::Mutex &rMutex, std::u16string_view rName, OUString const *const pURI=nullptr)