From e3b3c3fe41fde28b01ab1b2d8408d92dfa837dc5 Mon Sep 17 00:00:00 2001 From: Daniel Sikeler Date: Thu, 25 Aug 2016 02:19:48 +0530 Subject: Make SvXMLTokenMap compatible with FastTokens: Added new methods for the fasttokens and a lot of entries must be updated in later commits. Change-Id: I37de9c8d4bdeb75f678902a422a5961670480562 Reviewed-on: https://gerrit.libreoffice.org/28355 Reviewed-by: Noel Grandin Tested-by: Noel Grandin --- xmloff/source/core/xmltkmap.cxx | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'xmloff') diff --git a/xmloff/source/core/xmltkmap.cxx b/xmloff/source/core/xmltkmap.cxx index 1b5810fc4fb0..6888b62aae60 100644 --- a/xmloff/source/core/xmltkmap.cxx +++ b/xmloff/source/core/xmltkmap.cxx @@ -30,22 +30,25 @@ class SvXMLTokenMapEntry_Impl sal_uInt16 nPrefixKey; OUString sLocalName; sal_uInt16 nToken; + sal_Int32 nFastToken; public: sal_uInt16 GetToken() const { return nToken; } SvXMLTokenMapEntry_Impl( sal_uInt16 nPrefix, const OUString& rLName, - sal_uInt16 nTok=XML_TOK_UNKNOWN ) : + sal_uInt16 nTok = XML_TOK_UNKNOWN, sal_Int32 nFastTok = 0 ) : nPrefixKey( nPrefix ), sLocalName( rLName ), - nToken( nTok ) + nToken( nTok ), + nFastToken( nFastTok ) {} explicit SvXMLTokenMapEntry_Impl( const SvXMLTokenMapEntry& rEntry ) : nPrefixKey( rEntry.nPrefixKey ), sLocalName( GetXMLToken( rEntry.eLocalName ) ), - nToken( rEntry.nToken ) + nToken( rEntry.nToken ), + nFastToken( rEntry.nFastToken ) {} bool operator<( const SvXMLTokenMapEntry_Impl& r ) const @@ -72,13 +75,10 @@ SvXMLTokenMap::~SvXMLTokenMap() { } -sal_uInt16 SvXMLTokenMap::Get( sal_uInt16 nKeyPrefix, - const OUString& rLName ) const +sal_uInt16 SvXMLTokenMap::Get( const SvXMLTokenMapEntry_Impl& rEntry ) const { SvXMLTokenMapEntry_Impl const* pEntry = nullptr; - SvXMLTokenMapEntry_Impl aTst( nKeyPrefix, rLName ); - - SvXMLTokenMap_Impl::iterator it = m_pImpl->find( aTst ); + SvXMLTokenMap_Impl::iterator it = m_pImpl->find( rEntry ); if (it != m_pImpl->end()) { pEntry = &*it; @@ -90,4 +90,18 @@ sal_uInt16 SvXMLTokenMap::Get( sal_uInt16 nKeyPrefix, return XML_TOK_UNKNOWN; } +sal_uInt16 SvXMLTokenMap::Get( sal_uInt16 nKeyPrefix, + const OUString& rLName ) const +{ + SvXMLTokenMapEntry_Impl aTst( nKeyPrefix, rLName ); + return( Get( aTst ) ); +} + +sal_uInt16 SvXMLTokenMap::Get( sal_Int32 nFastTok ) const +{ + static const OUString sEmptyString(""); + SvXMLTokenMapEntry_Impl aTst( 0, sEmptyString, XML_TOK_UNKNOWN, nFastTok ); + return( Get( aTst ) ); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit