[Libreoffice-commits] core.git: 8 commits - forms/source include/tools sfx2/source tools/source unotools/source
Stephan Bergmann
sbergman at redhat.com
Wed Feb 11 08:09:52 PST 2015
forms/source/component/DatabaseForm.cxx | 2
include/tools/inetmsg.hxx | 279 +++++++++--------------------
include/tools/inetstrm.hxx | 94 +--------
sfx2/source/doc/objmisc.cxx | 2
tools/source/inet/inetmsg.cxx | 203 +++------------------
tools/source/inet/inetstrm.cxx | 74 +------
unotools/source/ucbhelper/ucblockbytes.cxx | 2
7 files changed, 162 insertions(+), 494 deletions(-)
New commits:
commit c4e8d9793a334d19eab68c80313a81d98427cdae
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:47:51 2015 +0100
Remove redundant overloads
...now that INetMessage got folded into INetMIMEMessage
Change-Id: Id824c6b53ff30ecb2912ec4ad0f9e6c73db1e424
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index 8ad5940..481ca16 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -147,26 +147,6 @@ protected:
public:
INetMIMEMessageStream (sal_uIntPtr nBufferSize = 2048);
virtual ~INetMIMEMessageStream (void);
-
- using INetMessageIStream::SetSourceMessage;
- void SetSourceMessage (INetMIMEMessage *pMsg)
- {
- INetMessageIStream::SetSourceMessage (pMsg);
- }
- INetMIMEMessage *GetSourceMessage (void) const
- {
- return static_cast<INetMIMEMessage *>(INetMessageIStream::GetSourceMessage());
- }
-
- using INetMessageOStream::SetTargetMessage;
- void SetTargetMessage (INetMIMEMessage *pMsg)
- {
- INetMessageOStream::SetTargetMessage (pMsg);
- }
- INetMIMEMessage *GetTargetMessage (void) const
- {
- return static_cast<INetMIMEMessage *>(INetMessageOStream::GetTargetMessage());
- }
};
#endif
commit db11071ce4409bb149f6f08dda06e669c933f78e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:44:21 2015 +0100
Fold INetMessageIOStream into INetMIMEMessageStream
Change-Id: I5aa24881d6a4625f1d2249fda8788bb03ef02e27
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index c3ada5c..8ad5940 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -110,18 +110,6 @@ public:
bool IsHeaderParsed (void) const { return bHeaderParsed; }
};
-class INetMessageIOStream
- : public INetMessageIStream,
- public INetMessageOStream
-{
- INetMessageIOStream (const INetMessageIOStream& rStrm) SAL_DELETED_FUNCTION;
- INetMessageIOStream& operator= (const INetMessageIOStream& rStrm) SAL_DELETED_FUNCTION;
-
-public:
- INetMessageIOStream (sal_uIntPtr nBufferSize = 2048);
- virtual ~INetMessageIOStream (void);
-};
-
enum INetMessageEncoding
{
INETMSG_ENCODING_7BIT,
@@ -131,7 +119,9 @@ enum INetMessageEncoding
INETMSG_ENCODING_BASE64
};
-class TOOLS_DLLPUBLIC INetMIMEMessageStream : public INetMessageIOStream
+class TOOLS_DLLPUBLIC INetMIMEMessageStream
+ : public INetMessageIStream,
+ public INetMessageOStream
{
int eState;
diff --git a/tools/source/inet/inetstrm.cxx b/tools/source/inet/inetstrm.cxx
index e0792cd..ed555b0 100644
--- a/tools/source/inet/inetstrm.cxx
+++ b/tools/source/inet/inetstrm.cxx
@@ -410,18 +410,6 @@ int INetMessageOStream::PutMsgLine(const sal_Char* pData, sal_uIntPtr nSize)
return INETSTREAM_STATUS_OK;
}
-// INetMessageIOStream
-
-INetMessageIOStream::INetMessageIOStream(sal_uIntPtr nBufferSize)
- : INetMessageIStream (nBufferSize),
- INetMessageOStream ()
-{
-}
-
-INetMessageIOStream::~INetMessageIOStream(void)
-{
-}
-
// INetMessageEncodeQPStream_Impl
static const sal_Char hex2pr[16] = {
@@ -1059,7 +1047,7 @@ int INetMessageDecode64Stream_Impl::PutMsgLine(const sal_Char* pData,
// INetMIMEMessageStream
INetMIMEMessageStream::INetMIMEMessageStream(sal_uIntPtr nBufferSize)
- : INetMessageIOStream(nBufferSize),
+ : INetMessageIStream(nBufferSize),
eState (INETMSG_EOL_BEGIN),
nChildIndex (0),
pChildStrm (NULL),
@@ -1202,7 +1190,7 @@ int INetMIMEMessageStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
}
// Generate the message header.
- int nRead = INetMessageIOStream::GetMsgLine(pData, nSize);
+ int nRead = INetMessageIStream::GetMsgLine(pData, nSize);
if (nRead <= 0)
{
// Reset state.
@@ -1292,7 +1280,7 @@ int INetMIMEMessageStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
if (eEncoding == INETMSG_ENCODING_7BIT)
{
// No Encoding.
- return INetMessageIOStream::GetMsgLine(pData, nSize);
+ return INetMessageIStream::GetMsgLine(pData, nSize);
}
// Apply appropriate Encoding.
@@ -1346,7 +1334,7 @@ int INetMIMEMessageStream::PutMsgLine(const sal_Char* pData, sal_uIntPtr nSize)
if (!IsHeaderParsed())
{
// Parse the message header.
- int nRet = INetMessageIOStream::PutMsgLine(pData, nSize);
+ int nRet = INetMessageOStream::PutMsgLine(pData, nSize);
return nRet;
}
else
@@ -1381,7 +1369,7 @@ int INetMIMEMessageStream::PutMsgLine(const sal_Char* pData, sal_uIntPtr nSize)
return status;
}
- return INetMessageIOStream::PutMsgLine(pData, nSize);
+ return INetMessageOStream::PutMsgLine(pData, nSize);
}
else
{
@@ -1452,7 +1440,7 @@ int INetMIMEMessageStream::PutMsgLine(const sal_Char* pData, sal_uIntPtr nSize)
else {
SAL_WARN( "tools.stream", "Boundary not found." );
}
- status = INetMessageIOStream::PutMsgLine(
+ status = INetMessageOStream::PutMsgLine(
pOldPos, pChar - pOldPos + 1 );
if( status != INETSTREAM_STATUS_OK )
return status;
@@ -1487,7 +1475,7 @@ int INetMIMEMessageStream::PutMsgLine(const sal_Char* pData, sal_uIntPtr nSize)
// Initialize control variables.
}
eState = INETMSG_EOL_BEGIN;
- status = INetMessageIOStream::PutMsgLine(
+ status = INetMessageOStream::PutMsgLine(
pOldPos, pChar - pOldPos + 1 );
if( status != INETSTREAM_STATUS_OK )
return status;
@@ -1541,7 +1529,7 @@ int INetMIMEMessageStream::PutMsgLine(const sal_Char* pData, sal_uIntPtr nSize)
if (eEncoding == INETMSG_ENCODING_7BIT)
{
// No decoding necessary.
- return INetMessageIOStream::PutMsgLine(pData, nSize);
+ return INetMessageOStream::PutMsgLine(pData, nSize);
}
else
{
commit df1c438046dfa5f138bb645a2c576de8f4dd860e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:36:02 2015 +0100
Fold INetOStream into INetMessageOStream
Change-Id: I062fa91cc05edae3c2879583cbbf8e8c8acfe482
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index 2676315..c3ada5c 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -35,22 +35,6 @@ enum INetStreamStatus
INETSTREAM_STATUS_ERROR = -1
};
-class INetOStream
-{
- INetOStream (const INetOStream& rStrm) SAL_DELETED_FUNCTION;
- INetOStream& operator= (const INetOStream& rStrm) SAL_DELETED_FUNCTION;
-
-protected:
- virtual int PutData (
- const sal_Char *pData, sal_uIntPtr nSize) = 0;
-
-public:
- INetOStream ();
- virtual ~INetOStream (void);
-
- int Write (const sal_Char *pData, sal_uIntPtr nSize);
-};
-
enum INetMessageStreamState
{
INETMSG_EOL_BEGIN,
@@ -98,7 +82,7 @@ public:
};
/// Message Parser Interface.
-class INetMessageOStream : public INetOStream
+class INetMessageOStream
{
INetMIMEMessage *pTargetMsg;
bool bHeaderParsed;
@@ -107,8 +91,6 @@ class INetMessageOStream : public INetOStream
SvMemoryStream *pMsgBuffer;
- virtual int PutData (const sal_Char *pData, sal_uIntPtr nSize) SAL_OVERRIDE;
-
INetMessageOStream (const INetMessageOStream& rStrm) SAL_DELETED_FUNCTION;
INetMessageOStream& operator= (const INetMessageOStream& rStrm) SAL_DELETED_FUNCTION;
@@ -119,6 +101,8 @@ public:
INetMessageOStream (void);
virtual ~INetMessageOStream (void);
+ int Write (const sal_Char *pData, sal_uIntPtr nSize);
+
INetMIMEMessage *GetTargetMessage (void) const { return pTargetMsg; }
void SetTargetMessage (INetMIMEMessage *pMsg) { pTargetMsg = pMsg; }
diff --git a/tools/source/inet/inetstrm.cxx b/tools/source/inet/inetstrm.cxx
index a1f2b1b..e0792cd 100644
--- a/tools/source/inet/inetstrm.cxx
+++ b/tools/source/inet/inetstrm.cxx
@@ -112,21 +112,6 @@ public:
virtual ~INetMessageDecode64Stream_Impl(void);
};
-// INetOStream
-
-INetOStream::INetOStream()
-{
-}
-
-INetOStream::~INetOStream(void)
-{
-}
-
-int INetOStream::Write(const sal_Char* pData, sal_uIntPtr nSize)
-{
- return PutData(pData, nSize);
-}
-
// INetMessageIStream
INetMessageIStream::INetMessageIStream(sal_uIntPtr nBufferSize)
@@ -287,7 +272,7 @@ INetMessageOStream::~INetMessageOStream(void)
}
/// Simple Field Parsing (RFC822, Appendix B)
-int INetMessageOStream::PutData(const sal_Char* pData, sal_uIntPtr nSize)
+int INetMessageOStream::Write(const sal_Char* pData, sal_uIntPtr nSize)
{
if (pTargetMsg == NULL) return INETSTREAM_STATUS_ERROR;
commit ba2cb77315fa37f6fd911d9f10fc1e74c56272ca
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:31:57 2015 +0100
Fold INetIStream into INetMessageIStream
Change-Id: I882a8bc2048149307383491cc77c4e10f5e99a52
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index 30b5e48..2676315 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -35,21 +35,6 @@ enum INetStreamStatus
INETSTREAM_STATUS_ERROR = -1
};
-class TOOLS_DLLPUBLIC INetIStream
-{
- INetIStream (const INetIStream& rStrm) SAL_DELETED_FUNCTION;
- INetIStream& operator= (const INetIStream& rStrm) SAL_DELETED_FUNCTION;
-
-protected:
- virtual int GetData (sal_Char *pData, sal_uIntPtr nSize) = 0;
-
-public:
- INetIStream ();
- virtual ~INetIStream (void);
-
- int Read (sal_Char *pData, sal_uIntPtr nSize);
-};
-
class INetOStream
{
INetOStream (const INetOStream& rStrm) SAL_DELETED_FUNCTION;
@@ -78,7 +63,7 @@ enum INetMessageStreamState
};
/// Message Generator Interface.
-class INetMessageIStream : public INetIStream
+class INetMessageIStream
{
INetMIMEMessage *pSourceMsg;
bool bHeaderGenerated;
@@ -93,8 +78,6 @@ class INetMessageIStream : public INetIStream
sal_Char *pMsgRead;
sal_Char *pMsgWrite;
- virtual int GetData (sal_Char *pData, sal_uIntPtr nSize) SAL_OVERRIDE;
-
INetMessageIStream (const INetMessageIStream& rStrm) SAL_DELETED_FUNCTION;
INetMessageIStream& operator= (const INetMessageIStream& rStrm) SAL_DELETED_FUNCTION;
@@ -105,6 +88,8 @@ public:
INetMessageIStream (sal_uIntPtr nBufferSize = 2048);
virtual ~INetMessageIStream (void);
+ TOOLS_DLLPUBLIC int Read (sal_Char *pData, sal_uIntPtr nSize);
+
INetMIMEMessage *GetSourceMessage (void) const { return pSourceMsg; }
void SetSourceMessage (INetMIMEMessage *pMsg) { pSourceMsg = pMsg; }
diff --git a/tools/source/inet/inetstrm.cxx b/tools/source/inet/inetstrm.cxx
index cc24dff..a1f2b1b 100644
--- a/tools/source/inet/inetstrm.cxx
+++ b/tools/source/inet/inetstrm.cxx
@@ -112,21 +112,6 @@ public:
virtual ~INetMessageDecode64Stream_Impl(void);
};
-// INetIStream
-
-INetIStream::INetIStream()
-{
-}
-
-INetIStream::~INetIStream(void)
-{
-}
-
-int INetIStream::Read(sal_Char* pData, sal_uIntPtr nSize)
-{
- return GetData(pData, nSize);
-}
-
// INetOStream
INetOStream::INetOStream()
@@ -165,7 +150,7 @@ INetMessageIStream::~INetMessageIStream(void)
delete pMsgStrm;
}
-int INetMessageIStream::GetData(sal_Char* pData, sal_uIntPtr nSize)
+int INetMessageIStream::Read(sal_Char* pData, sal_uIntPtr nSize)
{
if (pSourceMsg == NULL) return INETSTREAM_STATUS_ERROR;
commit c27ab70f2664e8728a4aec8cc39d6c89d016c319
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:25:30 2015 +0100
GenerateHeader(false) -> SetHeaderGenerated()
Change-Id: I41f06c92589e6b1839e39d840a479f1a184b47dd
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index 753fe89..bb2c6a8 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -564,7 +564,7 @@ Sequence<sal_Int8> ODatabaseForm::GetDataMultiPartEncoded(const Reference<XContr
// Create MessageStream for parent
INetMIMEMessageStream aMessStream;
aMessStream.SetSourceMessage( &aParent );
- aMessStream.GenerateHeader( false );
+ aMessStream.SetHeaderGenerated();
// Copy MessageStream to SvStream
SvMemoryStream aMemStream;
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index 09ee43e..30b5e48 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -108,7 +108,7 @@ public:
INetMIMEMessage *GetSourceMessage (void) const { return pSourceMsg; }
void SetSourceMessage (INetMIMEMessage *pMsg) { pSourceMsg = pMsg; }
- void GenerateHeader (bool bGen = true) { bHeaderGenerated = !bGen; }
+ void SetHeaderGenerated() { bHeaderGenerated = true; }
bool IsHeaderGenerated (void) const { return bHeaderGenerated; }
};
diff --git a/tools/source/inet/inetstrm.cxx b/tools/source/inet/inetstrm.cxx
index a6fbf23..cc24dff 100644
--- a/tools/source/inet/inetstrm.cxx
+++ b/tools/source/inet/inetstrm.cxx
@@ -467,7 +467,7 @@ INetMessageEncodeQPStream_Impl::INetMessageEncodeQPStream_Impl( sal_uIntPtr nMsg
eState (INETMSG_EOL_SCR),
bDone (false)
{
- GenerateHeader (false);
+ SetHeaderGenerated();
pMsgBuffer = new sal_Char[nMsgBufSiz];
pMsgRead = pMsgWrite = pMsgBuffer;
@@ -789,7 +789,7 @@ INetMessageEncode64Stream_Impl::INetMessageEncode64Stream_Impl(
nTokBufSiz (80),
bDone (false)
{
- GenerateHeader(false);
+ SetHeaderGenerated();
pMsgBuffer = new sal_uInt8[nMsgBufSiz];
pMsgRead = pMsgWrite = pMsgBuffer;
commit 2c5ce8ea8eb98f2d82986448af448d11b60a3ea1
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:14:44 2015 +0100
Remove unused INetMIMEMessage streaming operators
Change-Id: Ifbbfb1213d78a87fffd7a40e10deaf29dd7a96b8
diff --git a/include/tools/inetmsg.hxx b/include/tools/inetmsg.hxx
index eb14ffc..3d354fb 100644
--- a/include/tools/inetmsg.hxx
+++ b/include/tools/inetmsg.hxx
@@ -414,12 +414,6 @@ public:
INetMessageContainerType eType = INETMSG_MULTIPART_MIXED);
bool AttachChild (
INetMIMEMessage& rChildMsg, bool bOwner = true );
-
- // Stream operators.
-
- friend SvStream& operator <<(SvStream& rStrm, const INetMIMEMessage& rMsg);
-
- friend SvStream& operator >>(SvStream& rStrm, INetMIMEMessage& rMsg);
};
#endif
diff --git a/tools/source/inet/inetmsg.cxx b/tools/source/inet/inetmsg.cxx
index 7a78170..49d97ca 100644
--- a/tools/source/inet/inetmsg.cxx
+++ b/tools/source/inet/inetmsg.cxx
@@ -882,71 +882,4 @@ bool INetMIMEMessage::AttachChild(INetMIMEMessage& rChildMsg, bool bOwner)
return false;
}
-SvStream& operator <<(SvStream& rStrm, const INetMIMEMessage& rMsg)
-{
- rStrm.WriteUInt32( rMsg.m_nDocSize );
- write_uInt16_lenPrefixed_uInt8s_FromOUString(rStrm, rMsg.m_aDocName, RTL_TEXTENCODING_UTF8);
-
- sal_uIntPtr n = rMsg.m_aHeaderList.size();
- rStrm.WriteUInt32( n );
-
- for (sal_uIntPtr i = 0; i < n; i++)
- WriteINetMessageHeader( rStrm, *( rMsg.m_aHeaderList[ i ] ) );
-
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- rStrm.WriteUInt32( rMsg.m_nRFC822Index[i] );
-
- for (sal_uInt16 i = 0; i < INETMSG_MIME_NUMHDR; i++)
- rStrm.WriteUInt32( rMsg.m_nMIMEIndex[i] );
-
- write_uInt16_lenPrefixed_uInt8s_FromOString(rStrm, rMsg.m_aBoundary);
- rStrm.WriteUInt32( rMsg.aChildren.size() );
-
- return rStrm;
-}
-
-SvStream& operator >>(SvStream& rStrm, INetMIMEMessage& rMsg)
-{
- // Cleanup.
- rMsg.m_nDocSize = 0;
- rMsg.m_xDocLB.Clear();
- rMsg.ListCleanup_Impl();
-
- sal_uInt32 nTemp;
-
- // Copy.
- rStrm.ReadUInt32( nTemp );
- rMsg.m_nDocSize = nTemp;
- rMsg.m_aDocName = read_uInt16_lenPrefixed_uInt8s_ToOUString(rStrm, RTL_TEXTENCODING_UTF8);
-
- sal_uIntPtr n = 0;
- rStrm.ReadUInt32( nTemp );
- n = nTemp;
-
- for (sal_uIntPtr i = 0; i < n; i++)
- {
- INetMessageHeader *p = new INetMessageHeader();
- ReadINetMessageHeader( rStrm, *p );
- rMsg.m_aHeaderList.push_back( p );
- }
-
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- {
- rStrm.ReadUInt32( nTemp );
- rMsg.m_nRFC822Index[i] = nTemp;
- }
-
- for (sal_uInt16 i = 0; i < INETMSG_MIME_NUMHDR; i++)
- {
- rStrm.ReadUInt32( nTemp );
- rMsg.m_nMIMEIndex[i] = nTemp;
- }
-
- rMsg.m_aBoundary = read_uInt16_lenPrefixed_uInt8s_ToOString(rStrm);
-
- rStrm.ReadUInt32( nTemp );
-
- return rStrm;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit ca6be614e2d380f854b0c7187bd4220a9fb232a3
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 16:14:14 2015 +0100
Fold INetRFC822Message into INetMIMEMessage
Change-Id: I9b02b8f758c3f0613a7b017d8822fc16ebfc9dec
diff --git a/include/tools/inetmsg.hxx b/include/tools/inetmsg.hxx
index fb6370a..eb14ffc 100644
--- a/include/tools/inetmsg.hxx
+++ b/include/tools/inetmsg.hxx
@@ -99,7 +99,29 @@ typedef ::std::vector< INetMessageHeader* > HeaderList_impl;
#define INETMSG_RFC822_RETURN_RECEIPT_TO 15
#define INETMSG_RFC822_NUMHDR 16
-class TOOLS_DLLPUBLIC INetRFC822Message
+#define INETMSG_MIME_VERSION 0
+#define INETMSG_MIME_CONTENT_DESCRIPTION 1
+#define INETMSG_MIME_CONTENT_DISPOSITION 2
+#define INETMSG_MIME_CONTENT_ID 3
+#define INETMSG_MIME_CONTENT_TYPE 4
+#define INETMSG_MIME_CONTENT_TRANSFER_ENCODING 5
+#define INETMSG_MIME_NUMHDR 6
+
+enum INetMessageContainerType
+{
+ INETMSG_MESSAGE_RFC822,
+ INETMSG_MULTIPART_MIXED,
+ INETMSG_MULTIPART_ALTERNATIVE,
+ INETMSG_MULTIPART_DIGEST,
+ INETMSG_MULTIPART_PARALLEL,
+ INETMSG_MULTIPART_RELATED,
+ INETMSG_MULTIPART_FORM_DATA
+};
+
+class INetMIMEMessage;
+typedef ::std::vector< INetMIMEMessage* > INetMIMEMessgeList_impl;
+
+class TOOLS_DLLPUBLIC INetMIMEMessage
{
HeaderList_impl m_aHeaderList;
@@ -108,11 +130,25 @@ class TOOLS_DLLPUBLIC INetRFC822Message
SvLockBytesRef m_xDocLB;
void ListCleanup_Impl();
- void ListCopy (const INetRFC822Message& rMsg);
+ void ListCopy (const INetMIMEMessage& rMsg);
+
+ sal_uIntPtr m_nRFC822Index[INETMSG_RFC822_NUMHDR];
+
+ sal_uIntPtr m_nMIMEIndex[INETMSG_MIME_NUMHDR];
+ INetMIMEMessage* pParent;
+ INetMIMEMessgeList_impl aChildren;
+ OString m_aBoundary;
+ bool bHeaderParsed;
+
+ friend class INetMIMEMessageStream;
+
+ const OString& GetMultipartBoundary() const { return m_aBoundary; }
+ void SetMultipartBoundary (const OString& rBnd) { m_aBoundary = rBnd; }
- sal_uIntPtr m_nIndex[INETMSG_RFC822_NUMHDR];
+ void CleanupImp();
+ void CopyImp (const INetMIMEMessage& rMsg);
+ void SetHeaderParsed() { bHeaderParsed = true; }
-protected:
OUString GetHeaderName_Impl (
sal_uIntPtr nIndex, rtl_TextEncoding eEncoding) const
{
@@ -155,15 +191,15 @@ protected:
const OUString &rValue,
sal_uIntPtr &rnIndex);
- virtual SvStream& operator<< (SvStream& rStrm) const;
- virtual SvStream& operator>> (SvStream& rStrm);
+ sal_uIntPtr SetRFC822HeaderField (
+ const INetMessageHeader &rHeader, sal_uIntPtr nNewIndex);
public:
- INetRFC822Message();
- INetRFC822Message (const INetRFC822Message& rMsg);
- virtual ~INetRFC822Message();
+ INetMIMEMessage();
+ INetMIMEMessage (const INetMIMEMessage& rMsg);
+ ~INetMIMEMessage();
- INetRFC822Message& operator= (const INetRFC822Message& rMsg);
+ INetMIMEMessage& operator= (const INetMIMEMessage& rMsg);
sal_uIntPtr GetHeaderCount() const { return m_aHeaderList.size(); }
@@ -186,7 +222,7 @@ public:
}
}
- virtual sal_uIntPtr SetHeaderField (
+ sal_uIntPtr SetHeaderField (
const INetMessageHeader &rField,
sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
);
@@ -203,235 +239,150 @@ public:
static bool ParseDateField (
const OUString& rDateField, DateTime& rDateTime);
+ bool HeaderParsed() const { return bHeaderParsed; }
+
+ INetMIMEMessage* CreateMessage (
+ const INetMIMEMessage& rMsg) const;
+
// Header fields.
OUString GetBCC() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_BCC],
+ m_nRFC822Index[INETMSG_RFC822_BCC],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetCC() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_CC],
+ m_nRFC822Index[INETMSG_RFC822_CC],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetComments() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_COMMENTS],
+ m_nRFC822Index[INETMSG_RFC822_COMMENTS],
INetMIME::HEADER_FIELD_TEXT);
}
OUString GetDate() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_DATE],
+ m_nRFC822Index[INETMSG_RFC822_DATE],
INetMIME::HEADER_FIELD_STRUCTURED);
}
OUString GetFrom() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_FROM],
+ m_nRFC822Index[INETMSG_RFC822_FROM],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetInReplyTo() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_IN_REPLY_TO],
+ m_nRFC822Index[INETMSG_RFC822_IN_REPLY_TO],
INetMIME::HEADER_FIELD_ADDRESS); // ??? MESSAGE_ID ???
}
OUString GetKeywords() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_KEYWORDS],
+ m_nRFC822Index[INETMSG_RFC822_KEYWORDS],
INetMIME::HEADER_FIELD_PHRASE);
}
OUString GetMessageID() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_MESSAGE_ID],
+ m_nRFC822Index[INETMSG_RFC822_MESSAGE_ID],
INetMIME::HEADER_FIELD_MESSAGE_ID);
}
OUString GetReferences() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_REFERENCES],
+ m_nRFC822Index[INETMSG_RFC822_REFERENCES],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetReplyTo() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_REPLY_TO],
+ m_nRFC822Index[INETMSG_RFC822_REPLY_TO],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetReturnPath() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_RETURN_PATH],
+ m_nRFC822Index[INETMSG_RFC822_RETURN_PATH],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetReturnReceiptTo() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_RETURN_RECEIPT_TO],
+ m_nRFC822Index[INETMSG_RFC822_RETURN_RECEIPT_TO],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetSender() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_SENDER],
+ m_nRFC822Index[INETMSG_RFC822_SENDER],
INetMIME::HEADER_FIELD_ADDRESS);
}
OUString GetSubject() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_SUBJECT],
+ m_nRFC822Index[INETMSG_RFC822_SUBJECT],
INetMIME::HEADER_FIELD_TEXT);
}
OUString GetTo() const
{
return GetHeaderValue_Impl (
- m_nIndex[INETMSG_RFC822_TO],
+ m_nRFC822Index[INETMSG_RFC822_TO],
INetMIME::HEADER_FIELD_TEXT);
}
- // Stream operators.
-
- friend SvStream& WriteINetMessage(
- SvStream& rStrm, const INetRFC822Message& rMsg)
- {
- return rMsg.operator<< (rStrm);
- }
-
- friend SvStream& ReadINetMessage (
- SvStream& rStrm, INetRFC822Message& rMsg)
- {
- return rMsg.operator>> (rStrm);
- }
-
- friend SvStream& operator<< (
- SvStream& rStrm, const INetRFC822Message& rMsg)
- {
- return rMsg.operator<< (rStrm);
- }
-
- friend SvStream& operator>> (
- SvStream& rStrm, INetRFC822Message& rMsg)
- {
- return rMsg.operator>> (rStrm);
- }
-};
-
-#define INETMSG_MIME_VERSION 0
-#define INETMSG_MIME_CONTENT_DESCRIPTION 1
-#define INETMSG_MIME_CONTENT_DISPOSITION 2
-#define INETMSG_MIME_CONTENT_ID 3
-#define INETMSG_MIME_CONTENT_TYPE 4
-#define INETMSG_MIME_CONTENT_TRANSFER_ENCODING 5
-#define INETMSG_MIME_NUMHDR 6
-
-enum INetMessageContainerType
-{
- INETMSG_MESSAGE_RFC822,
- INETMSG_MULTIPART_MIXED,
- INETMSG_MULTIPART_ALTERNATIVE,
- INETMSG_MULTIPART_DIGEST,
- INETMSG_MULTIPART_PARALLEL,
- INETMSG_MULTIPART_RELATED,
- INETMSG_MULTIPART_FORM_DATA
-};
-
-class INetMIMEMessage;
-typedef ::std::vector< INetMIMEMessage* > INetMIMEMessgeList_impl;
-
-class TOOLS_DLLPUBLIC INetMIMEMessage : public INetRFC822Message
-{
- sal_uIntPtr m_nIndex[INETMSG_MIME_NUMHDR];
- INetMIMEMessage* pParent;
- INetMIMEMessgeList_impl aChildren;
- OString m_aBoundary;
- bool bHeaderParsed;
-
- friend class INetMIMEMessageStream;
-
- const OString& GetMultipartBoundary() const { return m_aBoundary; }
- void SetMultipartBoundary (const OString& rBnd) { m_aBoundary = rBnd; }
-
- void CleanupImp();
- void CopyImp (const INetMIMEMessage& rMsg);
- void SetHeaderParsed() { bHeaderParsed = true; }
-
-protected:
- virtual SvStream& operator<< (SvStream& rStrm) const SAL_OVERRIDE;
- virtual SvStream& operator>> (SvStream& rStrm) SAL_OVERRIDE;
-
-public:
- INetMIMEMessage();
- INetMIMEMessage (const INetMIMEMessage& rMsg);
- virtual ~INetMIMEMessage();
-
- INetMIMEMessage& operator= (const INetMIMEMessage& rMsg);
-
- bool HeaderParsed() const { return bHeaderParsed; }
-
- INetMIMEMessage* CreateMessage (
- const INetMIMEMessage& rMsg) const;
-
- using INetRFC822Message::SetHeaderField;
- virtual sal_uIntPtr SetHeaderField (
- const INetMessageHeader &rHeader,
- sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
- ) SAL_OVERRIDE;
-
- // Header fields.
-
void SetMIMEVersion (const OUString& rVersion);
OUString GetMIMEVersion() const
{
- return GetHeaderValue (m_nIndex[INETMSG_MIME_VERSION]);
+ return GetHeaderValue (m_nMIMEIndex[INETMSG_MIME_VERSION]);
}
OUString GetContentDescription() const
{
- return GetHeaderValue (m_nIndex[INETMSG_MIME_CONTENT_DESCRIPTION]);
+ return GetHeaderValue (m_nMIMEIndex[INETMSG_MIME_CONTENT_DESCRIPTION]);
}
void SetContentDisposition (const OUString& rDisposition);
OUString GetContentDisposition() const
{
- return GetHeaderValue (m_nIndex[INETMSG_MIME_CONTENT_DISPOSITION]);
+ return GetHeaderValue (m_nMIMEIndex[INETMSG_MIME_CONTENT_DISPOSITION]);
}
OUString GetContentID() const
{
- return GetHeaderValue (m_nIndex[INETMSG_MIME_CONTENT_ID]);
+ return GetHeaderValue (m_nMIMEIndex[INETMSG_MIME_CONTENT_ID]);
}
void SetContentType (const OUString& rType);
OUString GetContentType() const
{
- return GetHeaderValue (m_nIndex[INETMSG_MIME_CONTENT_TYPE]);
+ return GetHeaderValue (m_nMIMEIndex[INETMSG_MIME_CONTENT_TYPE]);
}
void SetContentTransferEncoding (const OUString& rEncoding);
OUString GetContentTransferEncoding() const
{
- return GetHeaderValue (m_nIndex[INETMSG_MIME_CONTENT_TRANSFER_ENCODING]);
+ return GetHeaderValue (m_nMIMEIndex[INETMSG_MIME_CONTENT_TRANSFER_ENCODING]);
}
OUString GetDefaultContentType ();
@@ -466,17 +417,9 @@ public:
// Stream operators.
- friend SvStream& operator<< (
- SvStream& rStrm, const INetMIMEMessage& rMsg)
- {
- return rMsg.operator<< (rStrm);
- }
+ friend SvStream& operator <<(SvStream& rStrm, const INetMIMEMessage& rMsg);
- friend SvStream& operator>> (
- SvStream& rStrm, INetMIMEMessage& rMsg)
- {
- return rMsg.operator>> (rStrm);
- }
+ friend SvStream& operator >>(SvStream& rStrm, INetMIMEMessage& rMsg);
};
#endif
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index b5c4e04..09ee43e 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -23,7 +23,6 @@
#include <sal/types.h>
#include <rtl/ustring.hxx>
-class INetRFC822Message;
class INetMIMEMessage;
class SvMemoryStream;
class SvStream;
@@ -81,7 +80,7 @@ enum INetMessageStreamState
/// Message Generator Interface.
class INetMessageIStream : public INetIStream
{
- INetRFC822Message *pSourceMsg;
+ INetMIMEMessage *pSourceMsg;
bool bHeaderGenerated;
sal_uIntPtr nBufSiz;
@@ -106,8 +105,8 @@ public:
INetMessageIStream (sal_uIntPtr nBufferSize = 2048);
virtual ~INetMessageIStream (void);
- INetRFC822Message *GetSourceMessage (void) const { return pSourceMsg; }
- void SetSourceMessage (INetRFC822Message *pMsg) { pSourceMsg = pMsg; }
+ INetMIMEMessage *GetSourceMessage (void) const { return pSourceMsg; }
+ void SetSourceMessage (INetMIMEMessage *pMsg) { pSourceMsg = pMsg; }
void GenerateHeader (bool bGen = true) { bHeaderGenerated = !bGen; }
bool IsHeaderGenerated (void) const { return bHeaderGenerated; }
@@ -116,7 +115,7 @@ public:
/// Message Parser Interface.
class INetMessageOStream : public INetOStream
{
- INetRFC822Message *pTargetMsg;
+ INetMIMEMessage *pTargetMsg;
bool bHeaderParsed;
INetMessageStreamState eOState;
@@ -135,8 +134,8 @@ public:
INetMessageOStream (void);
virtual ~INetMessageOStream (void);
- INetRFC822Message *GetTargetMessage (void) const { return pTargetMsg; }
- void SetTargetMessage (INetRFC822Message *pMsg) { pTargetMsg = pMsg; }
+ INetMIMEMessage *GetTargetMessage (void) const { return pTargetMsg; }
+ void SetTargetMessage (INetMIMEMessage *pMsg) { pTargetMsg = pMsg; }
void ParseHeader (bool bParse = true) { bHeaderParsed = !bParse; }
bool IsHeaderParsed (void) const { return bHeaderParsed; }
@@ -193,7 +192,7 @@ public:
using INetMessageIStream::SetSourceMessage;
void SetSourceMessage (INetMIMEMessage *pMsg)
{
- INetMessageIStream::SetSourceMessage ((INetRFC822Message *)pMsg);
+ INetMessageIStream::SetSourceMessage (pMsg);
}
INetMIMEMessage *GetSourceMessage (void) const
{
@@ -203,7 +202,7 @@ public:
using INetMessageOStream::SetTargetMessage;
void SetTargetMessage (INetMIMEMessage *pMsg)
{
- INetMessageOStream::SetTargetMessage ((INetRFC822Message *)pMsg);
+ INetMessageOStream::SetTargetMessage (pMsg);
}
INetMIMEMessage *GetTargetMessage (void) const
{
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index 4c8746f..4deb194 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -1638,7 +1638,7 @@ void SfxHeaderAttributes_Impl::SetAttribute( const SvKeyValue& rKV )
else if( rKV.GetKey().equalsIgnoreAsciiCase( "expires" ) )
{
DateTime aDateTime( DateTime::EMPTY );
- if( INetRFC822Message::ParseDateField( rKV.GetValue(), aDateTime ) )
+ if( INetMIMEMessage::ParseDateField( rKV.GetValue(), aDateTime ) )
{
aDateTime.ConvertToLocalTime();
pDoc->GetMedium()->SetExpired_Impl( aDateTime );
diff --git a/tools/source/inet/inetmsg.cxx b/tools/source/inet/inetmsg.cxx
index a710bc2..7a78170 100644
--- a/tools/source/inet/inetmsg.cxx
+++ b/tools/source/inet/inetmsg.cxx
@@ -48,7 +48,7 @@ inline sal_Unicode ascii_toLowerCase( sal_Unicode ch )
return ch;
}
-void INetRFC822Message::ListCleanup_Impl()
+void INetMIMEMessage::ListCleanup_Impl()
{
// Cleanup.
sal_uIntPtr i, n = m_aHeaderList.size();
@@ -57,7 +57,7 @@ void INetRFC822Message::ListCleanup_Impl()
m_aHeaderList.clear();
}
-void INetRFC822Message::ListCopy (const INetRFC822Message &rMsg)
+void INetMIMEMessage::ListCopy (const INetMIMEMessage &rMsg)
{
if (!(this == &rMsg))
{
@@ -74,7 +74,7 @@ void INetRFC822Message::ListCopy (const INetRFC822Message &rMsg)
}
}
-void INetRFC822Message::SetHeaderField_Impl (
+void INetMIMEMessage::SetHeaderField_Impl (
INetMIME::HeaderFieldType eType,
const OString &rName,
const OUString &rValue,
@@ -121,42 +121,6 @@ enum _ImplINetRFC822MessageHeaderState
INETMSG_RFC822_LETTER_S
};
-INetRFC822Message::INetRFC822Message()
- : m_nDocSize(0)
-{
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- m_nIndex[i] = CONTAINER_ENTRY_NOTFOUND;
-}
-
-INetRFC822Message::INetRFC822Message (const INetRFC822Message& rMsg)
- : m_nDocSize (rMsg.m_nDocSize),
- m_aDocName (rMsg.m_aDocName),
- m_xDocLB (rMsg.m_xDocLB)
-{
- ListCopy (rMsg);
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- m_nIndex[i] = rMsg.m_nIndex[i];
-}
-
-INetRFC822Message& INetRFC822Message::operator= (const INetRFC822Message& rMsg)
-{
- if (this != &rMsg)
- {
- m_nDocSize = rMsg.m_nDocSize;
- m_aDocName = rMsg.m_aDocName;
- m_xDocLB = rMsg.m_xDocLB;
- ListCopy (rMsg);
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- m_nIndex[i] = rMsg.m_nIndex[i];
- }
- return *this;
-}
-
-INetRFC822Message::~INetRFC822Message()
-{
- ListCleanup_Impl();
-}
-
/* ParseDateField and local helper functions.
*
* Parses a String in (implied) GMT format into class Date and tools::Time objects.
@@ -200,7 +164,7 @@ static sal_uInt16 ParseMonth(const OString& rStr, sal_uInt16& nIndex)
return (i + 1);
}
-bool INetRFC822Message::ParseDateField (
+bool INetMIMEMessage::ParseDateField (
const OUString& rDateFieldW, DateTime& rDateTime)
{
OString aDateField(OUStringToOString(rDateFieldW,
@@ -310,7 +274,7 @@ bool INetRFC822Message::ParseDateField (
}
// Header Field Parser
-sal_uIntPtr INetRFC822Message::SetHeaderField (
+sal_uIntPtr INetMIMEMessage::SetRFC822HeaderField (
const INetMessageHeader &rHeader, sal_uIntPtr nNewIndex)
{
OString aName (rHeader.GetName());
@@ -528,8 +492,8 @@ sal_uIntPtr INetRFC822Message::SetHeaderField (
pData = pStop;
SetHeaderField_Impl (
INetMessageHeader( ImplINetRFC822MessageHeaderData[nIdx], rHeader.GetValue() ),
- m_nIndex[nIdx]);
- nNewIndex = m_nIndex[nIdx];
+ m_nRFC822Index[nIdx]);
+ nNewIndex = m_nRFC822Index[nIdx];
break;
default: // INETMSG_RFC822_JUNK
@@ -541,57 +505,6 @@ sal_uIntPtr INetRFC822Message::SetHeaderField (
return nNewIndex;
}
-SvStream& INetRFC822Message::operator<< (SvStream& rStrm) const
-{
- rStrm.WriteUInt32( m_nDocSize );
- write_uInt16_lenPrefixed_uInt8s_FromOUString(rStrm, m_aDocName, RTL_TEXTENCODING_UTF8);
-
- sal_uIntPtr n = m_aHeaderList.size();
- rStrm.WriteUInt32( n );
-
- for (sal_uIntPtr i = 0; i < n; i++)
- WriteINetMessageHeader( rStrm, *( m_aHeaderList[ i ] ) );
-
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- rStrm.WriteUInt32( m_nIndex[i] );
-
- return rStrm;
-}
-
-SvStream& INetRFC822Message::operator>> (SvStream& rStrm)
-{
- // Cleanup.
- m_nDocSize = 0;
- m_xDocLB.Clear();
- ListCleanup_Impl();
-
- sal_uInt32 nTemp;
-
- // Copy.
- rStrm.ReadUInt32( nTemp );
- m_nDocSize = nTemp;
- m_aDocName = read_uInt16_lenPrefixed_uInt8s_ToOUString(rStrm, RTL_TEXTENCODING_UTF8);
-
- sal_uIntPtr n = 0;
- rStrm.ReadUInt32( nTemp );
- n = nTemp;
-
- for (sal_uIntPtr i = 0; i < n; i++)
- {
- INetMessageHeader *p = new INetMessageHeader();
- ReadINetMessageHeader( rStrm, *p );
- m_aHeaderList.push_back( p );
- }
-
- for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
- {
- rStrm.ReadUInt32( nTemp );
- m_nIndex[i] = nTemp;
- }
-
- return rStrm;
-}
-
static const char* ImplINetMIMEMessageHeaderData[] =
{
"MIME-Version",
@@ -615,18 +528,25 @@ enum _ImplINetMIMEMessageHeaderState
};
INetMIMEMessage::INetMIMEMessage()
- : INetRFC822Message (),
- pParent (NULL),
- bHeaderParsed (false)
+ : m_nDocSize(0),
+ pParent(NULL),
+ bHeaderParsed(false)
{
+ for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
+ m_nRFC822Index[i] = CONTAINER_ENTRY_NOTFOUND;
for (sal_uInt16 i = 0; i < INETMSG_MIME_NUMHDR; i++)
- m_nIndex[i] = CONTAINER_ENTRY_NOTFOUND;
+ m_nMIMEIndex[i] = CONTAINER_ENTRY_NOTFOUND;
}
INetMIMEMessage::INetMIMEMessage (const INetMIMEMessage& rMsg)
- : INetRFC822Message (rMsg)
- , pParent(NULL)
+ : m_nDocSize(rMsg.m_nDocSize),
+ m_aDocName(rMsg.m_aDocName),
+ m_xDocLB(rMsg.m_xDocLB),
+ pParent(NULL)
{
+ ListCopy (rMsg);
+ for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
+ m_nRFC822Index[i] = rMsg.m_nRFC822Index[i];
CopyImp (rMsg);
}
@@ -635,9 +555,12 @@ INetMIMEMessage& INetMIMEMessage::operator= (
{
if (this != &rMsg)
{
- // Assign base.
- INetRFC822Message::operator= (rMsg);
-
+ m_nDocSize = rMsg.m_nDocSize;
+ m_aDocName = rMsg.m_aDocName;
+ m_xDocLB = rMsg.m_xDocLB;
+ ListCopy (rMsg);
+ for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
+ m_nRFC822Index[i] = rMsg.m_nRFC822Index[i];
CleanupImp();
CopyImp (rMsg);
}
@@ -646,6 +569,7 @@ INetMIMEMessage& INetMIMEMessage::operator= (
INetMIMEMessage::~INetMIMEMessage()
{
+ ListCleanup_Impl();
CleanupImp();
}
@@ -663,7 +587,7 @@ void INetMIMEMessage::CopyImp (const INetMIMEMessage& rMsg)
size_t i;
for (i = 0; i < INETMSG_MIME_NUMHDR; i++)
- m_nIndex[i] = rMsg.m_nIndex[i];
+ m_nMIMEIndex[i] = rMsg.m_nMIMEIndex[i];
m_aBoundary = rMsg.m_aBoundary;
@@ -819,14 +743,13 @@ sal_uIntPtr INetMIMEMessage::SetHeaderField (
pData = pStop;
SetHeaderField_Impl (
INetMessageHeader( ImplINetMIMEMessageHeaderData[nIdx], rHeader.GetValue()),
- m_nIndex[nIdx]);
- nNewIndex = m_nIndex[nIdx];
+ m_nMIMEIndex[nIdx]);
+ nNewIndex = m_nMIMEIndex[nIdx];
break;
default: // INETMSG_MIME_JUNK
pData = pStop;
- nNewIndex = INetRFC822Message::SetHeaderField (
- rHeader, nNewIndex);
+ nNewIndex = SetRFC822HeaderField(rHeader, nNewIndex);
break;
}
}
@@ -838,7 +761,7 @@ void INetMIMEMessage::SetMIMEVersion (const OUString& rVersion)
SetHeaderField_Impl (
INetMIME::HEADER_FIELD_TEXT,
ImplINetMIMEMessageHeaderData[INETMSG_MIME_VERSION], rVersion,
- m_nIndex[INETMSG_MIME_VERSION]);
+ m_nMIMEIndex[INETMSG_MIME_VERSION]);
}
void INetMIMEMessage::SetContentDisposition (const OUString& rDisposition)
@@ -846,7 +769,7 @@ void INetMIMEMessage::SetContentDisposition (const OUString& rDisposition)
SetHeaderField_Impl (
INetMIME::HEADER_FIELD_TEXT,
ImplINetMIMEMessageHeaderData[INETMSG_MIME_CONTENT_DISPOSITION], rDisposition,
- m_nIndex[INETMSG_MIME_CONTENT_DISPOSITION]);
+ m_nMIMEIndex[INETMSG_MIME_CONTENT_DISPOSITION]);
}
void INetMIMEMessage::SetContentType (const OUString& rType)
@@ -854,7 +777,7 @@ void INetMIMEMessage::SetContentType (const OUString& rType)
SetHeaderField_Impl (
INetMIME::HEADER_FIELD_TEXT,
ImplINetMIMEMessageHeaderData[INETMSG_MIME_CONTENT_TYPE], rType,
- m_nIndex[INETMSG_MIME_CONTENT_TYPE]);
+ m_nMIMEIndex[INETMSG_MIME_CONTENT_TYPE]);
}
void INetMIMEMessage::SetContentTransferEncoding (
@@ -863,7 +786,7 @@ void INetMIMEMessage::SetContentTransferEncoding (
SetHeaderField_Impl (
INetMIME::HEADER_FIELD_TEXT,
ImplINetMIMEMessageHeaderData[INETMSG_MIME_CONTENT_TRANSFER_ENCODING], rEncoding,
- m_nIndex[INETMSG_MIME_CONTENT_TRANSFER_ENCODING]);
+ m_nMIMEIndex[INETMSG_MIME_CONTENT_TRANSFER_ENCODING]);
}
OUString INetMIMEMessage::GetDefaultContentType()
@@ -959,31 +882,67 @@ bool INetMIMEMessage::AttachChild(INetMIMEMessage& rChildMsg, bool bOwner)
return false;
}
-SvStream& INetMIMEMessage::operator<< (SvStream& rStrm) const
+SvStream& operator <<(SvStream& rStrm, const INetMIMEMessage& rMsg)
{
- INetRFC822Message::operator<< (rStrm);
+ rStrm.WriteUInt32( rMsg.m_nDocSize );
+ write_uInt16_lenPrefixed_uInt8s_FromOUString(rStrm, rMsg.m_aDocName, RTL_TEXTENCODING_UTF8);
+
+ sal_uIntPtr n = rMsg.m_aHeaderList.size();
+ rStrm.WriteUInt32( n );
+
+ for (sal_uIntPtr i = 0; i < n; i++)
+ WriteINetMessageHeader( rStrm, *( rMsg.m_aHeaderList[ i ] ) );
+
+ for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
+ rStrm.WriteUInt32( rMsg.m_nRFC822Index[i] );
for (sal_uInt16 i = 0; i < INETMSG_MIME_NUMHDR; i++)
- rStrm.WriteUInt32( m_nIndex[i] );
+ rStrm.WriteUInt32( rMsg.m_nMIMEIndex[i] );
- write_uInt16_lenPrefixed_uInt8s_FromOString(rStrm, m_aBoundary);
- rStrm.WriteUInt32( aChildren.size() );
+ write_uInt16_lenPrefixed_uInt8s_FromOString(rStrm, rMsg.m_aBoundary);
+ rStrm.WriteUInt32( rMsg.aChildren.size() );
return rStrm;
}
-SvStream& INetMIMEMessage::operator>> (SvStream& rStrm)
+SvStream& operator >>(SvStream& rStrm, INetMIMEMessage& rMsg)
{
- INetRFC822Message::operator>> (rStrm);
+ // Cleanup.
+ rMsg.m_nDocSize = 0;
+ rMsg.m_xDocLB.Clear();
+ rMsg.ListCleanup_Impl();
sal_uInt32 nTemp;
+
+ // Copy.
+ rStrm.ReadUInt32( nTemp );
+ rMsg.m_nDocSize = nTemp;
+ rMsg.m_aDocName = read_uInt16_lenPrefixed_uInt8s_ToOUString(rStrm, RTL_TEXTENCODING_UTF8);
+
+ sal_uIntPtr n = 0;
+ rStrm.ReadUInt32( nTemp );
+ n = nTemp;
+
+ for (sal_uIntPtr i = 0; i < n; i++)
+ {
+ INetMessageHeader *p = new INetMessageHeader();
+ ReadINetMessageHeader( rStrm, *p );
+ rMsg.m_aHeaderList.push_back( p );
+ }
+
+ for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
+ {
+ rStrm.ReadUInt32( nTemp );
+ rMsg.m_nRFC822Index[i] = nTemp;
+ }
+
for (sal_uInt16 i = 0; i < INETMSG_MIME_NUMHDR; i++)
{
rStrm.ReadUInt32( nTemp );
- m_nIndex[i] = nTemp;
+ rMsg.m_nMIMEIndex[i] = nTemp;
}
- m_aBoundary = read_uInt16_lenPrefixed_uInt8s_ToOString(rStrm);
+ rMsg.m_aBoundary = read_uInt16_lenPrefixed_uInt8s_ToOString(rStrm);
rStrm.ReadUInt32( nTemp );
diff --git a/tools/source/inet/inetstrm.cxx b/tools/source/inet/inetstrm.cxx
index 8764622..a6fbf23 100644
--- a/tools/source/inet/inetstrm.cxx
+++ b/tools/source/inet/inetstrm.cxx
@@ -485,7 +485,7 @@ INetMessageEncodeQPStream_Impl::~INetMessageEncodeQPStream_Impl(void)
int INetMessageEncodeQPStream_Impl::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
{
- INetRFC822Message* pMsg = GetSourceMessage();
+ INetMIMEMessage* pMsg = GetSourceMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
if (pMsg->GetDocumentLB() == NULL) return 0;
@@ -693,7 +693,7 @@ INetMessageDecodeQPStream_Impl::~INetMessageDecodeQPStream_Impl(void)
int INetMessageDecodeQPStream_Impl::PutMsgLine( const sal_Char* pData,
sal_uIntPtr nSize)
{
- INetRFC822Message* pMsg = GetTargetMessage();
+ INetMIMEMessage* pMsg = GetTargetMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
SvOpenLockBytes* pLB = PTR_CAST(SvOpenLockBytes, pMsg->GetDocumentLB());
@@ -807,7 +807,7 @@ INetMessageEncode64Stream_Impl::~INetMessageEncode64Stream_Impl(void)
int INetMessageEncode64Stream_Impl::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
{
- INetRFC822Message* pMsg = GetSourceMessage();
+ INetMIMEMessage* pMsg = GetSourceMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
if (pMsg->GetDocumentLB() == NULL) return 0;
@@ -993,7 +993,7 @@ INetMessageDecode64Stream_Impl::~INetMessageDecode64Stream_Impl(void)
int INetMessageDecode64Stream_Impl::PutMsgLine(const sal_Char* pData,
sal_uIntPtr nSize)
{
- INetRFC822Message* pMsg = GetTargetMessage();
+ INetMIMEMessage* pMsg = GetTargetMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
SvOpenLockBytes* pLB = PTR_CAST(SvOpenLockBytes, pMsg->GetDocumentLB());
diff --git a/unotools/source/ucbhelper/ucblockbytes.cxx b/unotools/source/ucbhelper/ucblockbytes.cxx
index 1fcf878..a4f8c1f 100644
--- a/unotools/source/ucbhelper/ucblockbytes.cxx
+++ b/unotools/source/ucbhelper/ucblockbytes.cxx
@@ -196,7 +196,7 @@ void SAL_CALL UcbPropertiesChangeListener_Impl::propertiesChange ( const Sequenc
if (aName.compareToIgnoreAsciiCaseAscii("Expires") == 0)
{
DateTime aExpires (0, 0);
- if (INetRFC822Message::ParseDateField (aValue, aExpires))
+ if (INetMIMEMessage::ParseDateField (aValue, aExpires))
{
aExpires.ConvertToLocalTime();
m_xLockBytes->SetExpireDate_Impl( aExpires );
commit 3939b6d64df3b7ca495d0afb06876e5f5a492116
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 11 15:14:23 2015 +0100
Fold INetMessage into INetRFC822Message
Change-Id: I89ba13c02954364044b215ba7df7c563720b92f9
diff --git a/include/tools/inetmsg.hxx b/include/tools/inetmsg.hxx
index 912595c..fb6370a 100644
--- a/include/tools/inetmsg.hxx
+++ b/include/tools/inetmsg.hxx
@@ -81,7 +81,25 @@ public:
typedef ::std::vector< INetMessageHeader* > HeaderList_impl;
-class INetMessage
+#define INETMSG_RFC822_BCC 0
+#define INETMSG_RFC822_CC 1
+#define INETMSG_RFC822_COMMENTS 2
+#define INETMSG_RFC822_DATE 3
+#define INETMSG_RFC822_FROM 4
+#define INETMSG_RFC822_IN_REPLY_TO 5
+#define INETMSG_RFC822_KEYWORDS 6
+#define INETMSG_RFC822_MESSAGE_ID 7
+#define INETMSG_RFC822_REFERENCES 8
+#define INETMSG_RFC822_REPLY_TO 9
+#define INETMSG_RFC822_RETURN_PATH 10
+#define INETMSG_RFC822_SENDER 11
+#define INETMSG_RFC822_SUBJECT 12
+#define INETMSG_RFC822_TO 13
+#define INETMSG_RFC822_X_MAILER 14
+#define INETMSG_RFC822_RETURN_RECEIPT_TO 15
+#define INETMSG_RFC822_NUMHDR 16
+
+class TOOLS_DLLPUBLIC INetRFC822Message
{
HeaderList_impl m_aHeaderList;
@@ -90,7 +108,9 @@ class INetMessage
SvLockBytesRef m_xDocLB;
void ListCleanup_Impl();
- void ListCopy (const INetMessage& rMsg);
+ void ListCopy (const INetRFC822Message& rMsg);
+
+ sal_uIntPtr m_nIndex[INETMSG_RFC822_NUMHDR];
protected:
OUString GetHeaderName_Impl (
@@ -139,25 +159,11 @@ protected:
virtual SvStream& operator>> (SvStream& rStrm);
public:
- INetMessage() : m_nDocSize(0) {}
- virtual ~INetMessage();
-
- INetMessage (const INetMessage& rMsg)
- : m_nDocSize (rMsg.m_nDocSize),
- m_aDocName (rMsg.m_aDocName),
- m_xDocLB (rMsg.m_xDocLB)
- {
- ListCopy (rMsg);
- }
+ INetRFC822Message();
+ INetRFC822Message (const INetRFC822Message& rMsg);
+ virtual ~INetRFC822Message();
- INetMessage& operator= (const INetMessage& rMsg)
- {
- m_nDocSize = rMsg.m_nDocSize;
- m_aDocName = rMsg.m_aDocName;
- m_xDocLB = rMsg.m_xDocLB;
- ListCopy (rMsg);
- return *this;
- }
+ INetRFC822Message& operator= (const INetRFC822Message& rMsg);
sal_uIntPtr GetHeaderCount() const { return m_aHeaderList.size(); }
@@ -194,61 +200,9 @@ public:
SvLockBytes* GetDocumentLB() const { return m_xDocLB; }
void SetDocumentLB (SvLockBytes *pDocLB) { m_xDocLB = pDocLB; }
- friend SvStream& WriteINetMessage(
- SvStream& rStrm, const INetMessage& rMsg)
- {
- return rMsg.operator<< (rStrm);
- }
-
- friend SvStream& ReadINetMessage (
- SvStream& rStrm, INetMessage& rMsg)
- {
- return rMsg.operator>> (rStrm);
- }
-};
-
-#define INETMSG_RFC822_BCC 0
-#define INETMSG_RFC822_CC 1
-#define INETMSG_RFC822_COMMENTS 2
-#define INETMSG_RFC822_DATE 3
-#define INETMSG_RFC822_FROM 4
-#define INETMSG_RFC822_IN_REPLY_TO 5
-#define INETMSG_RFC822_KEYWORDS 6
-#define INETMSG_RFC822_MESSAGE_ID 7
-#define INETMSG_RFC822_REFERENCES 8
-#define INETMSG_RFC822_REPLY_TO 9
-#define INETMSG_RFC822_RETURN_PATH 10
-#define INETMSG_RFC822_SENDER 11
-#define INETMSG_RFC822_SUBJECT 12
-#define INETMSG_RFC822_TO 13
-#define INETMSG_RFC822_X_MAILER 14
-#define INETMSG_RFC822_RETURN_RECEIPT_TO 15
-#define INETMSG_RFC822_NUMHDR 16
-
-class TOOLS_DLLPUBLIC INetRFC822Message : public INetMessage
-{
- sal_uIntPtr m_nIndex[INETMSG_RFC822_NUMHDR];
-
-protected:
- virtual SvStream& operator<< (SvStream& rStrm) const SAL_OVERRIDE;
- virtual SvStream& operator>> (SvStream& rStrm) SAL_OVERRIDE;
-
-public:
- INetRFC822Message();
- INetRFC822Message (const INetRFC822Message& rMsg);
- virtual ~INetRFC822Message();
-
- INetRFC822Message& operator= (const INetRFC822Message& rMsg);
-
static bool ParseDateField (
const OUString& rDateField, DateTime& rDateTime);
- using INetMessage::SetHeaderField;
- virtual sal_uIntPtr SetHeaderField (
- const INetMessageHeader &rHeader,
- sal_uIntPtr nIndex = ((sal_uIntPtr)-1)
- ) SAL_OVERRIDE;
-
// Header fields.
OUString GetBCC() const
@@ -358,6 +312,18 @@ public:
// Stream operators.
+ friend SvStream& WriteINetMessage(
+ SvStream& rStrm, const INetRFC822Message& rMsg)
+ {
+ return rMsg.operator<< (rStrm);
+ }
+
+ friend SvStream& ReadINetMessage (
+ SvStream& rStrm, INetRFC822Message& rMsg)
+ {
+ return rMsg.operator>> (rStrm);
+ }
+
friend SvStream& operator<< (
SvStream& rStrm, const INetRFC822Message& rMsg)
{
diff --git a/include/tools/inetstrm.hxx b/include/tools/inetstrm.hxx
index 6801293..b5c4e04 100644
--- a/include/tools/inetstrm.hxx
+++ b/include/tools/inetstrm.hxx
@@ -23,7 +23,7 @@
#include <sal/types.h>
#include <rtl/ustring.hxx>
-class INetMessage;
+class INetRFC822Message;
class INetMIMEMessage;
class SvMemoryStream;
class SvStream;
@@ -81,7 +81,7 @@ enum INetMessageStreamState
/// Message Generator Interface.
class INetMessageIStream : public INetIStream
{
- INetMessage *pSourceMsg;
+ INetRFC822Message *pSourceMsg;
bool bHeaderGenerated;
sal_uIntPtr nBufSiz;
@@ -106,8 +106,8 @@ public:
INetMessageIStream (sal_uIntPtr nBufferSize = 2048);
virtual ~INetMessageIStream (void);
- INetMessage *GetSourceMessage (void) const { return pSourceMsg; }
- void SetSourceMessage (INetMessage *pMsg) { pSourceMsg = pMsg; }
+ INetRFC822Message *GetSourceMessage (void) const { return pSourceMsg; }
+ void SetSourceMessage (INetRFC822Message *pMsg) { pSourceMsg = pMsg; }
void GenerateHeader (bool bGen = true) { bHeaderGenerated = !bGen; }
bool IsHeaderGenerated (void) const { return bHeaderGenerated; }
@@ -116,7 +116,7 @@ public:
/// Message Parser Interface.
class INetMessageOStream : public INetOStream
{
- INetMessage *pTargetMsg;
+ INetRFC822Message *pTargetMsg;
bool bHeaderParsed;
INetMessageStreamState eOState;
@@ -135,8 +135,8 @@ public:
INetMessageOStream (void);
virtual ~INetMessageOStream (void);
- INetMessage *GetTargetMessage (void) const { return pTargetMsg; }
- void SetTargetMessage (INetMessage *pMsg) { pTargetMsg = pMsg; }
+ INetRFC822Message *GetTargetMessage (void) const { return pTargetMsg; }
+ void SetTargetMessage (INetRFC822Message *pMsg) { pTargetMsg = pMsg; }
void ParseHeader (bool bParse = true) { bHeaderParsed = !bParse; }
bool IsHeaderParsed (void) const { return bHeaderParsed; }
@@ -193,7 +193,7 @@ public:
using INetMessageIStream::SetSourceMessage;
void SetSourceMessage (INetMIMEMessage *pMsg)
{
- INetMessageIStream::SetSourceMessage ((INetMessage *)pMsg);
+ INetMessageIStream::SetSourceMessage ((INetRFC822Message *)pMsg);
}
INetMIMEMessage *GetSourceMessage (void) const
{
@@ -203,7 +203,7 @@ public:
using INetMessageOStream::SetTargetMessage;
void SetTargetMessage (INetMIMEMessage *pMsg)
{
- INetMessageOStream::SetTargetMessage ((INetMessage *)pMsg);
+ INetMessageOStream::SetTargetMessage ((INetRFC822Message *)pMsg);
}
INetMIMEMessage *GetTargetMessage (void) const
{
diff --git a/tools/source/inet/inetmsg.cxx b/tools/source/inet/inetmsg.cxx
index 42c7a5f..a710bc2 100644
--- a/tools/source/inet/inetmsg.cxx
+++ b/tools/source/inet/inetmsg.cxx
@@ -48,12 +48,7 @@ inline sal_Unicode ascii_toLowerCase( sal_Unicode ch )
return ch;
}
-INetMessage::~INetMessage()
-{
- ListCleanup_Impl();
-}
-
-void INetMessage::ListCleanup_Impl()
+void INetRFC822Message::ListCleanup_Impl()
{
// Cleanup.
sal_uIntPtr i, n = m_aHeaderList.size();
@@ -62,7 +57,7 @@ void INetMessage::ListCleanup_Impl()
m_aHeaderList.clear();
}
-void INetMessage::ListCopy (const INetMessage &rMsg)
+void INetRFC822Message::ListCopy (const INetRFC822Message &rMsg)
{
if (!(this == &rMsg))
{
@@ -79,7 +74,7 @@ void INetMessage::ListCopy (const INetMessage &rMsg)
}
}
-void INetMessage::SetHeaderField_Impl (
+void INetRFC822Message::SetHeaderField_Impl (
INetMIME::HeaderFieldType eType,
const OString &rName,
const OUString &rValue,
@@ -92,57 +87,6 @@ void INetMessage::SetHeaderField_Impl (
INetMessageHeader (rName, aSink.takeBuffer()), rnIndex);
}
-sal_uIntPtr INetMessage::SetHeaderField (
- const INetMessageHeader &rHeader, sal_uIntPtr nIndex)
-{
- sal_uIntPtr nResult = nIndex;
- SetHeaderField_Impl (rHeader, nResult);
- return nResult;
-}
-
-SvStream& INetMessage::operator<< (SvStream& rStrm) const
-{
- rStrm.WriteUInt32( m_nDocSize );
- write_uInt16_lenPrefixed_uInt8s_FromOUString(rStrm, m_aDocName, RTL_TEXTENCODING_UTF8);
-
- sal_uIntPtr i, n = m_aHeaderList.size();
- rStrm.WriteUInt32( n );
-
- for (i = 0; i < n; i++)
- WriteINetMessageHeader( rStrm, *( m_aHeaderList[ i ] ) );
-
- return rStrm;
-}
-
-SvStream& INetMessage::operator>> (SvStream& rStrm)
-{
- // Cleanup.
- m_nDocSize = 0;
- m_xDocLB.Clear();
- ListCleanup_Impl();
-
- sal_uInt32 nTemp;
-
- // Copy.
- rStrm.ReadUInt32( nTemp );
- m_nDocSize = nTemp;
- m_aDocName = read_uInt16_lenPrefixed_uInt8s_ToOUString(rStrm, RTL_TEXTENCODING_UTF8);
-
- sal_uIntPtr i, n = 0;
- rStrm.ReadUInt32( nTemp );
- n = nTemp;
-
- for (i = 0; i < n; i++)
- {
- INetMessageHeader *p = new INetMessageHeader();
- ReadINetMessageHeader( rStrm, *p );
- m_aHeaderList.push_back( p );
- }
-
- // Done.
- return rStrm;
-}
-
static const char * ImplINetRFC822MessageHeaderData[] =
{
"BCC",
@@ -178,15 +122,18 @@ enum _ImplINetRFC822MessageHeaderState
};
INetRFC822Message::INetRFC822Message()
- : INetMessage()
+ : m_nDocSize(0)
{
for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
m_nIndex[i] = CONTAINER_ENTRY_NOTFOUND;
}
INetRFC822Message::INetRFC822Message (const INetRFC822Message& rMsg)
- : INetMessage (rMsg)
+ : m_nDocSize (rMsg.m_nDocSize),
+ m_aDocName (rMsg.m_aDocName),
+ m_xDocLB (rMsg.m_xDocLB)
{
+ ListCopy (rMsg);
for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
m_nIndex[i] = rMsg.m_nIndex[i];
}
@@ -195,8 +142,10 @@ INetRFC822Message& INetRFC822Message::operator= (const INetRFC822Message& rMsg)
{
if (this != &rMsg)
{
- INetMessage::operator= (rMsg);
-
+ m_nDocSize = rMsg.m_nDocSize;
+ m_aDocName = rMsg.m_aDocName;
+ m_xDocLB = rMsg.m_xDocLB;
+ ListCopy (rMsg);
for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
m_nIndex[i] = rMsg.m_nIndex[i];
}
@@ -205,6 +154,7 @@ INetRFC822Message& INetRFC822Message::operator= (const INetRFC822Message& rMsg)
INetRFC822Message::~INetRFC822Message()
{
+ ListCleanup_Impl();
}
/* ParseDateField and local helper functions.
@@ -584,7 +534,7 @@ sal_uIntPtr INetRFC822Message::SetHeaderField (
default: // INETMSG_RFC822_JUNK
pData = pStop;
- nNewIndex = INetMessage::SetHeaderField (rHeader, nNewIndex);
+ SetHeaderField_Impl(rHeader, nNewIndex);
break;
}
}
@@ -593,7 +543,14 @@ sal_uIntPtr INetRFC822Message::SetHeaderField (
SvStream& INetRFC822Message::operator<< (SvStream& rStrm) const
{
- INetMessage::operator<< (rStrm);
+ rStrm.WriteUInt32( m_nDocSize );
+ write_uInt16_lenPrefixed_uInt8s_FromOUString(rStrm, m_aDocName, RTL_TEXTENCODING_UTF8);
+
+ sal_uIntPtr n = m_aHeaderList.size();
+ rStrm.WriteUInt32( n );
+
+ for (sal_uIntPtr i = 0; i < n; i++)
+ WriteINetMessageHeader( rStrm, *( m_aHeaderList[ i ] ) );
for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
rStrm.WriteUInt32( m_nIndex[i] );
@@ -603,9 +560,29 @@ SvStream& INetRFC822Message::operator<< (SvStream& rStrm) const
SvStream& INetRFC822Message::operator>> (SvStream& rStrm)
{
- INetMessage::operator>> (rStrm);
+ // Cleanup.
+ m_nDocSize = 0;
+ m_xDocLB.Clear();
+ ListCleanup_Impl();
sal_uInt32 nTemp;
+
+ // Copy.
+ rStrm.ReadUInt32( nTemp );
+ m_nDocSize = nTemp;
+ m_aDocName = read_uInt16_lenPrefixed_uInt8s_ToOUString(rStrm, RTL_TEXTENCODING_UTF8);
+
+ sal_uIntPtr n = 0;
+ rStrm.ReadUInt32( nTemp );
+ n = nTemp;
+
+ for (sal_uIntPtr i = 0; i < n; i++)
+ {
+ INetMessageHeader *p = new INetMessageHeader();
+ ReadINetMessageHeader( rStrm, *p );
+ m_aHeaderList.push_back( p );
+ }
+
for (sal_uInt16 i = 0; i < INETMSG_RFC822_NUMHDR; i++)
{
rStrm.ReadUInt32( nTemp );
diff --git a/tools/source/inet/inetstrm.cxx b/tools/source/inet/inetstrm.cxx
index bb34374..8764622 100644
--- a/tools/source/inet/inetstrm.cxx
+++ b/tools/source/inet/inetstrm.cxx
@@ -485,7 +485,7 @@ INetMessageEncodeQPStream_Impl::~INetMessageEncodeQPStream_Impl(void)
int INetMessageEncodeQPStream_Impl::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
{
- INetMessage* pMsg = GetSourceMessage();
+ INetRFC822Message* pMsg = GetSourceMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
if (pMsg->GetDocumentLB() == NULL) return 0;
@@ -693,7 +693,7 @@ INetMessageDecodeQPStream_Impl::~INetMessageDecodeQPStream_Impl(void)
int INetMessageDecodeQPStream_Impl::PutMsgLine( const sal_Char* pData,
sal_uIntPtr nSize)
{
- INetMessage* pMsg = GetTargetMessage();
+ INetRFC822Message* pMsg = GetTargetMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
SvOpenLockBytes* pLB = PTR_CAST(SvOpenLockBytes, pMsg->GetDocumentLB());
@@ -807,7 +807,7 @@ INetMessageEncode64Stream_Impl::~INetMessageEncode64Stream_Impl(void)
int INetMessageEncode64Stream_Impl::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
{
- INetMessage* pMsg = GetSourceMessage();
+ INetRFC822Message* pMsg = GetSourceMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
if (pMsg->GetDocumentLB() == NULL) return 0;
@@ -993,7 +993,7 @@ INetMessageDecode64Stream_Impl::~INetMessageDecode64Stream_Impl(void)
int INetMessageDecode64Stream_Impl::PutMsgLine(const sal_Char* pData,
sal_uIntPtr nSize)
{
- INetMessage* pMsg = GetTargetMessage();
+ INetRFC822Message* pMsg = GetTargetMessage();
if (pMsg == NULL) return INETSTREAM_STATUS_ERROR;
SvOpenLockBytes* pLB = PTR_CAST(SvOpenLockBytes, pMsg->GetDocumentLB());
More information about the Libreoffice-commits
mailing list