diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,78 @@ + + + + + +SendAs +v2.0 +
Description

The +application establishes a session with the SendAs server, sets +a message entry, creates a message, sets its body text, adds a recipient, +sends the message and closes the session. The sequence of events is detailed +in the following list:

    +
  • Create a session with +the SendAs server using CMsvSession::OpenSyncL() function.

  • +
  • Set the message entry +using the CMsvEntry::SetEntryL() function.

  • +
  • After setting the entry, +the application gets a selection containing the IDs of all the context children, +using the CMsvEntry::ChildrenL() function.

  • +
  • The connection to the +server is made using the default number of message slots available to a session, +which is 4, (KSendAsDefaultMessageSlots).

  • +
  • The draft folder is +emptied, before creating a new message.

  • +
  • Fetch the names and +UIDs for the filtered list of message types using the RSendAs::FilteredMessageTypesL() function +to create a SendAs message. Then the UID based on the message type is returned, +and with the entry set on the drafts folder a SendAs message is created by +calling the RSendAsMessage::CreateL() function.

  • +
  • Set a body text for +the message and specify the recipients. In this example, the body text is +set using an option, which is read from the user. Option given to the user +are '1' for 8-bit encoding, '2' for 16-bit encoding and '0' or by default +its unicode type of encoding. The encoded descriptor is set as the message's +body text using the RSendAsMessage::SetBodyTextL()function.

  • +
  • The recipients are added using the RSendAsMessage::AddRecipientL() function. +The recipient's address is held in a descriptor. The alias is the displayed +recipient name.

  • +
  • The recipient type is +one of the TSendAsRecipientType enumeration values, that +is, one of the following:

      +
    • ESendAsRecipientTo - +The recipient goes in the 'To' field.

    • +
    • ESendAsRecipientCc - +The recipient goes in the 'Cc' field

    • +
    • ESendAsRecipientBcc - +The recipient goes in the 'Bcc' field

    • +

    If the 'Cc' field is not supported, the recipient will instead be +added to the 'To' field since these are functionally equivalent.

    If +the 'Bcc' field is not supported, this function will return KErrNotSupported.

  • +

The example also displays the names of the accounts present in the +list.

To demonstrate this, 3 new accounts are appended and they are +displayed in a for-loop by calling CSendAsAccounts::AccountNames().MdcaPoint(i), +where the MdcaPoint() function takes in the integer value +of the current iteration in the for-loop and indexes into a descriptor array.

The +example also demonstrates how to refine the available message types of the +connected session using the RSendAs::FilterAgainstCapability() function.

The RSendAsMessage::SendMessage() function is used asynchronously to send the message. Finally the RsendAs::Close() function +is used to end the session with SendAs server.

+
Download

Click +on the following link to download the example: sendAs.zip

Click: browse to view the example code.

+
Class summary

The SendAs v2 example application +uses the following classes:

CMsvEntry MMsvEntryObserver CMsvSession RSendAs CSendAsMessageTypes CSendAsAccounts CSendAsAccounts CMsvOperationWait RSendAsMessage

+
Build

The Symbian build process describes +how to build an application.

The SendAs example builds an executable +called SendAs2Example.exe in the standard location (\epoc32\release\winscw\ <build_variant> for +CodeWarrior). After launching the executable, depending on the emulator you +are using, you may need to task away from the app launcher/shell screen to +view the console.

+
See also

To +create advanced applications using the SendAs API refer to the complete SendAs API reference +documentation, which details all the features of the API.

+
\ No newline at end of file