diff options
author | Hans-Joachim Lankenau <hjs@openoffice.org> | 2004-06-25 16:12:32 +0000 |
---|---|---|
committer | Hans-Joachim Lankenau <hjs@openoffice.org> | 2004-06-25 16:12:32 +0000 |
commit | b3a8f4c9fd2346c886354ec60a39021882e6e403 (patch) | |
tree | d0e7d22270529f4a99996ba13a9346b2c68adf01 /tools | |
parent | 0a85216a14d4fab33699dfdcae68c077c071968f (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.cxx | 95 |
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. |