Dacons LLP Mailit for C/C++ Version 1.0.8

EmaiMessage.h File Reference

Message functionality, used for composing and parsing MIME messages. More...

#include <EmaiObject.h>

Go to the source code of this file.

Classes

struct  EmaiPlainTextPartData
 plain/text More...
struct  EmaiHtmlTextPartData
 plain/html More...
struct  EmaiUnicodeTextPartData
 plain/text More...
struct  EmaiDataPartData
 Attachment direct data. More...
struct  EmaiFilePartData
 This structure allows to automatically load and encode external file as attachment or inline image. More...
struct  EmaiCompositePartData
 Composite part data. More...
struct  EmaiPartData
 EmaiPartData. More...

Typedefs

typedef EmaiOpaqueMessage * EmaiMessage
 EmaiMessage represents message object in RFC822 format.
typedef EmaiOpaqueMessagePart * EmaiMessagePart
 EmaiMessagePart represents message part of the RFC822 message.
typedef EmaiOpaqueStringList * EmaiStringList
 EmaiStringList is an object which allow you to hold a list of unicode strings and access them by index.
typedef EmaiOpaqueContactList * EmaiContactList
 EmaiContactList is an object which simplify operations with contacts (from, to, cc etc) in message object.
typedef EmaiOpaqueContentField * EmaiContentField
 EmaiContentField object can be used to setup or retrieve parsed field data for Content-Type and Content-Disposition fields. For Content-Type field value member contains media type of the message part ("text/plain", "application/octet-stream", etc) For Content-Disposition field value member contains disposition of the message part ("attachment", "inline" etc).

Enumerations

enum  EmaiEnumMessageCharset {
  EmaiUSASCII, EmaiKOI_8R, EmaiKOI_8U, EmaiISO8859_1,
  EmaiISO8859_2, EmaiISO8859_3, EmaiISO8859_4, EmaiISO8859_5,
  EmaiISO8859_6, EmaiISO8859_7, EmaiISO8859_8, EmaiISO8859_9,
  EmaiISO8859_10, EmaiISO8859_11, EmaiISO8859_13, EmaiISO8859_14,
  EmaiISO8859_15, EmaiISO8859_16, EmaiWindows1250, EmaiWindows1251,
  EmaiWindows1252, EmaiWindows1253, EmaiWindows1254, EmaiWindows1255,
  EmaiWindows1256, EmaiWindows1257, EmaiWindows1258, EmaiBig5,
  EmaiKSC5601_1987, EmaiGB2312, EmaiISO_2022_JP, EmaiISO_2022_JP_2,
  EmaiISO_2022_JP_1, EmaiISO_2022_JP_3, EmaiCSISO_2022_JP, EmaiEUC_JP,
  EmaiISO_2022_CN, EmaiISO_2022_CN_EXT, EmaiHZ_GB_2312, EmaiISO_2022_KR,
  EmaiEUC_KR, EmaiUTF_8, EmaiMacRomanLatin1, EmaiUnknown = 0xFFFFFFFF
}
 Character sets constants. More...
enum  EmaiEnumMessageFieldType {
  EmaiFrom = 1, EmaiTo, EmaiCC, EmaiSender,
  EmaiReplyTo, EmaiBCC, EmaiSubject, EmaiMimeVersion,
  EmaiXPriority
}
 Options for EmaiMessageSetContactList, EmaiMessageCopyContactList, EmaiMessageSetField and EmaiMessageGetFieldByName functions. More...
enum  { EmaiFailOnUnknownCharset = 0x8000000 }
 Options for EmaiMessageCopyContactList, EmaiMessageGetFieldByName, EmaiMessageGetFields functions This option allows to control when corresponding functions returns EmaiErrChartset error code. When this option is not specified library ignores unknown charsets and returns data as it appears in message source code. More...
enum  EmaiEnumMessageEncoding {
  EmaiEncodingAutomatic, EmaiEncodingBase64, EmaiEncodingQuotedPrintable, EmaiEncoding7bit,
  EmaiEncodingUnknown
}
 Encodings supported by the library. More...
enum  EmaiEnumMessagePartType {
  EmaiPartPlainTextData, EmaiPartUnicodeTextData, EmaiPartHTMLData, EmaiPartDataData,
  EmaiPartFileData, EmaiPartCompositeData
}
 Values for partFormat member of EmaiPartData structure.
The following values are valid for EmaiStructureVersionFirst version of EmaiPartData structure. More...
enum  { EmaiGetUnicodeTextData, EmaiGetNativeTextData }
 Options for EmaiMessagePartGetData function. More...

Functions

 EmaiStringListCreate (EmaiStringList *outStringList, EmaiOptions inOptions)
 Creates emtpy string list object.
 EmaiStringListGetCount (EmaiStringList inStringList, EmaiUint32 *outCount, EmaiOptions inOptions)
 Retrieves the number of the item at the string list.
 EmaiStringListAddString (EmaiStringList inStringList, EmaiConstUniCharPtr inString, EmaiOptions inOptions)
 Adds the string to the end of the string list.
 EmaiStringListGetString (EmaiStringList inStringList, EmaiUint32 inIndex, EmaiOptions inOptions)
 Extracts friendly contact name from the contact list, at the specified index.
 EmaiContactListCreate (EmaiContactList *outContactList, EmaiOptions inOptions)
 Creates an emtpy contact list object.
 EmaiContactListGetCount (EmaiContactList inContactList, EmaiUint32 *outCount, EmaiOptions inOptions)
 Retrieves the number of records in contact list.
 EmaiContactListAddContact (EmaiContactList inContactList, EmaiConstUniCharPtr inName, EmaiConstUniCharPtr inAddress, const void *inReserved, EmaiOptions inOptions)
 Adds a contact to the contact list.
 EmaiContactListGetContactName (EmaiContactList inContactList, EmaiUint32 inIndex, EmaiOptions inOptions)
 Extracts friendly contact name from the contact list, at the specified index.
 EmaiContactListGetContactAddress (EmaiContactList inContactList, EmaiUint32 inIndex, EmaiOptions inOptions)
 Extracts e-mail address from the contact list, at the specified index.
 EmaiContentFieldCreate (EmaiContentField *outContentField, EmaiConstUniCharPtr inValue, EmaiOptions inOptions)
 Creates an emtpy content field object.
 EmaiContentFieldAddParameter (EmaiContentField inContentField, EmaiConstUniCharPtr inParamName, EmaiConstUniCharPtr inParamValue, EmaiOptions inOptions)
 Adds parameter name and parameter value to the field object.
 EmaiContentFieldGetValue (EmaiContentField inContentField, EmaiOptions inOptions)
 Extracts the value from the content field.
 EmaiContentFieldGetParameterCount (EmaiContentField inContentField, EmaiUint32 *outCount, EmaiOptions inOptions)
 Retrieves the number of parameters at the content field.
 EmaiContentFieldGetParameterName (EmaiContentField inContentField, EmaiUint32 inIndex, EmaiOptions inOptions)
 Extracts parameter name at the specified index, from the content field.
 EmaiContentFieldGetParameterValue (EmaiContentField inContentField, EmaiUint32 inIndex, EmaiOptions inOptions)
 Extracts parameter value at the specified index, from the content field.
 EmaiContentFieldFindParameterValue (EmaiContentField inContentField, EmaiConstUniCharPtr inParamName, EmaiOptions inOptions)
 Finds parameter value with specified name, from the content field.
 EmaiMessageCreate (EmaiMessage *outMessage, EmaiMessagePart inRootMessagePart, EmaiOptions inOptions)
 Creates message object from message part.
 EmaiMessageCreateFromData (EmaiMessage *outMessage, const void *inData, EmaiUint32 inDataSize, EmaiOptions inOptions)
 Creates message object from MIME message source code.
 EmaiMessageSetField (EmaiMessage inMessage, EmaiConstUniCharPtr inFieldName, EmaiConstUniCharPtr inFieldValue, EmaiOptions inOptions)
 Adds/replaces field to/at the message header.
 EmaiMessageSetContactList (EmaiMessage inMessage, EmaiContactList inContactList, EmaiOptions inOptions)
 Adds contact field to the message header.
 EmaiMessagePartCreate (EmaiMessagePart *outMessagePart, const EmaiPartData *inData, EmaiOptions inOptions)
 Creates message part from the specified data.
 EmaiMessagePartAddSubParts (EmaiMessagePart inCompositeMessagePart, const EmaiMessagePart inSubParts[], EmaiUint32 inSubPartCount, EmaiOptions inOptions)
 Appends subparts to the composite part, created via EmaiMessagePartCreateComposite.
 EmaiMessageGetRootPart (EmaiMessage inMessage, EmaiMessagePart *outRootMessagePart, EmaiOptions inOptions)
 Retrieves the root message part from message object .
 EmaiMessagePartGetMessage (EmaiMessagePart inMessagePart, EmaiMessage *outMessage, EmaiOptions inOptions)
 Retrieves the message object from message part.
 EmaiMessagePartGetSubParts (EmaiMessagePart inCompositeMessagePart, EmaiMessagePart outSubParts[], EmaiUint32 *ioSubPartCount, EmaiOptions inOptions)
 Retrieves subparts from composite message part.
 EmaiMessagePartGetData (EmaiMessagePart inMessagePart, EmaiPartData *outData, EmaiOptions inOptions)
 Retrieves the data from the message part.
 EmaiMessageCopyFields (EmaiMessage inMessage, EmaiStringList *outFieldNames, EmaiStringList *outFieldValues, EmaiOptions inOptions)
 Retrieves fields from message header.
 EmaiMessageGetFieldByName (EmaiMessage inMessage, EmaiConstUniCharPtr inFieldName, EmaiConstUniCharPtr *outFieldValue, EmaiOptions inOptions)
 Retrieves field content.
 EmaiMessageGetData (EmaiMessage inMessage, const void **outData, EmaiUint32 *outHeaderSize, EmaiUint32 *outDataSize, EmaiOptions inOptions)


Detailed Description

Message functionality, used for composing and parsing MIME messages.

Version:
Mailit for C/C++ 1.0
Author:
(C) 2008 Dacons LLP.

Definition in file EmaiMessage.h.


Enumeration Type Documentation

anonymous enum

Options for EmaiMessageCopyContactList, EmaiMessageGetFieldByName, EmaiMessageGetFields functions This option allows to control when corresponding functions returns EmaiErrChartset error code. When this option is not specified library ignores unknown charsets and returns data as it appears in message source code.

See also:
EmaiMessageCopyContactList

EmaiMessageGetFieldByName

EmaiMessageGetFields

Enumerator:
EmaiFailOnUnknownCharset 

Definition at line 510 of file EmaiMessage.h.

00511 {
00512     EmaiFailOnUnknownCharset                    = 0x8000000
00513 };

anonymous enum

Options for EmaiMessagePartGetData function.

See also:
EmaiMessagePartGetData
Enumerator:
EmaiGetUnicodeTextData 
EmaiGetNativeTextData 

Definition at line 779 of file EmaiMessage.h.

00780 {
00781     EmaiGetUnicodeTextData,
00782     EmaiGetNativeTextData
00783 };

Character sets constants.

See also:
EmaiPartData

EmaiPlainTextPartData

Enumerator:
EmaiUSASCII 
EmaiKOI_8R 
EmaiKOI_8U 
EmaiISO8859_1 
EmaiISO8859_2 
EmaiISO8859_3 
EmaiISO8859_4 
EmaiISO8859_5 
EmaiISO8859_6 
EmaiISO8859_7 
EmaiISO8859_8 
EmaiISO8859_9 
EmaiISO8859_10 
EmaiISO8859_11 
EmaiISO8859_13 
EmaiISO8859_14 
EmaiISO8859_15 
EmaiISO8859_16 
EmaiWindows1250 
EmaiWindows1251 
EmaiWindows1252 
EmaiWindows1253 
EmaiWindows1254 
EmaiWindows1255 
EmaiWindows1256 
EmaiWindows1257 
EmaiWindows1258 
EmaiBig5 
EmaiKSC5601_1987 
EmaiGB2312 
EmaiISO_2022_JP 
EmaiISO_2022_JP_2 
EmaiISO_2022_JP_1 
EmaiISO_2022_JP_3 
EmaiCSISO_2022_JP 
EmaiEUC_JP 
EmaiISO_2022_CN 
EmaiISO_2022_CN_EXT 
EmaiHZ_GB_2312 
EmaiISO_2022_KR 
EmaiEUC_KR 
EmaiUTF_8 
EmaiMacRomanLatin1 
EmaiUnknown 

Definition at line 62 of file EmaiMessage.h.

Encodings supported by the library.

See also:
EmaiPartData
Enumerator:
EmaiEncodingAutomatic 
EmaiEncodingBase64 
EmaiEncodingQuotedPrintable 
EmaiEncoding7bit 
EmaiEncodingUnknown 

Definition at line 522 of file EmaiMessage.h.

Options for EmaiMessageSetContactList, EmaiMessageCopyContactList, EmaiMessageSetField and EmaiMessageGetFieldByName functions.

See also:
EmaiMessageSetContactList

EmaiMessageCopyContactList

EmaiMessageSetField

EmaiMessageGetFieldByName

Enumerator:
EmaiFrom 
EmaiTo 
EmaiCC 
EmaiSender 
EmaiReplyTo 
EmaiBCC 
EmaiSubject 
EmaiMimeVersion 
EmaiXPriority 

Definition at line 443 of file EmaiMessage.h.

00444 {
00445     EmaiFrom                                = 1,
00446     EmaiTo,
00447     EmaiCC,
00448     EmaiSender,
00449     EmaiReplyTo,
00450     EmaiBCC,
00451     
00452     EmaiSubject,
00453     EmaiMimeVersion,
00454     EmaiXPriority,
00455 };

Values for partFormat member of EmaiPartData structure.
The following values are valid for EmaiStructureVersionFirst version of EmaiPartData structure.

See also:
EmaiPartData
Enumerator:
EmaiPartPlainTextData 
EmaiPartUnicodeTextData 
EmaiPartHTMLData 
EmaiPartDataData 
EmaiPartFileData 
EmaiPartCompositeData 

Definition at line 610 of file EmaiMessage.h.


Function Documentation

EmaiContactListAddContact ( EmaiContactList  inContactList,
EmaiConstUniCharPtr  inName,
EmaiConstUniCharPtr  inAddress,
const void *  inReserved,
EmaiOptions  inOptions 
)

Adds a contact to the contact list.

Parameters:
inContactList - contact list to be modified
inName - friendly contact name.
The parameter inName can also be used to pass a combined value (name and address) in the format of "name" <address> to the plug-in. In this case the inAddress parameter should be empty.
inAddress - e-mail address of the contact
inReserved - Reserved for future version, pass NULL
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::ContactList::AddContact

Referenced by Emai::ContactList::AddContact().

EmaiContactListCreate ( EmaiContactList outContactList,
EmaiOptions  inOptions 
)

Creates an emtpy contact list object.

Parameters:
outContactList - on successful exit contains created list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::ContactList::ContactList().

EmaiContactListGetContactAddress ( EmaiContactList  inContactList,
EmaiUint32  inIndex,
EmaiOptions  inOptions 
)

Extracts e-mail address from the contact list, at the specified index.

Parameters:
inContactList - contact list to be examined
inIndex - zero-based index of the contact in the list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string which contains contact's e-mail address. The function returns NULL if invalid parameters are specified (i.e. inContactList is not valid list or inIndex is out of range)
See also:
Emai::ContactList::GetAddress

Referenced by Emai::ContactList::GetAddress().

EmaiContactListGetContactName ( EmaiContactList  inContactList,
EmaiUint32  inIndex,
EmaiOptions  inOptions 
)

Extracts friendly contact name from the contact list, at the specified index.

Parameters:
inContactList - contact list to be examined
inIndex - zero-based index of the contact in the list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string which contains friendly contact name. The function returns NULL if invalid parameters are specified (i.e. inContactList is not valid list or inIndex is out of range)
See also:
Emai::ContactList::GetName

Referenced by Emai::ContactList::GetName().

EmaiContactListGetCount ( EmaiContactList  inContactList,
EmaiUint32 *  outCount,
EmaiOptions  inOptions 
)

Retrieves the number of records in contact list.

Parameters:
inContactList - contact list to be examined
outCount - on successful exit contains number of the records in the list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::ContactList::GetCount

Referenced by Emai::ContactList::GetCount().

EmaiContentFieldAddParameter ( EmaiContentField  inContentField,
EmaiConstUniCharPtr  inParamName,
EmaiConstUniCharPtr  inParamValue,
EmaiOptions  inOptions 
)

Adds parameter name and parameter value to the field object.

Parameters:
outContentField - on successful exit contains created object
inParamName - parameter name to be added (for example: "filename")
inParamValue - parameter value to be added (for example: "my file.txt")
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::ContentField::AddParameter

Referenced by Emai::ContentField::AddParameter().

EmaiContentFieldCreate ( EmaiContentField outContentField,
EmaiConstUniCharPtr  inValue,
EmaiOptions  inOptions 
)

Creates an emtpy content field object.

Parameters:
outContentField - on successful exit contains created object
inValue - corresponding field value:
For Content-Type field, should contain apropriate content type (for example: "text/plain", "application/octet-stream", etc) For Content-Disposition field, should contain apropriate disposition type (for example: "attachment", "inline", etc)
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::ContentField::ContentField().

EmaiContentFieldFindParameterValue ( EmaiContentField  inContentField,
EmaiConstUniCharPtr  inParamName,
EmaiOptions  inOptions 
)

Finds parameter value with specified name, from the content field.

Parameters:
inContentField - content field to be examined
inParamName - parameter name to be found
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string which contains parameter value. The function returns NULL if invalid parameters are specified (i.e. inContentField is not valid object or parameter with the specified name is not found in the field)
See also:
Emai::ContentField::FindParameterValue

Referenced by Emai::ContentField::FindParameterValue().

EmaiContentFieldGetParameterCount ( EmaiContentField  inContentField,
EmaiUint32 *  outCount,
EmaiOptions  inOptions 
)

Retrieves the number of parameters at the content field.

Parameters:
inContentField - content field to be examined
outCount - on successful exit contains the number of the paramets at the content field
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::ContentField::GetParameterCount

Referenced by Emai::ContentField::GetParameterCount().

EmaiContentFieldGetParameterName ( EmaiContentField  inContentField,
EmaiUint32  inIndex,
EmaiOptions  inOptions 
)

Extracts parameter name at the specified index, from the content field.

Parameters:
inContentField - content field to be examined
inIndex - zero-based index of the parameter in the field
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string which contains parameter name. The function returns NULL if invalid parameters are specified (i.e. inContentField is not valid object or inIndex is out of range)
See also:
Emai::ContentField::GetParameterName

Referenced by Emai::ContentField::GetParameterName().

EmaiContentFieldGetParameterValue ( EmaiContentField  inContentField,
EmaiUint32  inIndex,
EmaiOptions  inOptions 
)

Extracts parameter value at the specified index, from the content field.

Parameters:
inContentField - content field to be examined
inIndex - zero-based index of the parameter in the field
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string which contains parameter value. The function returns NULL if invalid parameters are specified (i.e. inContentField is not valid object or inIndex is out of range)
See also:
Emai::ContentField::GetParameterValue

Referenced by Emai::ContentField::GetParameterValue().

EmaiContentFieldGetValue ( EmaiContentField  inContentField,
EmaiOptions  inOptions 
)

Extracts the value from the content field.

Parameters:
inContentField - content field to be examined
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string which contains value of the field. The function returns NULL if invalid parameters are specified (i.e. inContentField is not valid object)
See also:
Emai::ContentField::GetValue

Referenced by Emai::ContentField::GetValue().

EmaiMessageCopyFields ( EmaiMessage  inMessage,
EmaiStringList outFieldNames,
EmaiStringList outFieldValues,
EmaiOptions  inOptions 
)

Retrieves fields from message header.

Parameters:
inMessage - message object to be examined
outFieldName - on exit will be filled with copy of field names, caller is responsible for releasing of returned list
outFieldValues - on exit will be filled with copy of field values, caller is responsible for releasing of returned list
inOptions - EmaiFailOnUnknownCharset or EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

EmaiMessageCreate ( EmaiMessage outMessage,
EmaiMessagePart  inRootMessagePart,
EmaiOptions  inOptions 
)

Creates message object from message part.

Parameters:
outMessage - on successful exit contains created message
inRootMessagePart - root message part, created using EmaiMessagePartCreateYYY functions
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::Message::Message().

EmaiMessageCreateFromData ( EmaiMessage outMessage,
const void *  inData,
EmaiUint32  inDataSize,
EmaiOptions  inOptions 
)

Creates message object from MIME message source code.

Parameters:
outMessage - on successful exit contains created message
inData - pointer to the RFC822 message source code
inDataSize - size (in bytes) of the message source code
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::Message::Message().

EmaiMessageGetData ( EmaiMessage  inMessage,
const void **  outData,
EmaiUint32 *  outHeaderSize,
EmaiUint32 *  outDataSize,
EmaiOptions  inOptions 
)

Parameters:
outData  can be NULL
outHeaderSize  can be NULL
outDataSize  can be NULL

Referenced by Emai::Message::GetData().

EmaiMessageGetFieldByName ( EmaiMessage  inMessage,
EmaiConstUniCharPtr  inFieldName,
EmaiConstUniCharPtr outFieldValue,
EmaiOptions  inOptions 
)

Retrieves field content.

Parameters:
inMessage - message object to be examined
inFieldName - field name which content should be retrieved
outFieldValue - pointer on EmaiConstUniCharPtr, which will be filled with internaly stored decoded field content. The value is undefined, if function returns non-EmaiErrNoErr error code. The field value is stored internally in message object and you should not modify or release it
inOptions - EmaiFailOnUnknownCharset or EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::Message::GetField

Referenced by Emai::Message::GetField().

EmaiMessageGetRootPart ( EmaiMessage  inMessage,
EmaiMessagePart outRootMessagePart,
EmaiOptions  inOptions 
)

Retrieves the root message part from message object .

Parameters:
inMessage - message object to be examined
outRootMessagePart - on successful exit contains root message part object
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::Message::GetRootPart().

EmaiMessagePartAddSubParts ( EmaiMessagePart  inCompositeMessagePart,
const EmaiMessagePart  inSubParts[],
EmaiUint32  inSubPartCount,
EmaiOptions  inOptions 
)

Appends subparts to the composite part, created via EmaiMessagePartCreateComposite.

Parameters:
inCompositeMessagePart - composite message part to be modified
inSubParts - an array of message parts to be added to the composite part
inSubPartCount - number of items in inSubPart array
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::MessagePart::AddSubParts

Referenced by Emai::MessagePart::AddSubParts().

EmaiMessagePartCreate ( EmaiMessagePart outMessagePart,
const EmaiPartData inData,
EmaiOptions  inOptions 
)

Creates message part from the specified data.

Parameters:
outMessagePart - on successful function return contains newly created message part
inData - pointer to the data to be used for the part
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::MessagePart::MessagePart().

EmaiMessagePartGetData ( EmaiMessagePart  inMessagePart,
EmaiPartData outData,
EmaiOptions  inOptions 
)

Retrieves the data from the message part.

Parameters:
inMessagePart - message part object to be examined
outData - on successful function exit is filled with message part data, this data is stored internally in the message part object - you should not modify of release it
inOptions - EmaiGetUnicodeTextData or EmaiGetNativeTextData, this parameter value is ignored when message part is not text part, for text parts the parameter control how outData is filled: as EmaiPartUnicodeTextData or as EmaiPartPlainTextData
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::MessagePart::GetData

Referenced by Emai::MessagePart::GetData().

EmaiMessagePartGetMessage ( EmaiMessagePart  inMessagePart,
EmaiMessage outMessage,
EmaiOptions  inOptions 
)

Retrieves the message object from message part.

Parameters:
inMessagePart - message part object to be examined
outMessage - on successful exit contains message which contains the message part, or NULL if the part wasn't added to the message
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

EmaiMessagePartGetSubParts ( EmaiMessagePart  inCompositeMessagePart,
EmaiMessagePart  outSubParts[],
EmaiUint32 *  ioSubPartCount,
EmaiOptions  inOptions 
)

Retrieves subparts from composite message part.

Parameters:
inCompositeMessagePart - message part object to be examined
outSubParts - if non-NULL on successful function exit this array is filled with subparts, otherwise ioSubPartCount will contain number of subparts
ioSubPartCount - if outSubParts is non-NULL, the number of items at the outSubParts array is passed in function and number of actually written items is returned on exit. If outSubParts is NULL, input value of the parameter is ignored, and number of subparts is returned on function exit
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::MessagePart::GetSubParts
Parameters:
outSubParts  can be NULL

Referenced by Emai::MessagePart::GetSubParts().

EmaiMessageSetContactList ( EmaiMessage  inMessage,
EmaiContactList  inContactList,
EmaiOptions  inOptions 
)

Adds contact field to the message header.

Parameters:
inMessage - message object to be modified
inContactList - list of contacts
inOptions - specifies what kind of contact should be added (EmaiFrom, EmaiTo, etc)
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::Message::SetContactList().

EmaiMessageSetField ( EmaiMessage  inMessage,
EmaiConstUniCharPtr  inFieldName,
EmaiConstUniCharPtr  inFieldValue,
EmaiOptions  inOptions 
)

Adds/replaces field to/at the message header.

Parameters:
inMessage - message object to be modified
inFieldName - field name; if inFieldName is non-NULL, then inOptions parameter should be EmaiNullOptions; / if inFieldName is NULL, then inOptions parameter should specify one of the contact fields (EmaiFrom, EmaiTo, etc)
inFieldValue - field value, if NULL - the field is removed from the message header
inOptions - EmaiNullOptions, or EmaiFrom, EmaiTo, etc
Returns:
Result code (See EmaiEnumResultCodes)
See also:
Emai::Message::SetField

Referenced by Emai::Message::SetField().

EmaiStringListAddString ( EmaiStringList  inStringList,
EmaiConstUniCharPtr  inString,
EmaiOptions  inOptions 
)

Adds the string to the end of the string list.

Parameters:
inStringList - string list to be modified
inString - the string to be added to the list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::StringList::AddString().

EmaiStringListCreate ( EmaiStringList outStringList,
EmaiOptions  inOptions 
)

Creates emtpy string list object.

Parameters:
outStringList - on successful exit contains created list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::StringList::StringList().

EmaiStringListGetCount ( EmaiStringList  inStringList,
EmaiUint32 *  outCount,
EmaiOptions  inOptions 
)

Retrieves the number of the item at the string list.

Parameters:
inStringList - string list to be examined
outCount - on successful exit contains number of items in the list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Result code (See EmaiEnumResultCodes)

Referenced by Emai::StringList::GetCount().

EmaiStringListGetString ( EmaiStringList  inStringList,
EmaiUint32  inIndex,
EmaiOptions  inOptions 
)

Extracts friendly contact name from the contact list, at the specified index.

Parameters:
inStringList - string list to be examined
inIndex - zero-based index of the contact at the list
inOptions - not used in current version, use EmaiNullOptions
Returns:
Zero-terminated unicode string, which contains the requested string. The function returns NULL if invalid parameters are used (i.e. inStringList is not valid list, or inIndex is out of range)

Referenced by Emai::StringList::GetString().