#include <mime.h>
Inheritance diagram for PMIMEInfo:
Public Member Functions | |
PMIMEInfo (istream &strm) | |
PMIMEInfo (PInternetProtocol &socket) | |
virtual void | PrintOn (ostream &strm) const |
virtual void | ReadFrom (istream &strm) |
PBoolean | SetAt (const char *key, const PString value) |
PBoolean | SetAt (const PString &key, const PString value) |
PBoolean | SetAt (const PCaselessString &key, const PString value) |
PBoolean | Contains (const char *key) const |
PBoolean | Contains (const PString &key) const |
PBoolean | Contains (const PCaselessString &key) const |
PBoolean | Read (PInternetProtocol &socket) |
PBoolean | Write (PInternetProtocol &socket) const |
PBoolean | AddMIME (const PString &line) |
PBoolean | AddMIME (const PString &fieldName, const PString &_fieldValue) |
PString | GetString (const PString &key, const PString &dflt=PString::Empty()) const |
long | GetInteger (const PString &key, long dflt=0) const |
void | SetInteger (const PCaselessString &key, long value) |
Static Public Member Functions | |
static void | SetAssociation (const PStringToString &allTypes, PBoolean merge=PTrue) |
static void | SetAssociation (const PString &fileType, const PString &contentType) |
static PString | GetContentType (const PString &fileType) |
PMIMEInfo::PMIMEInfo | ( | istream & | strm | ) |
strm | Stream to read the objects contents from. |
PMIMEInfo::PMIMEInfo | ( | PInternetProtocol & | socket | ) |
socket | Application socket to read MIME info. |
Add a MIME field given a "name: value" format string. Note that if the field name was already in the MIME dictionary then this will append the new value after a '
' character to the previous value.
PBoolean PMIMEInfo::Contains | ( | const PCaselessString & | key | ) | const [inline] |
Determine if the specified key is present in the MIME information set.
key | Key into MIME dictionary to get info. |
Determine if the specified key is present in the MIME information set.
key | Key into MIME dictionary to get info. |
PBoolean PMIMEInfo::Contains | ( | const char * | key | ) | const [inline] |
Determine if the specified key is present in the MIME information set.
key | Key into MIME dictionary to get info. |
Look up the file type to MIME content type association dictionary and return the MIME content type string. If the file type is not found in the dictionary then the string "application/octet-stream" is returned.
fileType | File type (extension) to look up. |
long PMIMEInfo::GetInteger | ( | const PString & | key, | |
long | dflt = 0 | |||
) | const |
Get an integer value for the particular MIME info field with checking for existance. The dflt# parameter is substituted if the field does not exist in the MIME information read in.
key | Key into MIME dictionary to get info. |
dflt | Default value of field if not in MIME info. |
Get a string for the particular MIME info field with checking for existance. The dflt# parameter is substituted if the field does not exist in the MIME information read in.
key | Key into MIME dictionary to get info. |
dflt | Default value of field if not in MIME info. |
virtual void PMIMEInfo::PrintOn | ( | ostream & | strm | ) | const [virtual] |
Output the contents of the MIME dictionary to the stream. This is primarily used by the standard #operator<<## function.
strm | Stream to print the object into. |
Reimplemented from PAbstractDictionary.
PBoolean PMIMEInfo::Read | ( | PInternetProtocol & | socket | ) |
Read MIME information from the socket.
socket | Application socket to read MIME info. |
virtual void PMIMEInfo::ReadFrom | ( | istream & | strm | ) | [virtual] |
Input the contents of the MIME dictionary from the stream. This is primarily used by the standard #operator>>## function.
strm | Stream to read the objects contents from. |
Reimplemented from PStringToString.
static void PMIMEInfo::SetAssociation | ( | const PString & | fileType, | |
const PString & | contentType | |||
) | [inline, static] |
fileType | File type (extension) to match. |
contentType | MIME content type string. |
static void PMIMEInfo::SetAssociation | ( | const PStringToString & | allTypes, | |
PBoolean | merge = PTrue | |||
) | [static] |
Set an association between a file type and a MIME content type. The content type is then sent for any file in the directory sub-tree that has the same extension.
Note that if the merge# parameter if PTrue then the dictionary is merged into the current association list and is not a simple replacement.
The default values placed in this dictionary are: {verbatim}
".txt", "text/plain" ".text", "text/plain" ".html", "text/html" ".htm", "text/html" ".aif", "audio/aiff" ".aiff", "audio/aiff" ".au", "audio/basic" ".snd", "audio/basic" ".wav", "audio/wav" ".gif", "image/gif" ".xbm", "image/x-bitmap" ".tif", "image/tiff" ".tiff", "image/tiff" ".jpg", "image/jpeg" ".jpe", "image/jpeg" ".jpeg", "image/jpeg" ".avi", "video/avi" ".mpg", "video/mpeg" ".mpeg", "video/mpeg" ".qt", "video/quicktime" ".mov", "video/quicktime" {verbatim}
The default content type will be "application/octet-stream".
allTypes | MIME content type associations. |
merge | Flag for merging associations. |
PBoolean PMIMEInfo::SetAt | ( | const PCaselessString & | key, | |
const PString | value | |||
) | [inline] |
Add a new value to the MIME info. If the value is already in the dictionary then this overrides the previous value.
Add a new value to the MIME info. If the value is already in the dictionary then this overrides the previous value.
Add a new value to the MIME info. If the value is already in the dictionary then this overrides the previous value.
void PMIMEInfo::SetInteger | ( | const PCaselessString & | key, | |
long | value | |||
) |
Set an integer value for the particular MIME info field.
key | Key into MIME dictionary to get info. |
value | New value of field. |
PBoolean PMIMEInfo::Write | ( | PInternetProtocol & | socket | ) | const |
Write MIME information to the socket.
socket | Application socket to write MIME info. |