summaryrefslogtreecommitdiff
path: root/include/tools/inetmime.hxx
diff options
context:
space:
mode:
authorChr. Rossmanith <ChrRossmanith@gmx.de>2014-05-08 12:00:30 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-05-09 16:01:30 +0200
commit2c9d68ff56d02350eda752d699f5ba0425e06142 (patch)
treee20bd75d3ce7b42de192ebbfaca66aa86a53a436 /include/tools/inetmime.hxx
parent797c8e71e9c7e0e99d3aa396804d2e56b1740f4f (diff)
move INetContentTypes::scan() to INetMIME::scanContentType()
to avoid circular dependencies between svl and tools when using INetContentType::scan functionality for future handling of data urls in urlobj.cxx Change-Id: Iad13286769e8906aebf8208e4f532151ff2f3d13 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'include/tools/inetmime.hxx')
-rw-r--r--include/tools/inetmime.hxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/tools/inetmime.hxx b/include/tools/inetmime.hxx
index 04b3141c020d..7190c386d0de 100644
--- a/include/tools/inetmime.hxx
+++ b/include/tools/inetmime.hxx
@@ -356,6 +356,41 @@ public:
INetContentTypeParameterList *
pParameters);
+ /** Parse the body of an RFC 2045 Content-Type header field.
+
+ @param pBegin The range (that must be valid) from non-null pBegin,
+ inclusive. to non-null pEnd, exclusive, forms the body of the
+ Content-Type header field. It must be of the form
+
+ token "/" token *(";" token "=" (token / quoted-string))
+
+ with intervening linear white space and comments (cf. RFCs 822, 2045).
+ The RFC 2231 extension are supported. The encoding of rMediaType
+ should be US-ASCII, but any Unicode values in the range U+0080..U+FFFF
+ are interpretet 'as appropriate.'
+
+ @param pType If not null, returns the type (the first of the above
+ tokens), in US-ASCII encoding and converted to lower case.
+
+ @param pSubType If not null, returns the sub-type (the second of the
+ above tokens), in US-ASCII encoding and converted to lower case.
+
+ @param pParameters If not null, returns the parameters as a list of
+ INetContentTypeParameters (the attributes are in US-ASCII encoding and
+ converted to lower case, the values are in Unicode encoding). If
+ null, only the syntax of the parameters is checked, but they are not
+ returned.
+
+ @return Null if the syntax of the field body is incorrect (i.e., does
+ not start with type and sub-type tokens). Otherwise, a pointer past the
+ longest valid input prefix. If null is returned, none of the output
+ parameters will be modified.
+ */
+ static sal_Unicode const * scanContentType(
+ sal_Unicode const *pBegin, sal_Unicode const * pEnd,
+ OUString * pType = 0, OUString * pSubType = 0,
+ INetContentTypeParameterList * pParameters = 0);
+
static inline rtl_TextEncoding translateToMIME(rtl_TextEncoding
eEncoding);