summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorHans-Joachim Lankenau <hjs@openoffice.org>2004-06-25 16:12:32 +0000
committerHans-Joachim Lankenau <hjs@openoffice.org>2004-06-25 16:12:32 +0000
commitb3a8f4c9fd2346c886354ec60a39021882e6e403 (patch)
treed0e7d22270529f4a99996ba13a9346b2c68adf01 /tools
parent0a85216a14d4fab33699dfdcae68c077c071968f (diff)
INTEGRATION: CWS tune04 (1.4.48); FILE MERGED
2004/06/10 12:08:30 cmc 1.4.48.1: #i29636# turn global objects into local static data protected with swishy double-locked templated template
Diffstat (limited to 'tools')
-rw-r--r--tools/source/inet/inetmsg.cxx95
1 files changed, 62 insertions, 33 deletions
diff --git a/tools/source/inet/inetmsg.cxx b/tools/source/inet/inetmsg.cxx
index 6136bb7c21df..a97f958e93cb 100644
--- a/tools/source/inet/inetmsg.cxx
+++ b/tools/source/inet/inetmsg.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: inetmsg.cxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: kz $ $Date: 2004-02-26 13:20:34 $
+ * last change: $Author: hjs $ $Date: 2004-06-25 17:12:32 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -75,6 +75,9 @@
#ifndef _TOOLS_INETSTRM_HXX
#include <inetstrm.hxx>
#endif
+#ifndef INCLUDED_RTL_INSTANCE_HXX
+#include <rtl/instance.hxx>
+#endif
#include <stdio.h>
@@ -267,29 +270,42 @@ INetMessageHeaderIterator::~INetMessageHeaderIterator (void)
*
*=====================================================================*/
/*
- * _ImplINetRFC822MessageHeaderData.
+ * ImplINetRFC822MessageHeaderData.
*/
-static const ByteString _ImplINetRFC822MessageHeaderData[] =
-{
- ByteString ("BCC"),
- ByteString ("CC"),
- ByteString ("Comments"),
- ByteString ("Date"),
- ByteString ("From"),
- ByteString ("In-Reply-To"),
- ByteString ("Keywords"),
- ByteString ("Message-ID"),
- ByteString ("References"),
- ByteString ("Reply-To"),
- ByteString ("Return-Path"),
- ByteString ("Subject"),
- ByteString ("Sender"),
- ByteString ("To"),
- ByteString ("X-Mailer"),
- ByteString ("Return-Receipt-To")
-};
+namespace
+{
+ struct ImplINetRFC822MessageHeaderDataImpl
+ {
+ const ByteString* operator()()
+ {
+ static const ByteString _ImplINetRFC822MessageHeaderData[] =
+ {
+ ByteString ("BCC"),
+ ByteString ("CC"),
+ ByteString ("Comments"),
+ ByteString ("Date"),
+ ByteString ("From"),
+ ByteString ("In-Reply-To"),
+ ByteString ("Keywords"),
+ ByteString ("Message-ID"),
+ ByteString ("References"),
+ ByteString ("Reply-To"),
+ ByteString ("Return-Path"),
+ ByteString ("Subject"),
+ ByteString ("Sender"),
+ ByteString ("To"),
+ ByteString ("X-Mailer"),
+ ByteString ("Return-Receipt-To")
+ };
+ return &_ImplINetRFC822MessageHeaderData[0];
+ }
+ };
+
+ struct ImplINetRFC822MessageHeaderData
+ : public rtl::StaticAggregate< const ByteString, ImplINetRFC822MessageHeaderDataImpl > {};
+}
-#define HDR(n) _ImplINetRFC822MessageHeaderData[(n)]
+#define HDR(n) ImplINetRFC822MessageHeaderData::get()[(n)]
/*
* _ImplINetRFC822MessageHeaderState.
@@ -971,17 +987,30 @@ SvStream& INetRFC822Message::operator>> (SvStream& rStrm)
/*
* _ImplINetMIMEMessageHeaderData.
*/
-static const ByteString _ImplINetMIMEMessageHeaderData[] =
-{
- ByteString ("MIME-Version"),
- ByteString ("Content-Description"),
- ByteString ("Content-Disposition"),
- ByteString ("Content-ID"),
- ByteString ("Content-Type"),
- ByteString ("Content-Transfer-Encoding")
-};
+namespace
+{
+ struct ImplINetMIMEMessageHeaderDataImpl
+ {
+ const ByteString* operator()()
+ {
+ static const ByteString _ImplINetMIMEMessageHeaderData[] =
+ {
+ ByteString ("MIME-Version"),
+ ByteString ("Content-Description"),
+ ByteString ("Content-Disposition"),
+ ByteString ("Content-ID"),
+ ByteString ("Content-Type"),
+ ByteString ("Content-Transfer-Encoding")
+ };
+ return &_ImplINetMIMEMessageHeaderData[0];
+ }
+ };
+
+ struct ImplINetMIMEMessageHeaderData
+ : public rtl::StaticAggregate< const ByteString, ImplINetMIMEMessageHeaderDataImpl > {};
+}
-#define MIMEHDR(n) _ImplINetMIMEMessageHeaderData[(n)]
+#define MIMEHDR(n) ImplINetMIMEMessageHeaderData::get()[(n)]
/*
* _ImplINetMIMEMessageHeaderState.