diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-21 11:17:19 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-21 14:18:46 +0100 |
commit | 996f1b9b325dcccd7b0ebfcacb45a4ffb4cba58e (patch) | |
tree | 04af03c2d0fa8a55cd5a549fc1e610c3d62583f6 /include | |
parent | 08e633d777f1d2cf11a93ccb55f231d084f3220c (diff) |
Use FastParser in XMLDocumentSettingsContext
and flatten the pImpl data
Change-Id: I8d817cd2af0a3855d10dbfaa580c3379119d5067
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87126
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/xmloff/DocumentSettingsContext.hxx | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/include/xmloff/DocumentSettingsContext.hxx b/include/xmloff/DocumentSettingsContext.hxx index 5a63435ed31f..f09d0f919dc7 100644 --- a/include/xmloff/DocumentSettingsContext.hxx +++ b/include/xmloff/DocumentSettingsContext.hxx @@ -24,23 +24,32 @@ #include <xmloff/dllapi.h> #include <xmloff/xmlictxt.hxx> -#include <memory> +#include <vector> struct XMLDocumentSettingsContext_Data; class XMLOFF_DLLPUBLIC XMLDocumentSettingsContext final : public SvXMLImportContext { - ::std::unique_ptr< XMLDocumentSettingsContext_Data > m_pData; + struct SettingsGroup + { + OUString sGroupName; + css::uno::Any aSettings; + }; + css::uno::Any maViewProps; + css::uno::Any maConfigProps; + ::std::vector< SettingsGroup > maDocSpecificSettings; public: - XMLDocumentSettingsContext(SvXMLImport& rImport, sal_uInt16 nPrfx, const OUString& rLName, - const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList); + XMLDocumentSettingsContext(SvXMLImport& rImport); virtual ~XMLDocumentSettingsContext() override; - virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, - const OUString& rLocalName, - const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList ) override; - virtual void EndElement() override; + virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( + sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList ) override; + + virtual void SAL_CALL startFastElement( sal_Int32 /*nElement*/, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) override {} + + virtual void SAL_CALL endFastElement(sal_Int32 nElement) override; private: XMLDocumentSettingsContext( const XMLDocumentSettingsContext& ) = delete; |