summaryrefslogtreecommitdiffstats
path: root/dbaccess/source/inc/constasciistring.hxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-05-17 14:00:15 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-05-17 14:03:26 +0100
commit5dcf536b69848b56f1199b81e4b7ed87a0a3864d (patch)
tree86f28d6db1963680549b6111ca99f95ca580f763 /dbaccess/source/inc/constasciistring.hxx
parentXubString->rtl::OUString (diff)
downloadcore-5dcf536b69848b56f1199b81e4b7ed87a0a3864d.tar.gz
core-5dcf536b69848b56f1199b81e4b7ed87a0a3864d.zip
merge the 5 ConstAsciiString duplicate classes together
a) merge them together and move it into comphelper b) turn it into a POD rather than having vast amounts of destructors registered into the cxa_atexit chain Change-Id: I04d3b9d7804f8e233013c916df9d617a0f84f96a
Diffstat (limited to 'dbaccess/source/inc/constasciistring.hxx')
-rw-r--r--dbaccess/source/inc/constasciistring.hxx48
1 files changed, 2 insertions, 46 deletions
diff --git a/dbaccess/source/inc/constasciistring.hxx b/dbaccess/source/inc/constasciistring.hxx
index 2179e2d7ffdd..80ead8e75597 100644
--- a/dbaccess/source/inc/constasciistring.hxx
+++ b/dbaccess/source/inc/constasciistring.hxx
@@ -6,58 +6,14 @@
#error "don't include this file directly! use stringconstants.hrc instead!"
#endif
-// no namespaces. This file is included from several other files _within_ a namespace.
-
-//============================================================
-//= a helper for static ascii pseudo-unicode strings
-//============================================================
-// string constants
-struct ConstAsciiString
-{
- const sal_Char* ascii;
- sal_Int32 length;
-
- inline operator const ::rtl::OUString& () const;
- inline operator const sal_Char* () const { return ascii; }
-
- inline ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength);
- inline ~ConstAsciiString();
-
-private:
- mutable ::rtl::OUString* ustring;
-};
-//------------------------------------------------------------
-inline ConstAsciiString::ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength)
- :ascii(_pAsciiZeroTerminated)
- ,length(_nLength)
- ,ustring(NULL)
-{
-}
-
-//------------------------------------------------------------
-inline ConstAsciiString::~ConstAsciiString()
-{
- delete ustring;
- ustring = NULL;
-}
-
-//------------------------------------------------------------
-inline ConstAsciiString::operator const ::rtl::OUString& () const
-{
- if (!ustring)
- ustring = new ::rtl::OUString(ascii, length, RTL_TEXTENCODING_ASCII_US);
- return *ustring;
-}
-
-//============================================================
+// no namespaces. This file is included from several other files _within_ a namespace.
#define DECLARE_CONSTASCII_USTRING( name ) \
extern const ConstAsciiString name
#define IMPLEMENT_CONSTASCII_USTRING( name, string ) \
- const ConstAsciiString name(string, sizeof(string)-1)
-
+ const ConstAsciiString name = {RTL_CONSTASCII_STRINGPARAM(string)}
#endif // _DBASHARED_CONSTASCIISTRING_HXX_