RSendAs Class Reference

#include <mw/rsendas.h>

Link against: sendas2.lib

class RSendAs : public RSessionBase

Inherits from

  • RSendAs
    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.

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

    Returns: KErrNone on success, a system wide error code otherwise.

    Connect ( TInt )

    IMPORT_C TIntConnect(TIntaMessageSlots)

    Establishes a connection to the SendAs Server.

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

    Returns: 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

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

    Returns: 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

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

    Returns: 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

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

    Returns: KErrNone on success, a system wide error code otherwise.