2014-10-24 08:36:08 +00:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef EDITENG_SOURCE_MISC_SVXMLAUTOCORRECTTOKENHANDLER_HXX
|
|
|
|
#define EDITENG_SOURCE_MISC_SVXMLAUTOCORRECTTOKENHANDLER_HXX
|
|
|
|
|
|
|
|
#include <sal/types.h>
|
|
|
|
#include <xmloff/xmltoken.hxx>
|
|
|
|
#include <xmloff/xmlnmspe.hxx>
|
2015-07-30 16:41:22 +09:00
|
|
|
#include <cppuhelper/implbase.hxx>
|
2014-10-24 08:36:08 +00:00
|
|
|
#include <com/sun/star/xml/sax/XFastTokenHandler.hpp>
|
|
|
|
#include <com/sun/star/xml/sax/FastToken.hpp>
|
2014-11-03 11:29:48 +00:00
|
|
|
#include <sax/fastattribs.hxx>
|
2014-10-24 08:36:08 +00:00
|
|
|
|
2015-09-13 09:32:42 +03:00
|
|
|
using namespace css::xml::sax;
|
2014-10-24 08:36:08 +00:00
|
|
|
using namespace ::xmloff::token;
|
|
|
|
|
|
|
|
enum SvXMLAutoCorrectToken : sal_Int32
|
|
|
|
{
|
|
|
|
NAMESPACE = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST, //65553
|
|
|
|
ABBREVIATED_NAME = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_ABBREVIATED_NAME, //65655
|
|
|
|
BLOCK = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_BLOCK, //65791
|
|
|
|
BLOCKLIST = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_BLOCK_LIST, //65792
|
|
|
|
NAME = FastToken::NAMESPACE | XML_NAMESPACE_BLOCKLIST | XML_NAME //66737
|
|
|
|
};
|
|
|
|
|
|
|
|
class SvXMLAutoCorrectTokenHandler : public
|
2015-07-30 16:41:22 +09:00
|
|
|
cppu::WeakImplHelper< css::xml::sax::XFastTokenHandler >,
|
2014-11-03 11:29:48 +00:00
|
|
|
public sax_fastparser::FastTokenHandlerBase
|
2014-10-24 08:36:08 +00:00
|
|
|
{
|
|
|
|
public:
|
2014-11-03 11:29:48 +00:00
|
|
|
explicit SvXMLAutoCorrectTokenHandler();
|
2016-09-13 13:09:01 +02:00
|
|
|
virtual ~SvXMLAutoCorrectTokenHandler() override;
|
2014-10-24 08:36:08 +00:00
|
|
|
|
|
|
|
//XFastTokenHandler
|
|
|
|
virtual sal_Int32 SAL_CALL getTokenFromUTF8( const css::uno::Sequence< sal_Int8 >& Identifier )
|
2015-10-12 16:04:04 +02:00
|
|
|
throw (css::uno::RuntimeException, std::exception) override;
|
2014-10-24 08:36:08 +00:00
|
|
|
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getUTF8Identifier( sal_Int32 Token )
|
2015-10-12 16:04:04 +02:00
|
|
|
throw (css::uno::RuntimeException, std::exception) override;
|
2014-11-03 11:29:48 +00:00
|
|
|
|
|
|
|
// Much faster direct C++ shortcut to the method that matters
|
2015-10-12 16:04:04 +02:00
|
|
|
virtual sal_Int32 getTokenDirect( const char *pToken, sal_Int32 nLength ) const override;
|
2014-10-24 08:36:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // EDITENG_SOURCE_MISC_SVXMLAUTOCORRECTTOKENHANDLER_HXX
|
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
|
|
|
|