diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita --- a/Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-382B8A9D-9D10-54CD-91A6-B9E7A2477662.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,78 +1,84 @@ - - - - - -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.

+ + + + + +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(MMsvSessionObserver +&) function.

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

  • +
  • After setting +the entry, the application gets a selection containing the IDs of +all the context children, using the CMsvEntry::ChildrenL()const 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(RSendAs &,TSendAsAccount) 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(const +CRichText &)function.

  • +
  • The recipients are added using the RSendAsMessage::AddRecipientL(const +TDesC &,TSendAsRecipientType) 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