1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 #include <SvXMLAutoCorrectTokenHandler.hxx>
11 #include <xmloff/xmltoken.hxx>
12 #include <com/sun/star/xml/sax/FastToken.hpp>
14 #if __has_warning("-Wdeprecated-register")
15 #pragma GCC diagnostic push
16 #pragma GCC diagnostic ignored "-Wdeprecated-register"
21 #if __has_warning("-Wdeprecated-register")
22 #pragma GCC diagnostic pop
26 using namespace ::css::uno
;
27 using namespace ::xmloff::token
;
29 SvXMLAutoCorrectTokenHandler::SvXMLAutoCorrectTokenHandler()
33 SvXMLAutoCorrectTokenHandler::~SvXMLAutoCorrectTokenHandler()
37 sal_Int32 SAL_CALL
SvXMLAutoCorrectTokenHandler::getTokenFromUTF8( const Sequence
< sal_Int8
>& Identifier
)
38 throw (::css::uno::RuntimeException
, std::exception
)
40 return getTokenDirect( reinterpret_cast< const char* >( Identifier
.getConstArray() ), Identifier
.getLength() );
43 Sequence
< sal_Int8
> SAL_CALL
SvXMLAutoCorrectTokenHandler::getUTF8Identifier( sal_Int32
)
44 throw (::css::uno::RuntimeException
, std::exception
)
46 return Sequence
< sal_Int8
>();
49 sal_Int32
SvXMLAutoCorrectTokenHandler::getTokenDirect( const char *pTag
, sal_Int32 nLength
) const
52 nLength
= strlen( pTag
);
53 const struct xmltoken
* pToken
= Perfect_Hash::in_word_set( pTag
, nLength
);
54 return pToken
? pToken
->nToken
: XML_TOKEN_INVALID
;
57 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */