Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
82285ab5
Kaydet (Commit)
82285ab5
authored
Eyl 10, 2015
tarafından
Stephan Bergmann
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Merge INetMessageIStream into INetMIMEMessageStream
Change-Id: Ic3d9cd117b3f911a7cb1317fc9d1d2e9d8f1ff42
üst
4464e5db
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
92 additions
and
127 deletions
+92
-127
DatabaseForm.cxx
forms/source/component/DatabaseForm.cxx
+1
-3
inetstrm.hxx
include/tools/inetstrm.hxx
+12
-29
inetstrm.cxx
tools/source/inet/inetstrm.cxx
+79
-95
No files found.
forms/source/component/DatabaseForm.cxx
Dosyayı görüntüle @
82285ab5
...
@@ -545,9 +545,7 @@ Sequence<sal_Int8> ODatabaseForm::GetDataMultiPartEncoded(const Reference<XContr
...
@@ -545,9 +545,7 @@ Sequence<sal_Int8> ODatabaseForm::GetDataMultiPartEncoded(const Reference<XContr
aSuccObjList
.
clear
();
aSuccObjList
.
clear
();
// Create MessageStream for parent
// Create MessageStream for parent
INetMIMEMessageStream
aMessStream
;
INetMIMEMessageStream
aMessStream
(
&
aParent
,
true
);
aMessStream
.
SetSourceMessage
(
&
aParent
);
aMessStream
.
SetHeaderGenerated
();
// Copy MessageStream to SvStream
// Copy MessageStream to SvStream
SvMemoryStream
aMemStream
;
SvMemoryStream
aMemStream
;
...
...
include/tools/inetstrm.hxx
Dosyayı görüntüle @
82285ab5
...
@@ -38,8 +38,7 @@ enum INetMessageStreamState
...
@@ -38,8 +38,7 @@ enum INetMessageStreamState
INETMSG_EOL_DONE
INETMSG_EOL_DONE
};
};
/// Message Generator Interface.
class
TOOLS_DLLPUBLIC
INetMIMEMessageStream
class
INetMessageIStream
{
{
INetMIMEMessage
*
pSourceMsg
;
INetMIMEMessage
*
pSourceMsg
;
bool
bHeaderGenerated
;
bool
bHeaderGenerated
;
...
@@ -54,44 +53,28 @@ class INetMessageIStream
...
@@ -54,44 +53,28 @@ class INetMessageIStream
sal_Char
*
pMsgRead
;
sal_Char
*
pMsgRead
;
sal_Char
*
pMsgWrite
;
sal_Char
*
pMsgWrite
;
INetMessageIStream
(
const
INetMessageIStream
&
rStrm
)
SAL_DELETED_FUNCTION
;
INetMessageIStream
&
operator
=
(
const
INetMessageIStream
&
rStrm
)
SAL_DELETED_FUNCTION
;
protected
:
virtual
int
GetMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
);
public
:
INetMessageIStream
(
sal_uIntPtr
nBufferSize
=
2048
);
virtual
~
INetMessageIStream
();
TOOLS_DLLPUBLIC
int
Read
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
);
INetMIMEMessage
*
GetSourceMessage
()
const
{
return
pSourceMsg
;
}
void
SetSourceMessage
(
INetMIMEMessage
*
pMsg
)
{
pSourceMsg
=
pMsg
;
}
void
SetHeaderGenerated
()
{
bHeaderGenerated
=
true
;
}
bool
IsHeaderGenerated
()
const
{
return
bHeaderGenerated
;
}
};
class
TOOLS_DLLPUBLIC
INetMIMEMessageStream
:
public
INetMessageIStream
{
int
eState
;
int
eState
;
sal_uIntPtr
nChildIndex
;
sal_uIntPtr
nChildIndex
;
INetMIMEMessageStream
*
pChildStrm
;
INetMIMEMessageStream
*
pChildStrm
;
SvMemoryStream
*
pMsgBuffer
;
INetMIMEMessageStream
(
const
INetMIMEMessageStream
&
rStrm
)
SAL_DELETED_FUNCTION
;
INetMIMEMessageStream
(
const
INetMIMEMessageStream
&
rStrm
)
SAL_DELETED_FUNCTION
;
INetMIMEMessageStream
&
operator
=
(
const
INetMIMEMessageStream
&
rStrm
)
SAL_DELETED_FUNCTION
;
INetMIMEMessageStream
&
operator
=
(
const
INetMIMEMessageStream
&
rStrm
)
SAL_DELETED_FUNCTION
;
protected
:
int
GetInnerMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
);
virtual
int
GetMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
SAL_OVERRIDE
;
int
GetOuterMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
;
public
:
public
:
INetMIMEMessageStream
(
sal_uIntPtr
nBufferSize
=
2048
);
INetMIMEMessageStream
(
sal_uIntPtr
nBufferSize
=
2048
);
virtual
~
INetMIMEMessageStream
();
~
INetMIMEMessageStream
();
int
Read
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
);
INetMIMEMessage
*
GetSourceMessage
()
const
{
return
pSourceMsg
;
}
void
SetSourceMessage
(
INetMIMEMessage
*
pMsg
)
{
pSourceMsg
=
pMsg
;
}
void
SetHeaderGenerated
()
{
bHeaderGenerated
=
true
;
}
bool
IsHeaderGenerated
()
const
{
return
bHeaderGenerated
;
}
};
};
#endif
#endif
...
...
tools/source/inet/inetstrm.cxx
Dosyayı görüntüle @
82285ab5
...
@@ -26,80 +26,7 @@
...
@@ -26,80 +26,7 @@
#include <ctype.h>
#include <ctype.h>
// INetMessageIStream
int
INetMIMEMessageStream
::
GetInnerMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
INetMessageIStream
::
INetMessageIStream
(
sal_uIntPtr
nBufferSize
)
:
pSourceMsg
(
NULL
)
,
bHeaderGenerated
(
false
)
,
nBufSiz
(
nBufferSize
)
,
pMsgStrm
(
NULL
)
,
pMsgBuffer
(
new
SvMemoryStream
)
,
pMsgRead
(
NULL
)
,
pMsgWrite
(
NULL
)
{
pMsgBuffer
->
SetStreamCharSet
(
RTL_TEXTENCODING_ASCII_US
);
pBuffer
=
new
sal_Char
[
nBufSiz
];
pRead
=
pWrite
=
pBuffer
;
}
INetMessageIStream
::~
INetMessageIStream
()
{
delete
[]
pBuffer
;
delete
pMsgBuffer
;
delete
pMsgStrm
;
}
int
INetMessageIStream
::
Read
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
{
if
(
pSourceMsg
==
NULL
)
return
INETSTREAM_STATUS_ERROR
;
sal_Char
*
pWBuf
=
pData
;
sal_Char
*
pWEnd
=
pData
+
nSize
;
while
(
pWBuf
<
pWEnd
)
{
// Caller's buffer not yet filled.
sal_uIntPtr
n
=
pRead
-
pWrite
;
if
(
n
>
0
)
{
// Bytes still in buffer.
sal_uIntPtr
m
=
pWEnd
-
pWBuf
;
if
(
m
<
n
)
n
=
m
;
for
(
sal_uIntPtr
i
=
0
;
i
<
n
;
i
++
)
*
pWBuf
++
=
*
pWrite
++
;
}
else
{
// Buffer empty. Reset to <Begin-of-Buffer>.
pRead
=
pWrite
=
pBuffer
;
// Read next message line.
int
nRead
=
GetMsgLine
(
pBuffer
,
nBufSiz
);
if
(
nRead
>
0
)
{
// Set read pointer.
pRead
=
pBuffer
+
nRead
;
}
else
{
if
(
!
bHeaderGenerated
)
{
// Header generated. Insert empty line.
bHeaderGenerated
=
true
;
*
pRead
++
=
'\r'
;
*
pRead
++
=
'\n'
;
}
else
{
// Body generated.
return
(
pWBuf
-
pData
);
}
}
}
}
return
(
pWBuf
-
pData
);
}
int
INetMessageIStream
::
GetMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
{
{
if
(
pSourceMsg
==
NULL
)
return
INETSTREAM_STATUS_ERROR
;
if
(
pSourceMsg
==
NULL
)
return
INETSTREAM_STATUS_ERROR
;
...
@@ -158,25 +85,7 @@ int INetMessageIStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
...
@@ -158,25 +85,7 @@ int INetMessageIStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
return
(
pWBuf
-
pData
);
return
(
pWBuf
-
pData
);
}
}
// INetMIMEMessageStream
int
INetMIMEMessageStream
::
GetOuterMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
INetMIMEMessageStream
::
INetMIMEMessageStream
(
sal_uIntPtr
nBufferSize
)
:
INetMessageIStream
(
nBufferSize
),
eState
(
INETMSG_EOL_BEGIN
),
nChildIndex
(
0
),
pChildStrm
(
NULL
),
pMsgBuffer
(
NULL
)
{
}
INetMIMEMessageStream
::~
INetMIMEMessageStream
()
{
delete
pChildStrm
;
delete
pMsgBuffer
;
}
/// Message Generator
int
INetMIMEMessageStream
::
GetMsgLine
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
{
{
// Check for message container.
// Check for message container.
INetMIMEMessage
*
pMsg
=
GetSourceMessage
();
INetMIMEMessage
*
pMsg
=
GetSourceMessage
();
...
@@ -223,7 +132,7 @@ int INetMIMEMessageStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
...
@@ -223,7 +132,7 @@ int INetMIMEMessageStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
}
}
// Generate the message header.
// Generate the message header.
int
nRead
=
INetMessageIStream
::
Get
MsgLine
(
pData
,
nSize
);
int
nRead
=
GetInner
MsgLine
(
pData
,
nSize
);
if
(
nRead
<=
0
)
if
(
nRead
<=
0
)
{
{
// Reset state.
// Reset state.
...
@@ -310,9 +219,84 @@ int INetMIMEMessageStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
...
@@ -310,9 +219,84 @@ int INetMIMEMessageStream::GetMsgLine(sal_Char* pData, sal_uIntPtr nSize)
}
}
// No Encoding.
// No Encoding.
return
INetMessageIStream
::
GetMsgLine
(
pData
,
nSize
);
return
GetInnerMsgLine
(
pData
,
nSize
);
}
}
}
INetMIMEMessageStream
::
INetMIMEMessageStream
(
sal_uIntPtr
nBufferSize
)
:
pSourceMsg
(
NULL
),
bHeaderGenerated
(
false
),
nBufSiz
(
nBufferSize
),
pMsgStrm
(
NULL
),
pMsgBuffer
(
new
SvMemoryStream
),
pMsgRead
(
NULL
),
pMsgWrite
(
NULL
),
eState
(
INETMSG_EOL_BEGIN
),
nChildIndex
(
0
),
pChildStrm
(
NULL
)
{
pMsgBuffer
->
SetStreamCharSet
(
RTL_TEXTENCODING_ASCII_US
);
pBuffer
=
new
sal_Char
[
nBufSiz
];
pRead
=
pWrite
=
pBuffer
;
}
INetMIMEMessageStream
::~
INetMIMEMessageStream
()
{
delete
pChildStrm
;
delete
[]
pBuffer
;
delete
pMsgBuffer
;
delete
pMsgStrm
;
}
int
INetMIMEMessageStream
::
Read
(
sal_Char
*
pData
,
sal_uIntPtr
nSize
)
{
if
(
pSourceMsg
==
NULL
)
return
INETSTREAM_STATUS_ERROR
;
sal_Char
*
pWBuf
=
pData
;
sal_Char
*
pWEnd
=
pData
+
nSize
;
while
(
pWBuf
<
pWEnd
)
{
// Caller's buffer not yet filled.
sal_uIntPtr
n
=
pRead
-
pWrite
;
if
(
n
>
0
)
{
// Bytes still in buffer.
sal_uIntPtr
m
=
pWEnd
-
pWBuf
;
if
(
m
<
n
)
n
=
m
;
for
(
sal_uIntPtr
i
=
0
;
i
<
n
;
i
++
)
*
pWBuf
++
=
*
pWrite
++
;
}
else
{
// Buffer empty. Reset to <Begin-of-Buffer>.
pRead
=
pWrite
=
pBuffer
;
// Read next message line.
int
nRead
=
GetOuterMsgLine
(
pBuffer
,
nBufSiz
);
if
(
nRead
>
0
)
{
// Set read pointer.
pRead
=
pBuffer
+
nRead
;
}
else
{
if
(
!
bHeaderGenerated
)
{
// Header generated. Insert empty line.
bHeaderGenerated
=
true
;
*
pRead
++
=
'\r'
;
*
pRead
++
=
'\n'
;
}
else
{
// Body generated.
return
(
pWBuf
-
pData
);
}
}
}
}
}
}
return
(
pWBuf
-
pData
);
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment