RSendAs Class Reference

#include <mw/rsendas.h>

Link against: sendas2.lib

class RSendAs : public RSessionBase

Inherits from

Public Member Enumerations
enumTSendAsConditionType { ESendAsNoCondition, ESendAsEquals, ESendAsNotEquals, ESendAsGreaterThan, ..., ESendAsBitwiseNor }
Public Member Functions
IMPORT_C voidAvailableAccountsL(TUid, CSendAsAccounts &)
IMPORT_C TIntConnect()
IMPORT_C TIntConnect(TInt)
IMPORT_C TIntFilterAgainstCapability(TUid)
IMPORT_C TIntFilterAgainstCapability(TUid, TInt, TSendAsConditionType)
IMPORT_C voidFilteredMessageTypesL(CSendAsMessageTypes &)
IMPORT_C TIntResetMessageFilter()
Inherited Attributes
RHandleBase::iHandle
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::Close()
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RSessionBase::CreateSession(RServer2,const TVersion &)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *)
RSessionBase::Open(RMessagePtr2,TInt,TOwnerType)
RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Open(TInt,TOwnerType)
RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Send(TInt)const
RSessionBase::Send(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt)const
RSessionBase::SendReceive(TInt,TRequestStatus &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSessionBase::SetReturnedHandle(TInt)
RSessionBase::SetReturnedHandle(TInt,RHandleBase &)
RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &)
RSessionBase::ShareAuto()
RSessionBase::ShareProtected()

Detailed Description

Encapsulates a session with the SendAs Server.

This class allows a user to determine the message types available to the SendAs server and also provides functionality for clients to filter this list to find the UIDs required to create messages.

Member Enumeration Documentation

Enum TSendAsConditionType

Defines the condition-checking of message capabilities. These are progressively added to refine the list of available MTMs.

EnumeratorValueDescription
ESendAsNoCondition

No MTMs are removed as a result of applying this condition to the filtering.

ESendAsEquals

Only MTMs whose capabilities match the given value will remain as a result of applying this condition to the filtering.

ESendAsNotEquals

Only MTMs whose capabilities do not match the given value will remain as a result of applying this condition to the filtering.

ESendAsGreaterThan

Only MTMs whose capabilities greater than the given value will remain as a result of applying this condition to the filtering.

ESendAsLessThan

Only MTMs whose capabilities less than the given value will remain as a result of applying this condition to the filtering.

ESendAsBitwiseAnd

Only MTMs whose capabilities result non-zero value when bitwise ANDed with the given value will remain as a result of applying this condition to the filtering.

ESendAsBitwiseOr

Only MTMs whose capabilities result non-zero value when bitwise ORed with the given value will remain as a result of applying this condition to the filtering.

ESendAsBitwiseNand

Only MTMs whose capabilities result non-zero value when bitwise NANDed with the given value will remain as a result of applying this condition to the filtering.

ESendAsBitwiseNor

Only MTMs whose capabilities result non-zero value when bitwise NORed with the given value will remain as a result of applying this condition to the filtering.

Member Function Documentation

AvailableAccountsL ( TUid, CSendAsAccounts & )

IMPORT_C voidAvailableAccountsL(TUidaMessageType,
CSendAsAccounts &aAccounts
)

Returns the connected session's available accounts for message types.

Parameters
aMessageTypeThe message type UID which the accounts should support.
aAccountsOn success this will be populated with the available accounts which support the supplied message type.

Connect ( )

IMPORT_C TIntConnect()

Establishes a connection to the SendAs Server.

Return Value
KErrNone on success, a system wide error code otherwise.

Connect ( TInt )

IMPORT_C TIntConnect(TIntaMessageSlots)

Establishes a connection to the SendAs Server.

Parameters
aMessageSlotsThe number of message slots available to this session. This determines the number of outstanding requests the client may have with the server at any one time. The maximum number of slots is 255. If aMessageSlots==-1 then this indicates that the RSendAs connection should use messages from the global free pool of messages.
Return Value
KErrNone on success, a system wide error code otherwise.

FilterAgainstCapability ( TUid )

IMPORT_C TIntFilterAgainstCapability(TUidaMessageCapability)

Refines the connected session's available message types. Applying a filter will remove all mtms which do not support the supplied capability

Parameters
aMessageCapabilityThis defines the capability describing which of the available MTMs held by the SendAs session should remain.
Return Value
KErrNone on success, a system wide error code otherwise.

FilterAgainstCapability ( TUid, TInt, TSendAsConditionType )

IMPORT_C TIntFilterAgainstCapability(TUidaMessageCapability,
TIntaValue,
TSendAsConditionTypeaConditionType
)

Refines the connected session's available message types. Applying a filter will remove all mtms which do not satisfy the supplied condition.

See also: TSendAsConditionType

Parameters
aMessageCapabilityThis defines the capability describing which MTMs held by the SendAs session should be filtered. Other mtms will be removed.
aValueThe value to be applied to the available MTMs in combination with the filter condition. MTMs which satify the condition will not be removed from the available MTM list.
aConditionTypeThe condition which to apply to the list of MTMs.
Return Value
KErrNone on success, a system wide error code otherwise.

FilteredMessageTypesL ( CSendAsMessageTypes & )

IMPORT_C voidFilteredMessageTypesL(CSendAsMessageTypes &aMessageTypeInfo)

Retrieves the connected session's available message types from the SendAs Server. This will filter all MTMs that can send messages. This list can be refined by applying filters using FilterAgainstCapability.

See also: CSendAsMessageTypes

Parameters
aMessageTypeInfoThis is the CSendAsMessageType into which the session's MTM list information will be stored.

ResetMessageFilter ( )

IMPORT_C TIntResetMessageFilter()

Refreshes the connected session's available message types to all MTMs which can send messages.

Return Value
KErrNone on success, a system wide error code otherwise.