make SvXMLImport fast-parser only
so I can simplify its logic and convert the rest of
the context classes.
Change-Id: I671ba63724a153a5c715153a8149bdd045040193
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104038
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/include/xmloff/xmlimp.hxx b/include/xmloff/xmlimp.hxx
index 3e3a9cf8..edb437b 100644
--- a/include/xmloff/xmlimp.hxx
+++ b/include/xmloff/xmlimp.hxx
@@ -173,7 +173,6 @@ public:
};
class XMLOFF_DLLPUBLIC SvXMLImport : public cppu::WeakImplHelper<
css::xml::sax::XExtendedDocumentHandler,
css::xml::sax::XFastDocumentHandler,
css::lang::XServiceInfo,
css::lang::XInitialization,
@@ -302,14 +301,15 @@ public:
virtual ~SvXMLImport() throw() override;
// css::xml::sax::XDocumentHandler
virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& _rType ) override;
void startElement(const OUString& aName,
const css::uno::Reference< css::xml::sax::XAttributeList > & xAttribs);
void endElement(const OUString& aName);
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;
@@ -330,13 +330,6 @@ public:
createUnknownChildContext(const OUString & Namespace, const OUString & Name,
const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
// css::xml::sax::XExtendedDocumentHandler
virtual void SAL_CALL startCDATA() override;
virtual void SAL_CALL endCDATA() override;
virtual void SAL_CALL comment(const OUString& sComment) override;
virtual void SAL_CALL allowLineBreak() override;
virtual void SAL_CALL unknown(const OUString& sString) override;
// XFastParser
virtual void SAL_CALL parseStream( const css::xml::sax::InputSource& aInputSource ) override;
virtual void SAL_CALL setFastDocumentHandler( const css::uno::Reference< css::xml::sax::XFastDocumentHandler >& Handler ) override;
diff --git a/xmloff/Library_xof.mk b/xmloff/Library_xof.mk
index 557935a..350f2cf 100644
--- a/xmloff/Library_xof.mk
+++ b/xmloff/Library_xof.mk
@@ -42,6 +42,7 @@ $(eval $(call gb_Library_use_libraries,xof,\
cppuhelper \
sal \
salhelper \
tl \
sax \
xo \
))
diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx
index 5cddf60..40d947b 100644
--- a/xmloff/source/core/xmlimp.cxx
+++ b/xmloff/source/core/xmlimp.cxx
@@ -715,7 +715,7 @@ std::unique_ptr<SvXMLNamespaceMap> SvXMLImport::processNSAttributes(
return pRewindMap;
}
void SAL_CALL SvXMLImport::startElement( const OUString& rName,
void SvXMLImport::startElement( const OUString& rName,
const uno::Reference< xml::sax::XAttributeList >& xAttrList )
{
// SAL_INFO("svg", "startElement " << rName);
@@ -763,7 +763,7 @@ void SAL_CALL SvXMLImport::startElement( const OUString& rName,
maContexts.push(xContext);
}
void SAL_CALL SvXMLImport::endElement( const OUString&
void SvXMLImport::endElement( const OUString&
#ifdef DBG_UTIL
rName
#endif
@@ -830,10 +830,6 @@ void SvXMLImport::Characters( const OUString& rChars )
}
}
void SAL_CALL SvXMLImport::ignorableWhitespace( const OUString& )
{
}
void SAL_CALL SvXMLImport::processingInstruction( const OUString&,
const OUString& )
{
@@ -959,27 +955,6 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL
return this;
}
// XExtendedDocumentHandler
void SAL_CALL SvXMLImport::startCDATA()
{
}
void SAL_CALL SvXMLImport::endCDATA()
{
}
void SAL_CALL SvXMLImport::comment( const OUString& )
{
}
void SAL_CALL SvXMLImport::allowLineBreak()
{
}
void SAL_CALL SvXMLImport::unknown( const OUString& )
{
}
void SvXMLImport::SetStatistics(const uno::Sequence< beans::NamedValue> &)
{
GetProgressBarHelper()->SetRepeat(false);
@@ -2187,6 +2162,20 @@ void SvXMLImport::NotifyMacroEventRead()
mbNotifyMacroEventRead = true;
}
css::uno::Any SvXMLImport::queryInterface(css::uno::Type const & aType)
{
assert( aType != cppu::UnoType<css::xml::sax::XDocumentHandler>::get() );
assert( aType != cppu::UnoType<css::xml::sax::XExtendedDocumentHandler>::get() );
return cppu::WeakImplHelper<
css::xml::sax::XFastDocumentHandler,
css::lang::XServiceInfo,
css::lang::XInitialization,
css::document::XImporter,
css::document::XFilter,
css::lang::XUnoTunnel,
css::xml::sax::XFastParser>::queryInterface(aType);
}
SvXMLImportFastNamespaceHandler::SvXMLImportFastNamespaceHandler()
{
}
@@ -2327,9 +2316,8 @@ void SAL_CALL SvXMLLegacyToFastDocHandler::characters( const OUString& aChars )
mrImport->characters( aChars );
}
void SAL_CALL SvXMLLegacyToFastDocHandler::ignorableWhitespace( const OUString& aWhitespaces )
void SAL_CALL SvXMLLegacyToFastDocHandler::ignorableWhitespace( const OUString& )
{
mrImport->ignorableWhitespace( aWhitespaces );
}
void SAL_CALL SvXMLLegacyToFastDocHandler::processingInstruction( const OUString& aTarget,