summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2014-09-26 10:37:17 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-10-23 11:53:17 +0200
commite1c503a2e3309d9f738d7f702a562509899fdb3f (patch)
tree5aeee5c8b7f316de5f82ad6c70ad3fffc9b3dba2 /include
parentb98b477c084c876a3a65583dbfed5c1f5f8bfe12 (diff)
fastparser: avoid allocating un-used FastTokenLookup class.
This contained an rtl_Sequence complete with horror internal allocator, caught red-handed serializing threaded loading to no good purpose. Change-Id: I837b2c17e4f70fd6a49bed33ad74a7d79f98f35c
Diffstat (limited to 'include')
-rw-r--r--include/sax/fastattribs.hxx36
1 files changed, 18 insertions, 18 deletions
diff --git a/include/sax/fastattribs.hxx b/include/sax/fastattribs.hxx
index 4724b7ed3de7..6d9c7a4faa5e 100644
--- a/include/sax/fastattribs.hxx
+++ b/include/sax/fastattribs.hxx
@@ -52,22 +52,24 @@ typedef std::vector< UnknownAttribute > UnknownAttributeList;
/// A native C++ interface to tokenisation
class SAX_DLLPUBLIC FastTokenHandlerBase
{
- public:
- virtual ~FastTokenHandlerBase();
- virtual sal_Int32 getTokenDirect( const char *pToken, sal_Int32 nLength ) const = 0;
-};
-
-/// avoid constantly allocating and freeing sequences.
-class SAX_DLLPUBLIC FastTokenLookup
-{
- static const int mnUtf8BufferSize = 128;
- css::uno::Sequence< sal_Int8 > maUtf8Buffer;
-public:
- FastTokenLookup();
- sal_Int32 getTokenFromChars(
- const css::uno::Reference< css::xml::sax::XFastTokenHandler > &mxTokenHandler,
- FastTokenHandlerBase *pTokenHandler,
- const char *pStr, size_t nLength = 0 );
+ public:
+ virtual ~FastTokenHandlerBase();
+ virtual sal_Int32 getTokenDirect( const char *pToken, sal_Int32 nLength ) const = 0;
+
+ /**
+ * Client method to attempt the use of this interface if possible.
+ * @xTokenHandler - the UNO handle for the token lookup interface
+ * @pTokenHandler - a dynamic_cast version of @xTokenHandler to this interface
+ * @pStr - string buffer to lookup
+ * @nLength - optional length of chars in that buffer
+ *
+ * @return Tokenized form of pStr
+ */
+ static sal_Int32 getTokenFromChars(
+ const css::uno::Reference<
+ css::xml::sax::XFastTokenHandler > &xTokenHandler,
+ FastTokenHandlerBase *pTokenHandler /* can be NULL */,
+ const char *pStr, size_t nLength = 0 );
};
class SAX_DLLPUBLIC FastAttributeList : public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XFastAttributeList >
@@ -112,8 +114,6 @@ private:
UnknownAttributeList maUnknownAttributes;
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastTokenHandler > mxTokenHandler;
FastTokenHandlerBase *mpTokenHandler;
-
- FastTokenLookup maTokenLookup;
};
}