LCOV - code coverage report
Current view: top level - include/sax/tools - documenthandleradapter.hxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 32 85 37.6 %
Date: 2015-06-13 12:38:46 Functions: 11 31 35.5 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : 
       3             : /*
       4             :  * This file is part of the LibreOffice project.
       5             :  *
       6             :  * This Source Code Form is subject to the terms of the Mozilla Public
       7             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       8             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       9             :  */
      10             : 
      11             : #ifndef INCLUDED_SAX_TOOLS_DOCUMENTHANDLERADAPTER_HXX
      12             : #define INCLUDED_SAX_TOOLS_DOCUMENTHANDLERADAPTER_HXX
      13             : 
      14             : #include <com/sun/star/xml/sax/SAXException.hpp>
      15             : #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
      16             : #include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
      17             : 
      18             : namespace sax
      19             : {
      20             :     /**
      21             :      * DocumentHandlerAdapter provides a base class for simple decorators to XDocumentHandlers.
      22             :      * It forwards all method calls to a delegate. An inheriting class only needs to override the
      23             :      * methods it actually wants to modify.
      24             :      *
      25             :      * See filters/source/odfflatxml/FlatXml.cxx for an example.
      26             :      */
      27             :     class DocumentHandlerAdapter : public ::com::sun::star::xml::sax::XDocumentHandler
      28             :     {
      29             :     public:
      30             :         // XDocumentHandler
      31             :         virtual void SAL_CALL
      32           0 :         startDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      33             :         {
      34           0 :             m_handler->startDocument();
      35           0 :         }
      36             : 
      37             :         virtual void SAL_CALL
      38           0 :         endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      39             :         {
      40           0 :             m_handler->endDocument();
      41           0 :         }
      42             : 
      43             :         virtual void SAL_CALL
      44           0 :         startElement(const OUString& aName,
      45             :                 const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > & xAttribs)
      46             :                 throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      47             :         {
      48           0 :             m_handler->startElement(aName, xAttribs);
      49           0 :         }
      50             : 
      51             :         virtual void SAL_CALL
      52           0 :         endElement(const OUString& aName) throw (::com::sun::star::xml::sax::SAXException,
      53             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      54             :         {
      55           0 :             m_handler->endElement(aName);
      56           0 :         }
      57             : 
      58             :         virtual void SAL_CALL
      59           0 :         characters(const OUString& aChars) throw (::com::sun::star::xml::sax::SAXException,
      60             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      61             :         {
      62           0 :             m_handler->characters(aChars);
      63           0 :         }
      64             : 
      65             :         virtual void SAL_CALL
      66           0 :         ignorableWhitespace(const OUString& aWhitespaces) throw (::com::sun::star::xml::sax::SAXException,
      67             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      68             :         {
      69           0 :             m_handler->ignorableWhitespace(aWhitespaces);
      70           0 :         }
      71             :         virtual void SAL_CALL
      72           0 :         processingInstruction(const OUString& aTarget, const OUString& aData)
      73             :                 throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      74             :         {
      75           0 :             m_handler->processingInstruction(aTarget, aData);
      76           0 :         }
      77             :         virtual void SAL_CALL
      78           0 :         setDocumentLocator(const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > & xLocator)
      79             :                 throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
      80             :         {
      81           0 :             m_handler->setDocumentLocator(xLocator);
      82           0 :         }
      83             :         DocumentHandlerAdapter(const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >& delegate);
      84           7 :         DocumentHandlerAdapter() :
      85           7 :             m_handler(::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > (0, ::com::sun::star::uno::UNO_QUERY))
      86             :         {
      87           7 :         }
      88             :         ;
      89             : 
      90             :     protected:
      91             :         virtual void SAL_CALL
      92           0 :         setDelegate(const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >& delegate)
      93             :         {
      94           0 :             m_handler = delegate;
      95           0 :         }
      96             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > SAL_CALL
      97           0 :         getDelegate()
      98             :         {
      99           0 :             return m_handler;
     100             :         }
     101             :         virtual
     102           7 :         ~DocumentHandlerAdapter()
     103           7 :         {
     104             : 
     105           7 :         }
     106             : 
     107             :     private:
     108             :         ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_handler;
     109             : 
     110             :     };
     111             : 
     112             :     /**
     113             :      * ExtendedDocumentHandlerAdapter provides a base class for simple decorators to XExtendedDocumentHandlers.
     114             :      * It forwards all method calls to a delegate. An inheriting class only needs to override the
     115             :      * methods it actually wants to modify.
     116             :      */
     117             :     class ExtendedDocumentHandlerAdapter : public ::com::sun::star::xml::sax::XExtendedDocumentHandler
     118             : 
     119             :     {
     120             : 
     121             :     public:
     122             :         // XDocumentHandler
     123             :         virtual void SAL_CALL
     124           2 :         startDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     125             :         {
     126           2 :             m_handler->startDocument();
     127           2 :         }
     128             : 
     129             :         virtual void SAL_CALL
     130           2 :         endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     131             :         {
     132           2 :             m_handler->endDocument();
     133           2 :         }
     134             : 
     135             :         virtual void SAL_CALL
     136        2500 :         startElement(const OUString& aName,
     137             :                 const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > & xAttribs)
     138             :                 throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     139             :         {
     140        2500 :             m_handler->startElement(aName, xAttribs);
     141        2500 :         }
     142             : 
     143             :         virtual void SAL_CALL
     144        2500 :         endElement(const OUString& aName) throw (::com::sun::star::xml::sax::SAXException,
     145             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     146             :         {
     147        2500 :             m_handler->endElement(aName);
     148        2500 :         }
     149             : 
     150             :         virtual void SAL_CALL
     151         404 :         characters(const OUString& aChars) throw (::com::sun::star::xml::sax::SAXException,
     152             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     153             :         {
     154         404 :             m_handler->characters(aChars);
     155         404 :         }
     156             : 
     157             :         virtual void SAL_CALL
     158           8 :         ignorableWhitespace(const OUString& aWhitespaces) throw (::com::sun::star::xml::sax::SAXException,
     159             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     160             :         {
     161           8 :             m_handler->ignorableWhitespace(aWhitespaces);
     162           8 :         }
     163             :         virtual void SAL_CALL
     164           0 :         processingInstruction(const OUString& aTarget, const OUString& aData)
     165             :                 throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     166             :         {
     167           0 :             m_handler->processingInstruction(aTarget, aData);
     168           0 :         }
     169             :         virtual void SAL_CALL
     170           0 :         setDocumentLocator(const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > & xLocator)
     171             :                 throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     172             :         {
     173           0 :             m_handler->setDocumentLocator(xLocator);
     174           0 :         }
     175             :         // XExtendedDocumentHandler
     176             :         virtual void SAL_CALL
     177           0 :         startCDATA() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     178             :         {
     179           0 :             m_handler->startCDATA();
     180           0 :         }
     181             :         virtual void SAL_CALL
     182           0 :         endCDATA() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     183             :         {
     184           0 :             m_handler->endCDATA();
     185           0 :         }
     186             :         virtual void SAL_CALL
     187           0 :         comment(const OUString& sComment) throw (::com::sun::star::xml::sax::SAXException,
     188             :                 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     189             :         {
     190           0 :             m_handler->comment(sComment);
     191           0 :         }
     192             :         virtual void SAL_CALL
     193           0 :         unknown(const OUString& sString) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     194             :         {
     195           0 :             m_handler->unknown(sString);
     196           0 :         }
     197             :         virtual void SAL_CALL
     198           0 :         allowLineBreak() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
     199             :         {
     200           0 :             m_handler->allowLineBreak();
     201           0 :         }
     202             :     protected:
     203           2 :         ExtendedDocumentHandlerAdapter() :
     204           2 :             m_handler(::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XExtendedDocumentHandler > (0, ::com::sun::star::uno::UNO_QUERY))
     205             :         {
     206           2 :         }
     207             :         ExtendedDocumentHandlerAdapter(
     208             :                 const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XExtendedDocumentHandler >& delegate) :
     209             :             m_handler(delegate)
     210             :         {
     211             :         }
     212             : 
     213             :         virtual void SAL_CALL
     214           2 :         setDelegate(const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XExtendedDocumentHandler >& delegate)
     215             :         {
     216           2 :             m_handler = delegate;
     217           2 :         }
     218             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XExtendedDocumentHandler > SAL_CALL
     219           4 :         getDelegate()
     220             :         {
     221           4 :             return m_handler;
     222             :         }
     223             :         virtual
     224           0 :         ~ExtendedDocumentHandlerAdapter()
     225           0 :         {
     226             : 
     227           0 :         }
     228             : 
     229             :     private:
     230             :         ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XExtendedDocumentHandler > m_handler;
     231             :     };
     232             : }
     233             : #endif // INCLUDED_SAX_TOOLS_DOCUMENTHANDLERADAPTER_HXX
     234             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11