RSendAs Class Reference

class RSendAs : public RSessionBase

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.

Inherits from

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 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()
Public Member Enumerations
enumTSendAsConditionType {
ESendAsNoCondition, ESendAsEquals, ESendAsNotEquals, ESendAsGreaterThan, ESendAsLessThan, ESendAsBitwiseAnd, ESendAsBitwiseOr, ESendAsBitwiseNand, ESendAsBitwiseNor
}
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Private Attributes
TAny *iAny
Inherited Attributes
RHandleBase::iHandle

Member Functions Documentation

AvailableAccountsL(TUid, CSendAsAccounts &)

IMPORT_C voidAvailableAccountsL(TUidaMessageType,
CSendAsAccounts &aAccounts
)

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

Parameters

TUid aMessageTypeThe message type UID which the accounts should support.
CSendAsAccounts & 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.

Connect(TInt)

IMPORT_C TIntConnect(TIntaMessageSlots)

Establishes a connection to the SendAs Server.

Parameters

TInt 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.

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

TUid aMessageCapabilityThis defines the capability describing which of the available MTMs held by the SendAs session should remain.

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.

TSendAsConditionType

Parameters

TUid aMessageCapabilityThis defines the capability describing which MTMs held by the SendAs session should be filtered. Other mtms will be removed.
TInt 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.
TSendAsConditionType aConditionTypeThe condition which to apply to the list of MTMs.

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.

CSendAsMessageTypes

Parameters

CSendAsMessageTypes & 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.

Member Enumerations Documentation

Enum TSendAsConditionType

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

Enumerators

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 Data Documentation

TAny * iAny

TAny *iAny[private]