LibreOffice Module unoxml (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DOM::CElementListImpl Class Reference

#include <elementlist.hxx>

Inheritance diagram for DOM::CElementListImpl:
[legend]
Collaboration diagram for DOM::CElementListImpl:
[legend]

Public Member Functions

 CElementListImpl (::rtl::Reference< CElement > pElement, ::osl::Mutex &rMutex, std::u16string_view rName, OUString const *const pURI)
 
void registerListener (CElement &rElement)
 
virtual ~CElementListImpl () override
 
virtual sal_Int32 SAL_CALL getLength () override
 The number of nodes in the list. More...
 
virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL item (sal_Int32 index) override
 Returns the indexth item in the collection. More...
 
virtual void SAL_CALL handleEvent (const css::uno::Reference< css::xml::dom::events::XEvent > &evt) override
 

Private Member Functions

void buildlist (xmlNodePtr pNode, bool start=true)
 

Private Attributes

css::uno::Reference< css::xml::dom::events::XEventListener > m_xEventListener
 proxy weak binding to forward Events to ourself without an ownership cycle More...
 
::rtl::Reference< CElement > const m_pElement
 
::osl::Mutex & m_rMutex
 
::std::unique_ptr< xmlChar[]> const m_pName
 
::std::unique_ptr< xmlChar[]> const m_pURI
 
bool m_bRebuild
 
std::vector< xmlNodePtr > m_nodevector
 

Detailed Description

Definition at line 43 of file elementlist.hxx.

Constructor & Destructor Documentation

◆ CElementListImpl()

DOM::CElementListImpl::CElementListImpl ( ::rtl::Reference< CElement pElement,
::osl::Mutex &  rMutex,
std::u16string_view  rName,
OUString const *const  pURI 
)

Definition at line 82 of file elementlist.cxx.

References m_rMutex.

◆ ~CElementListImpl()

DOM::CElementListImpl::~CElementListImpl ( )
overridevirtual

Definition at line 93 of file elementlist.cxx.

References m_pElement, m_xEventListener, and xTarget.

Member Function Documentation

◆ buildlist()

void DOM::CElementListImpl::buildlist ( xmlNodePtr  pNode,
bool  start = true 
)
private

Definition at line 117 of file elementlist.cxx.

References buildlist(), m_bRebuild, m_nodevector, m_pName, m_pURI, and start.

Referenced by buildlist(), getLength(), and item().

◆ getLength()

sal_Int32 SAL_CALL DOM::CElementListImpl::getLength ( )
overridevirtual

The number of nodes in the list.

Definition at line 155 of file elementlist.cxx.

References buildlist(), m_nodevector, m_pElement, and m_rMutex.

◆ handleEvent()

void SAL_CALL DOM::CElementListImpl::handleEvent ( const css::uno::Reference< css::xml::dom::events::XEvent > &  evt)
overridevirtual

Definition at line 184 of file elementlist.cxx.

References m_bRebuild, and m_rMutex.

◆ item()

Reference< XNode > SAL_CALL DOM::CElementListImpl::item ( sal_Int32  index)
overridevirtual

Returns the indexth item in the collection.

Definition at line 168 of file elementlist.cxx.

References buildlist(), index, m_nodevector, m_pElement, m_rMutex, and o3tl::make_unsigned().

◆ registerListener()

void DOM::CElementListImpl::registerListener ( CElement rElement)

Definition at line 105 of file elementlist.cxx.

References Exception, m_xEventListener, TOOLS_WARN_EXCEPTION, and xTarget.

Member Data Documentation

◆ m_bRebuild

bool DOM::CElementListImpl::m_bRebuild
private

Definition at line 57 of file elementlist.hxx.

Referenced by buildlist(), and handleEvent().

◆ m_nodevector

std::vector< xmlNodePtr > DOM::CElementListImpl::m_nodevector
private

Definition at line 58 of file elementlist.hxx.

Referenced by buildlist(), getLength(), and item().

◆ m_pElement

::rtl::Reference<CElement> const DOM::CElementListImpl::m_pElement
private

Definition at line 53 of file elementlist.hxx.

Referenced by getLength(), item(), and ~CElementListImpl().

◆ m_pName

::std::unique_ptr<xmlChar[]> const DOM::CElementListImpl::m_pName
private

Definition at line 55 of file elementlist.hxx.

Referenced by buildlist().

◆ m_pURI

::std::unique_ptr<xmlChar[]> const DOM::CElementListImpl::m_pURI
private

Definition at line 56 of file elementlist.hxx.

Referenced by buildlist().

◆ m_rMutex

::osl::Mutex& DOM::CElementListImpl::m_rMutex
private

Definition at line 54 of file elementlist.hxx.

Referenced by getLength(), handleEvent(), and item().

◆ m_xEventListener

css::uno::Reference< css::xml::dom::events::XEventListener > DOM::CElementListImpl::m_xEventListener
private

proxy weak binding to forward Events to ourself without an ownership cycle

Definition at line 51 of file elementlist.hxx.

Referenced by registerListener(), and ~CElementListImpl().


The documentation for this class was generated from the following files: