MProtocolImConversation Class Reference

class MProtocolImConversation : public MXIMPBase

Interface for IM protocol message handling object. Interface must be implemented by a IM protocol plug-ins.

This interface defines actions that IM requests from a IM protocol connection to execute conversation related tasks.

Protocol implementation must route requests received through this interface, to same remote IM service destination, as where the parent MXIMPProtocolConnection is connected. (Here the parent MXIMPProtocolConnection means the protocol connection instance from where this interface instance was retrieved.)

MXIMPProtocolConnection

Inherits from

Constructor & Destructor Documentation

~MProtocolImConversation()

~MProtocolImConversation()[protected, inline, virtual]

Protected destructor. MProtocolImConversation instancies can't be destroyed via this interface.

Member Functions Documentation

DoBlockUsersL(const MDesCArray *, TXIMPRequestId)

TXIMPRequestId DoBlockUsersL(const MDesCArray *aUserIds,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to block user(s).

/b Note: Possible error conditions /n 1. UserId doesn't exist [KImErrServiceGeneralError]. /n 2. The maximum number of users reached for the user in the list [KImErrTooManyUsers].

Parameters

const MDesCArray * aUserIds- User id's need to be blocked
TXIMPRequestId aReqIdRequest ID identifying the issued request.

DoForwardMessageL(const MImConversationInfo &, TXIMPRequestId)

voidDoForwardMessageL(const MImConversationInfo &aImMessage,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to forward a message with binary content. Forward message to user(s)

/b Note: Possible error conditions /n 1. Invalid user-id/recipient user does not exist [KImApiErrInvalidUserId]. /n 2. Recipient user blocked the sender [KImApiErrSenderBlocked]. /n 3. Unsupported message context [KImErrUnsupportedContext]. /n 4. Message queue full [KImErrTooManyIM].

Parameters

const MImConversationInfo & aImMessage- Identification and content of the message. MImConversationInfo contains messageid, contenttype - text/content, content,.......
TXIMPRequestId aReqIdRequest id identifying the issued request.

DoGetBlockedListRequestL(const MXIMPIdentity &, TXIMPRequestId)

voidDoGetBlockedListRequestL(const MXIMPIdentity &aImMessageId,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to get blocked users list from server

/b Note: Possible error conditions /n 1. No block list in use [KImErrServiceGeneralError].

Parameters

const MXIMPIdentity & aImMessageIdIdentification for IM.
TXIMPRequestId aReqIdRequest id identifying the issued request.

DoGetMessageListL(const MXIMPIdentity &, const TDesC *, const TInt, TBool, TXIMPRequestId)

voidDoGetMessageListL(const MXIMPIdentity &aImMessageId,
const TDesC *aGroupId,
const TIntaMessageCount,
TBoolaDeliveryReportWanted,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to retrieve the message-info structures of the undelivered instant messages. May use the retrieved Message-Info structures to inform the user about the new messages, or it May retrieve/reject/forward the instant messages automatically.

/b Note: Possible error conditions /n 1. Invalid group id [KImErrUnknownIMGroup].

Parameters

const MXIMPIdentity & aImMessageIdIdentification for IM.
const TDesC * aGroupIdIdentifies the group to retrieve history.
const TInt aMessageCountThe maximum number of message-info structures to be returned.
TBool aDeliveryReportWantedIf the user wats to order delivery report.
TXIMPRequestId aReqIdRequest id identifying the issued request.

DoRejectMessageL(const MXIMPIdentity &, const TDesC &, TXIMPRequestId)

voidDoRejectMessageL(const MXIMPIdentity &aImMessageId,
const TDesC &aMessageID,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to reject the accumulated messages in the server.

/b Note: Possible error conditions /n 1. Invalid message-id [KImErrFieldValueNotSupported].

Parameters

const MXIMPIdentity & aImMessageIdIdentification for IM.
const TDesC & aMessageIDIdentifies the messages to be removed
TXIMPRequestId aReqIdRequest id identifying the issued request.

DoSendMessageL(const MImConversationInfo &, TXIMPRequestId)

voidDoSendMessageL(const MImConversationInfo &aImMessage,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to send a message.

/b Note: Possible error conditions /n 1. Invalid User-ID/Recipient user does not exist [KImApiErrInvalidUserId]. /n 2. Recipient user blocked the sender [KImApiErrSenderBlocked]. /n 3. Unsupported message context [KImErrUnsupportedContext]. /n 4. Message queue full [KImErrTooManyIM].

Parameters

const MImConversationInfo & aImMessage- Identification and content of the message. MImConversationInfo contains messageid, contenttype - text/content, content,.......
TXIMPRequestId aReqIdRequest id identifying the issued request.

DoSendMessageToGroupL(const MImConversationInfo &, const TDesC *, TXIMPRequestId)

voidDoSendMessageToGroupL(const MImConversationInfo &aImMessage,
const TDesC *aGroupId,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to send message to group.

/b Note: Possible error conditions /n 1. Invalid user-id/recipient user does not exist [KImApiErrInvalidUserId]. /n 2. Recipient user blocked the sender [KImApiErrSenderBlocked]. /n 3. Unsupported message context [KImErrUnsupportedContext]. /n 4. Message queue full [KImErrTooManyIM].

Parameters

const MImConversationInfo & aImMessage- Identification and content of the message. MImConversationInfo contains messageid, contenttype - text/content, content,.......
const TDesC * aGroupId
TXIMPRequestId aReqIdRequest id identifying the issued request.

DoUnBlockUsersL(const MDesCArray *, TXIMPRequestId)

TXIMPRequestId DoUnBlockUsersL(const MDesCArray *aUserIds,
TXIMPRequestIdaReqId
)[pure virtual]

Request the protocol to UnBlock User(s).

/b Note: Possible error conditions /n 1. UserId doesn't exist [KImErrServiceGeneralError]. /n 2. The maximum number of users reached for the user in the list [KImErrTooManyUsers].

Parameters

const MDesCArray * aUserIds- User id's need to be unblocked
TXIMPRequestId aReqIdRequest id identifying the issued request.