summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJoseph Powers <jpowers27@cox.net>2011-07-07 19:10:14 -0700
committerJoseph Powers <jpowers27@cox.net>2011-07-07 19:16:58 -0700
commitb1fdf9dc77de7be1d23e0c84ebad934ee6a398b7 (patch)
treea59945b45e92e7ee787a320e321575627f03da7c /tools
parent2d360f03978c310371c5565bdb6b94595ef189b8 (diff)
Replace List with std::vector< INetMessageHeader* >
Diffstat (limited to 'tools')
-rw-r--r--tools/inc/tools/inetmsg.hxx64
-rw-r--r--tools/source/inet/inetmsg.cxx23
2 files changed, 46 insertions, 41 deletions
diff --git a/tools/inc/tools/inetmsg.hxx b/tools/inc/tools/inetmsg.hxx
index 26a650df9635..24928cf0c335 100644
--- a/tools/inc/tools/inetmsg.hxx
+++ b/tools/inc/tools/inetmsg.hxx
@@ -36,6 +36,7 @@
#include <tools/inetmime.hxx>
#include <tools/stream.hxx>
#include <tools/string.hxx>
+#include <vector>
class DateTime;
@@ -108,13 +109,14 @@ public:
* INetMessage Interface.
*
*=====================================================================*/
+ typedef ::std::vector< INetMessageHeader* > HeaderList_impl;
class INetMessage
{
- List m_aHeaderList;
+ HeaderList_impl m_aHeaderList;
- sal_uIntPtr m_nDocSize;
- UniString m_aDocName;
- SvLockBytesRef m_xDocLB;
+ sal_uIntPtr m_nDocSize;
+ UniString m_aDocName;
+ SvLockBytesRef m_xDocLB;
void ListCleanup_Impl (void);
void ListCopy (const INetMessage& rMsg);
@@ -123,38 +125,36 @@ protected:
UniString GetHeaderName_Impl (
sal_uIntPtr nIndex, rtl_TextEncoding eEncoding) const
{
- INetMessageHeader *p =
- (INetMessageHeader*)(m_aHeaderList.GetObject(nIndex));
- if (p)
- return UniString(p->GetName(), eEncoding);
- else
+ if ( nIndex < m_aHeaderList.size() ) {
+ return UniString( m_aHeaderList[ nIndex ]->GetName(), eEncoding );
+ } else {
return UniString();
+ }
}
UniString GetHeaderValue_Impl (
sal_uIntPtr nIndex, INetMIME::HeaderFieldType eType) const
{
- INetMessageHeader *p =
- (INetMessageHeader*)(m_aHeaderList.GetObject(nIndex));
- if (p)
- return INetMIME::decodeHeaderFieldBody (eType, p->GetValue());
- else
+ if ( nIndex < m_aHeaderList.size() ) {
+ return INetMIME::decodeHeaderFieldBody(eType, m_aHeaderList[ nIndex ]->GetValue());
+ } else {
return UniString();
+ }
}
void SetHeaderField_Impl (
const INetMessageHeader &rHeader, sal_uIntPtr &rnIndex)
{
INetMessageHeader *p = new INetMessageHeader (rHeader);
- if (m_aHeaderList.Count() <= rnIndex)
+ if (m_aHeaderList.size() <= rnIndex)
{
- m_aHeaderList.Insert (p, LIST_APPEND);
- rnIndex = m_aHeaderList.Count() - 1;
+ rnIndex = m_aHeaderList.size();
+ m_aHeaderList.push_back( p );
}
else
{
- p = (INetMessageHeader*)(m_aHeaderList.Replace(p, rnIndex));
- delete p;
+ delete m_aHeaderList[ rnIndex ];
+ m_aHeaderList[ rnIndex ] = p;
}
}
@@ -188,7 +188,7 @@ public:
return *this;
}
- sal_uIntPtr GetHeaderCount (void) const { return m_aHeaderList.Count(); }
+ sal_uIntPtr GetHeaderCount (void) const { return m_aHeaderList.size(); }
UniString GetHeaderName (sal_uIntPtr nIndex) const
{
@@ -202,21 +202,23 @@ public:
INetMessageHeader GetHeaderField (sal_uIntPtr nIndex) const
{
- INetMessageHeader *p =
- (INetMessageHeader*)(m_aHeaderList.GetObject(nIndex));
- if (p)
- return INetMessageHeader(*p);
- else
+ if ( nIndex < m_aHeaderList.size() ) {
+ return INetMessageHeader( *m_aHeaderList[ nIndex ] );
+ } else {
return INetMessageHeader();
+ }
}
sal_uIntPtr SetHeaderField (
const UniString& rName,
const UniString& rValue,
- sal_uIntPtr nIndex = LIST_APPEND);
+ sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
+ );
virtual sal_uIntPtr SetHeaderField (
- const INetMessageHeader &rField, sal_uIntPtr nIndex = LIST_APPEND);
+ const INetMessageHeader &rField,
+ sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
+ );
sal_uIntPtr GetDocumentSize (void) const { return m_nDocSize; }
void SetDocumentSize (sal_uIntPtr nSize) { m_nDocSize = nSize; }
@@ -287,7 +289,9 @@ public:
using INetMessage::SetHeaderField;
virtual sal_uIntPtr SetHeaderField (
- const INetMessageHeader &rHeader, sal_uIntPtr nIndex = LIST_APPEND);
+ const INetMessageHeader &rHeader,
+ sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
+ );
/** Header fields.
*/
@@ -489,7 +493,9 @@ public:
using INetRFC822Message::SetHeaderField;
virtual sal_uIntPtr SetHeaderField (
- const INetMessageHeader &rHeader, sal_uIntPtr nIndex = LIST_APPEND);
+ const INetMessageHeader &rHeader,
+ sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
+ );
/** Header fields.
*/
diff --git a/tools/source/inet/inetmsg.cxx b/tools/source/inet/inetmsg.cxx
index 13ff543358ab..776df97e75db 100644
--- a/tools/source/inet/inetmsg.cxx
+++ b/tools/source/inet/inetmsg.cxx
@@ -64,7 +64,6 @@ inline sal_Unicode ascii_toLowerCase( sal_Unicode ch )
*
*=====================================================================*/
#define CONSTASCII_STRINGPARAM(a) (a), RTL_TEXTENCODING_ASCII_US
-#define HEADERFIELD INetMessageHeader
/*
* ~INetMessage.
@@ -80,10 +79,10 @@ INetMessage::~INetMessage (void)
void INetMessage::ListCleanup_Impl (void)
{
// Cleanup.
- sal_uIntPtr i, n = m_aHeaderList.Count();
+ sal_uIntPtr i, n = m_aHeaderList.size();
for (i = 0; i < n; i++)
- delete ((HEADERFIELD*)(m_aHeaderList.GetObject(i)));
- m_aHeaderList.Clear();
+ delete m_aHeaderList[ i ];
+ m_aHeaderList.clear();
}
/*
@@ -100,8 +99,8 @@ void INetMessage::ListCopy (const INetMessage &rMsg)
sal_uIntPtr i, n = rMsg.GetHeaderCount();
for (i = 0; i < n; i++)
{
- HEADERFIELD *p = (HEADERFIELD*)(rMsg.m_aHeaderList.GetObject(i));
- m_aHeaderList.Insert (new HEADERFIELD(*p), LIST_APPEND);
+ INetMessageHeader *p = rMsg.m_aHeaderList[ i ];
+ m_aHeaderList.push_back( new INetMessageHeader(*p) );
}
}
}
@@ -156,11 +155,11 @@ SvStream& INetMessage::operator<< (SvStream& rStrm) const
rStrm << static_cast<sal_uInt32>(m_nDocSize);
rStrm.WriteByteString (m_aDocName, RTL_TEXTENCODING_UTF8);
- sal_uIntPtr i, n = m_aHeaderList.Count();
+ sal_uIntPtr i, n = m_aHeaderList.size();
rStrm << static_cast<sal_uInt32>(n);
for (i = 0; i < n; i++)
- rStrm << *((HEADERFIELD *)(m_aHeaderList.GetObject(i)));
+ rStrm << *( m_aHeaderList[ i ] );
return rStrm;
}
@@ -188,9 +187,9 @@ SvStream& INetMessage::operator>> (SvStream& rStrm)
for (i = 0; i < n; i++)
{
- HEADERFIELD *p = new HEADERFIELD();
+ INetMessageHeader *p = new INetMessageHeader();
rStrm >> *p;
- m_aHeaderList.Insert (p, LIST_APPEND);
+ m_aHeaderList.push_back( p );
}
// Done.
@@ -740,7 +739,7 @@ sal_uIntPtr INetRFC822Message::SetHeaderField (
case INETMSG_RFC822_OK:
pData = pStop;
SetHeaderField_Impl (
- HEADERFIELD (HDR(nIdx), rHeader.GetValue()),
+ INetMessageHeader (HDR(nIdx), rHeader.GetValue()),
m_nIndex[nIdx]);
nNewIndex = m_nIndex[nIdx];
break;
@@ -1186,7 +1185,7 @@ sal_uIntPtr INetMIMEMessage::SetHeaderField (
case INETMSG_MIME_OK:
pData = pStop;
SetHeaderField_Impl (
- HEADERFIELD (MIMEHDR(nIdx), rHeader.GetValue()),
+ INetMessageHeader (MIMEHDR(nIdx), rHeader.GetValue()),
m_nIndex[nIdx]);
nNewIndex = m_nIndex[nIdx];
break;