LibreOffice Module xmlsecurity (master) 1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
SAXEventKeeperImpl Class Referencefinal

#include <saxeventkeeperimpl.hxx>

Inheritance diagram for SAXEventKeeperImpl:
[legend]
Collaboration diagram for SAXEventKeeperImpl:
[legend]

Public Member Functions

 SAXEventKeeperImpl ()
 
virtual ~SAXEventKeeperImpl () override
 
 SAXEventKeeperImpl (const SAXEventKeeperImpl &)=delete
 
SAXEventKeeperImploperator= (const SAXEventKeeperImpl &)=delete
 
virtual sal_Int32 SAL_CALL addElementCollector () override
 
virtual void SAL_CALL removeElementCollector (sal_Int32 id) override
 
virtual sal_Int32 SAL_CALL addBlocker () override
 
virtual void SAL_CALL removeBlocker (sal_Int32 id) override
 
virtual sal_Bool SAL_CALL isBlocking () override
 
virtual css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL getElement (sal_Int32 id) override
 
virtual void SAL_CALL setElement (sal_Int32 id, const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &aElement) override
 
virtual css::uno::Reference< css::xml::sax::XDocumentHandler > SAL_CALL setNextHandler (const css::uno::Reference< css::xml::sax::XDocumentHandler > &xNewHandler) override
 
virtual OUString SAL_CALL printBufferNodeTree () override
 
virtual css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL getCurrentBlockingNode () override
 
virtual sal_Int32 SAL_CALL addSecurityElementCollector (css::xml::crypto::sax::ElementMarkPriority priority, sal_Bool modifyElement) override
 
virtual void SAL_CALL setSecurityId (sal_Int32 id, sal_Int32 securityId) override
 
virtual void SAL_CALL addReferenceResolvedListener (sal_Int32 referenceId, const css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > &listener) override
 
virtual void SAL_CALL removeReferenceResolvedListener (sal_Int32 referenceId, const css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > &listener) override
 
virtual void SAL_CALL addSAXEventKeeperStatusChangeListener (const css::uno::Reference< css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener > &listener) override
 
virtual void SAL_CALL removeSAXEventKeeperStatusChangeListener (const css::uno::Reference< css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener > &listener) override
 
virtual void SAL_CALL startDocument () override
 
virtual void SAL_CALL endDocument () override
 
virtual void SAL_CALL startElement (const OUString &aName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
 
virtual void SAL_CALL endElement (const OUString &aName) override
 
virtual void SAL_CALL characters (const OUString &aChars) override
 
virtual void SAL_CALL ignorableWhitespace (const OUString &aWhitespaces) override
 
virtual void SAL_CALL processingInstruction (const OUString &aTarget, const OUString &aData) override
 
virtual void SAL_CALL setDocumentLocator (const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
 
virtual void SAL_CALL initialize (const css::uno::Sequence< css::uno::Any > &aArguments) override
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 

Private Member Functions

void setCurrentBufferNode (BufferNode *pBufferNode)
 
BufferNodeaddNewElementMarkBuffers ()
 
ElementMarkfindElementMarkBuffer (sal_Int32 nId) const
 
void removeElementMarkBuffer (sal_Int32 nId)
 
OUString printBufferNode (BufferNode const *pBufferNode, sal_Int32 nIndent) const
 
void smashBufferNode (BufferNode *pBufferNode, bool bClearRoot) const
 
void releaseElementMarkBuffer ()
 
void markElementMarkBuffer (sal_Int32 nId)
 
sal_Int32 createElementCollector (css::xml::crypto::sax::ElementMarkPriority nPriority, bool bModifyElement, const css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > &xReferenceResolvedListener)
 
sal_Int32 createBlocker ()
 

Static Private Member Functions

static css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > collectChildWorkingElement (BufferNode const *pBufferNode)
 
static BufferNodefindNextBlockingBufferNode (BufferNode *pStartBufferNode)
 
static void diffuse (BufferNode *pBufferNode)
 

Private Attributes

css::uno::Reference< css::xml::wrapper::XXMLDocumentWrapper > m_xXMLDocument
 
css::uno::Reference< css::xml::sax::XDocumentHandler > m_xDocumentHandler
 
css::uno::Reference< css::xml::csax::XCompressedDocumentHandler > m_xCompressedDocumentHandler
 
css::uno::Reference< css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener > m_xSAXEventKeeperStatusChangeListener
 
std::unique_ptr< BufferNodem_pRootBufferNode
 
BufferNodem_pCurrentBufferNode
 
sal_Int32 m_nNextElementMarkId
 
std::vector< std::unique_ptr< const ElementMark > > m_vElementMarkBuffers
 
std::vector< const ElementCollector * > m_vNewElementCollectors
 
ElementMarkm_pNewBlocker
 
css::uno::Reference< css::xml::sax::XDocumentHandler > m_xNextHandler
 
BufferNodem_pCurrentBlockingBufferNode
 
std::vector< sal_Int32 > m_vReleasedElementMarkBuffers
 
bool m_bIsReleasing
 
bool m_bIsForwarding
 

Detailed Description

Definition at line 41 of file saxeventkeeperimpl.hxx.

Constructor & Destructor Documentation

◆ SAXEventKeeperImpl() [1/2]

SAXEventKeeperImpl::SAXEventKeeperImpl ( )

◆ ~SAXEventKeeperImpl()

SAXEventKeeperImpl::~SAXEventKeeperImpl ( )
overridevirtual

◆ SAXEventKeeperImpl() [2/2]

SAXEventKeeperImpl::SAXEventKeeperImpl ( const SAXEventKeeperImpl )
delete

Member Function Documentation

◆ addBlocker()

sal_Int32 SAL_CALL SAXEventKeeperImpl::addBlocker ( )
overridevirtual

Definition at line 817 of file saxeventkeeperimpl.cxx.

References createBlocker().

◆ addElementCollector()

sal_Int32 SAL_CALL SAXEventKeeperImpl::addElementCollector ( )
overridevirtual

Definition at line 804 of file saxeventkeeperimpl.cxx.

References createElementCollector().

◆ addNewElementMarkBuffers()

BufferNode * SAXEventKeeperImpl::addNewElementMarkBuffers ( )
private

◆ addReferenceResolvedListener()

void SAL_CALL SAXEventKeeperImpl::addReferenceResolvedListener ( sal_Int32  referenceId,
const css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > &  listener 
)
overridevirtual

◆ addSAXEventKeeperStatusChangeListener()

void SAL_CALL SAXEventKeeperImpl::addSAXEventKeeperStatusChangeListener ( const css::uno::Reference< css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener > &  listener)
overridevirtual

Definition at line 949 of file saxeventkeeperimpl.cxx.

References m_xSAXEventKeeperStatusChangeListener.

◆ addSecurityElementCollector()

sal_Int32 SAL_CALL SAXEventKeeperImpl::addSecurityElementCollector ( css::xml::crypto::sax::ElementMarkPriority  priority,
sal_Bool  modifyElement 
)
overridevirtual

Definition at line 910 of file saxeventkeeperimpl.cxx.

References createElementCollector().

◆ characters()

void SAL_CALL SAXEventKeeperImpl::characters ( const OUString &  aChars)
overridevirtual

◆ collectChildWorkingElement()

css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > SAXEventKeeperImpl::collectChildWorkingElement ( BufferNode const *  pBufferNode)
staticprivate

Definition at line 328 of file saxeventkeeperimpl.cxx.

References BufferNode::getChildren(), and i.

◆ createBlocker()

sal_Int32 SAXEventKeeperImpl::createBlocker ( )
private

Definition at line 778 of file saxeventkeeperimpl.cxx.

References m_nNextElementMarkId, m_pNewBlocker, m_vElementMarkBuffers, and nId.

Referenced by addBlocker().

◆ createElementCollector()

sal_Int32 SAXEventKeeperImpl::createElementCollector ( css::xml::crypto::sax::ElementMarkPriority  nPriority,
bool  bModifyElement,
const css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > &  xReferenceResolvedListener 
)
private

◆ diffuse()

void SAXEventKeeperImpl::diffuse ( BufferNode pBufferNode)
staticprivate

◆ endDocument()

void SAL_CALL SAXEventKeeperImpl::endDocument ( )
overridevirtual

Definition at line 969 of file saxeventkeeperimpl.cxx.

References m_xNextHandler.

◆ endElement()

void SAL_CALL SAXEventKeeperImpl::endElement ( const OUString &  aName)
overridevirtual

◆ findElementMarkBuffer()

ElementMark * SAXEventKeeperImpl::findElementMarkBuffer ( sal_Int32  nId) const
private

◆ findNextBlockingBufferNode()

BufferNode * SAXEventKeeperImpl::findNextBlockingBufferNode ( BufferNode pStartBufferNode)
staticprivate

◆ getCurrentBlockingNode()

css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL SAXEventKeeperImpl::getCurrentBlockingNode ( )
overridevirtual

◆ getElement()

css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL SAXEventKeeperImpl::getElement ( sal_Int32  id)
overridevirtual

◆ getImplementationName()

OUString SAL_CALL SAXEventKeeperImpl::getImplementationName ( )
overridevirtual

◆ getSupportedServiceNames()

css::uno::Sequence< OUString > SAL_CALL SAXEventKeeperImpl::getSupportedServiceNames ( )
overridevirtual

◆ ignorableWhitespace()

void SAL_CALL SAXEventKeeperImpl::ignorableWhitespace ( const OUString &  aWhitespaces)
overridevirtual

Definition at line 1086 of file saxeventkeeperimpl.cxx.

References characters().

◆ initialize()

void SAL_CALL SAXEventKeeperImpl::initialize ( const css::uno::Sequence< css::uno::Any > &  aArguments)
overridevirtual

◆ isBlocking()

sal_Bool SAL_CALL SAXEventKeeperImpl::isBlocking ( )
overridevirtual

Definition at line 827 of file saxeventkeeperimpl.cxx.

References m_pCurrentBlockingBufferNode.

◆ markElementMarkBuffer()

void SAXEventKeeperImpl::markElementMarkBuffer ( sal_Int32  nId)
private

◆ operator=()

SAXEventKeeperImpl & SAXEventKeeperImpl::operator= ( const SAXEventKeeperImpl )
delete

◆ printBufferNode()

OUString SAXEventKeeperImpl::printBufferNode ( BufferNode const *  pBufferNode,
sal_Int32  nIndent 
) const
private

◆ printBufferNodeTree()

OUString SAL_CALL SAXEventKeeperImpl::printBufferNodeTree ( )
overridevirtual

◆ processingInstruction()

void SAL_CALL SAXEventKeeperImpl::processingInstruction ( const OUString &  aTarget,
const OUString &  aData 
)
overridevirtual

◆ releaseElementMarkBuffer()

void SAXEventKeeperImpl::releaseElementMarkBuffer ( )
private

◆ removeBlocker()

void SAL_CALL SAXEventKeeperImpl::removeBlocker ( sal_Int32  id)
overridevirtual

Definition at line 822 of file saxeventkeeperimpl.cxx.

References markElementMarkBuffer().

◆ removeElementCollector()

void SAL_CALL SAXEventKeeperImpl::removeElementCollector ( sal_Int32  id)
overridevirtual

Definition at line 812 of file saxeventkeeperimpl.cxx.

References markElementMarkBuffer().

Referenced by setElement().

◆ removeElementMarkBuffer()

void SAXEventKeeperImpl::removeElementMarkBuffer ( sal_Int32  nId)
private

◆ removeReferenceResolvedListener()

void SAL_CALL SAXEventKeeperImpl::removeReferenceResolvedListener ( sal_Int32  referenceId,
const css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > &  listener 
)
overridevirtual

Definition at line 942 of file saxeventkeeperimpl.cxx.

◆ removeSAXEventKeeperStatusChangeListener()

void SAL_CALL SAXEventKeeperImpl::removeSAXEventKeeperStatusChangeListener ( const css::uno::Reference< css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener > &  listener)
overridevirtual

Definition at line 955 of file saxeventkeeperimpl.cxx.

◆ setCurrentBufferNode()

void SAXEventKeeperImpl::setCurrentBufferNode ( BufferNode pBufferNode)
private

◆ setDocumentLocator()

void SAL_CALL SAXEventKeeperImpl::setDocumentLocator ( const css::uno::Reference< css::xml::sax::XLocator > &  xLocator)
overridevirtual

Definition at line 1109 of file saxeventkeeperimpl.cxx.

◆ setElement()

void SAL_CALL SAXEventKeeperImpl::setElement ( sal_Int32  id,
const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > &  aElement 
)
overridevirtual

◆ setNextHandler()

css::uno::Reference< css::xml::sax::XDocumentHandler > SAL_CALL SAXEventKeeperImpl::setNextHandler ( const css::uno::Reference< css::xml::sax::XDocumentHandler > &  xNewHandler)
overridevirtual

Definition at line 877 of file saxeventkeeperimpl.cxx.

References m_xNextHandler.

◆ setSecurityId()

void SAL_CALL SAXEventKeeperImpl::setSecurityId ( sal_Int32  id,
sal_Int32  securityId 
)
overridevirtual

◆ smashBufferNode()

void SAXEventKeeperImpl::smashBufferNode ( BufferNode pBufferNode,
bool  bClearRoot 
) const
private

◆ startDocument()

void SAL_CALL SAXEventKeeperImpl::startDocument ( )
overridevirtual

Definition at line 961 of file saxeventkeeperimpl.cxx.

References m_xNextHandler.

◆ startElement()

void SAL_CALL SAXEventKeeperImpl::startElement ( const OUString &  aName,
const css::uno::Reference< css::xml::sax::XAttributeList > &  xAttribs 
)
overridevirtual

◆ supportsService()

sal_Bool SAL_CALL SAXEventKeeperImpl::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 1142 of file saxeventkeeperimpl.cxx.

References cppu::supportsService().

Member Data Documentation

◆ m_bIsForwarding

bool SAXEventKeeperImpl::m_bIsForwarding
private

◆ m_bIsReleasing

bool SAXEventKeeperImpl::m_bIsReleasing
private

Definition at line 166 of file saxeventkeeperimpl.hxx.

Referenced by markElementMarkBuffer(), and releaseElementMarkBuffer().

◆ m_nNextElementMarkId

sal_Int32 SAXEventKeeperImpl::m_nNextElementMarkId
private

Definition at line 111 of file saxeventkeeperimpl.hxx.

Referenced by createBlocker(), and createElementCollector().

◆ m_pCurrentBlockingBufferNode

BufferNode* SAXEventKeeperImpl::m_pCurrentBlockingBufferNode
private

◆ m_pCurrentBufferNode

BufferNode* SAXEventKeeperImpl::m_pCurrentBufferNode
private

◆ m_pNewBlocker

ElementMark* SAXEventKeeperImpl::m_pNewBlocker
private

◆ m_pRootBufferNode

std::unique_ptr<BufferNode> SAXEventKeeperImpl::m_pRootBufferNode
private

◆ m_vElementMarkBuffers

std::vector<std::unique_ptr<const ElementMark> > SAXEventKeeperImpl::m_vElementMarkBuffers
private

◆ m_vNewElementCollectors

std::vector< const ElementCollector* > SAXEventKeeperImpl::m_vNewElementCollectors
private

◆ m_vReleasedElementMarkBuffers

std::vector< sal_Int32 > SAXEventKeeperImpl::m_vReleasedElementMarkBuffers
private

◆ m_xCompressedDocumentHandler

css::uno::Reference< css::xml::csax::XCompressedDocumentHandler > SAXEventKeeperImpl::m_xCompressedDocumentHandler
private

◆ m_xDocumentHandler

css::uno::Reference< css::xml::sax::XDocumentHandler > SAXEventKeeperImpl::m_xDocumentHandler
private

Definition at line 71 of file saxeventkeeperimpl.hxx.

Referenced by initialize().

◆ m_xNextHandler

css::uno::Reference< css::xml::sax::XDocumentHandler > SAXEventKeeperImpl::m_xNextHandler
private

◆ m_xSAXEventKeeperStatusChangeListener

css::uno::Reference< css::xml::crypto::sax::XSAXEventKeeperStatusChangeListener > SAXEventKeeperImpl::m_xSAXEventKeeperStatusChangeListener
private

◆ m_xXMLDocument

css::uno::Reference< css::xml::wrapper::XXMLDocumentWrapper > SAXEventKeeperImpl::m_xXMLDocument
private

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