CBtClientMtm Class Reference

class CBtClientMtm : public CObexClientMtm

Bluetooth Client MTM.

Provides client-side functionality for bluetooth messaging. This is a thin implementation over the top of CObexClientMtm.

Inherits from

Public Member Functions
voidAddAddresseeL(const TDesC &)
CMsvOperation *InvokeAsyncFunctionL(TInt, const CMsvEntrySelection &, TDes8 &, TRequestStatus &)
IMPORT_C CBtClientMtm *NewL(CRegisteredMtmDll &, CMsvSession &)
Private Member Functions
CBtClientMtm(CRegisteredMtmDll &, CMsvSession &)
voidCreateMessageOperationL(CMsvOperation *&, const CMsvEntrySelection &, TRequestStatus &)
voidInitialiseHeaderL()
TBool ParseDestinationFieldL(TUint16, TDes8 &, TPtrC &)
voidParseDestinationL(const TDesC &, TDes8 &, TDes16 &, TInt &, TInt &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CBaseMtm::AddAddresseeL(TMsvRecipientType,const TDesC &)
CBaseMtm::AddAddresseeL(TMsvRecipientType,const TDesC &,const TDesC &)
CBaseMtm::AddAttachmentL(RFile &,const TDesC8 &,TUint,TRequestStatus &)
CBaseMtm::AddAttachmentL(const TDesC &,const TDesC8 &,TUint,TRequestStatus &)
CBaseMtm::AddEntryAsAttachmentL(TMsvId,TRequestStatus &)
CBaseMtm::AddLinkedAttachmentL(const TDesC &,const TDesC8 &,TUint,TRequestStatus &)
CBaseMtm::AddresseeList()const
CBaseMtm::BioTypeChangedL(TUid)
CBaseMtm::Body()
CBaseMtm::Body()const
CBaseMtm::CBaseMtm(CRegisteredMtmDll &,CMsvSession &)
CBaseMtm::CancelAttachmentOperation()
CBaseMtm::ChangeDefaultServiceL(const TMsvId &)
CBaseMtm::CreateAttachmentL(const TDesC &,RFile &,const TDesC8 &,TUint,TRequestStatus &)
CBaseMtm::DefaultServiceL()const
CBaseMtm::Entry()const
CBaseMtm::Extension_(TUint,TAny *&,TAny *)
CBaseMtm::Filler1()
CBaseMtm::Filler2()
CBaseMtm::GetExtensionData()
CBaseMtm::GetInterface(TUid)
CBaseMtm::HandleEntryEventL(TMsvEntryEvent,TAny *,TAny *,TAny *)
CBaseMtm::HasContext()const
CBaseMtm::RemoveDefaultServiceL()
CBaseMtm::RestoreBodyL(CMsvStore &)
CBaseMtm::Session()
CBaseMtm::SetCurrentEntryL(CMsvEntry *)
CBaseMtm::SetExtensionData(TAny *)
CBaseMtm::SetMessageCharacterSet(TUint)
CBaseMtm::StoreBodyL(CMsvStore &)
CBaseMtm::SwitchCurrentEntryL(TMsvId)
CBaseMtm::Type()const
CBaseMtm::~CBaseMtm()
CObexClientMtm::AddAddresseeL(const TDesC &,const TDesC &)
CObexClientMtm::CObexClientMtm(CRegisteredMtmDll &,CMsvSession &,TUid)
CObexClientMtm::CommitChangesL()
CObexClientMtm::ConstructL()
CObexClientMtm::ContextEntrySwitched()
CObexClientMtm::CreateMessageAttachmentL(TMsvId)
CObexClientMtm::CreateMessageL(TMsvId)
CObexClientMtm::Find(const TDesC &,TMsvPartList)
CObexClientMtm::ForwardL(TMsvId,TMsvPartList,TRequestStatus &)
CObexClientMtm::GetAttachmentSizeL()
CObexClientMtm::InvokeSyncFunctionL(TInt,const CMsvEntrySelection &,TDes8 &)
CObexClientMtm::LoadMessageL()
CObexClientMtm::QueryCapability(TUid,TInt &)
CObexClientMtm::RemoveAddressee(TInt)
CObexClientMtm::ReplyL(TMsvId,TMsvPartList,TRequestStatus &)
CObexClientMtm::SaveMessageL()
CObexClientMtm::SetSubjectL(const TDesC &)
CObexClientMtm::SubjectL()const
CObexClientMtm::ValidateMessage(TMsvPartList)
CObexClientMtm::~CObexClientMtm()
Private Member Enumerations
enumTBtClientMtmAddresseeFieldType { EDeviceAddress, EPassword, ETimeout, EPutTimeout, EAlternativeConnectTimeout = 0x08 }
Inherited Attributes
CBaseMtm::iAddresseeList
CBaseMtm::iCharFormatLayer
CBaseMtm::iMsvEntry
CBaseMtm::iParaFormatLayer
CObexClientMtm::iHeader

Constructor & Destructor Documentation

CBtClientMtm(CRegisteredMtmDll &, CMsvSession &)

CBtClientMtm(CRegisteredMtmDll &aRegisteredMtmDll,
CMsvSession &aMsvSession
)[private]

Constructor--not for use by client applications

Parameters

CRegisteredMtmDll & aRegisteredMtmDllRegistration data for MTM DLL.
CMsvSession & aMsvSessionCMsvSession of the client requesting the object.

Member Functions Documentation

AddAddresseeL(const TDesC &)

voidAddAddresseeL(const TDesC &anAddressee)[virtual]

Add a Bluetooth addressee

_LIT(KTestAddressee1, "XXX:\1Password:\2AA:\3BB");

_LIT(KTestAddressee2, "XXX:\1Password:\2AA");

_LIT(KTestAddressee3, "XXX:\1Password");

_LIT(KTestAddressee4, "XXX");

XXX : BT device address (6 bytes) : : Password tag sequence (4 bytes) [EBtClientMtmAddresseeFieldTypePassword] Password : 0-16 characters (0-32 bytes) : : Connection timeout tag sequence (4 bytes) [EBtClientMtmAddresseeFieldTypeConnectionTimeout] AA : Connection timeout (1 TInt = 4 bytes) : : Put timeout tag sequence (4 bytes) [EBtClientMtmAddresseeFieldTypePutTimeout] BB : Put timeout (1 TInt = 4 bytes)

leave
Leaves with KErrArgument if addresse badly formatted or corrupt.

Parameters

const TDesC & anAddresseeAddressee field of the following format

CreateMessageOperationL(CMsvOperation *&, const CMsvEntrySelection &, TRequestStatus &)

voidCreateMessageOperationL(CMsvOperation *&aOperation,
const CMsvEntrySelection &aSelection,
TRequestStatus &aCompletionStatus
)[private]

Parameters

CMsvOperation *& aOperation
const CMsvEntrySelection & aSelection
TRequestStatus & aCompletionStatus

InitialiseHeaderL()

voidInitialiseHeaderL()[private, virtual]

Deletes the old header, then creates a new CBtHeader.

leave
KErrXXX System-wide error codes if allocation fails

InvokeAsyncFunctionL(TInt, const CMsvEntrySelection &, TDes8 &, TRequestStatus &)

CMsvOperation *InvokeAsyncFunctionL(TIntaFunctionId,
const CMsvEntrySelection &aSelection,
TDes8 &aParameter,
TRequestStatus &aCompletionStatus
)[virtual]

Starts an asynchronous function as an active object. Only works for EBtcCmdSend.

leave
Leaves if no memory is available, or if the specified aFunctionId is unsupported.
Starts an asynchronous function as an active object. Only works for EBtcCmdSend.
leave
Leaves if no memory is available, or if the specified aFunctionId is unsupported.

Parameters

TInt aFunctionIdIdentifier of the function to be invoked. Only supports EBtcCmdSend and KMTMStandardFunctionsSendMessage.
const CMsvEntrySelection & aSelectionSelction of message entries for the requested function to operate on.
TDes8 & aParameterBuffer containing input and output parameters.
TRequestStatus & aCompletionStatusCanonical TRequestStatus used for control of the active object.

NewL(CRegisteredMtmDll &, CMsvSession &)

IMPORT_C CBtClientMtm *NewL(CRegisteredMtmDll &aRegisteredMtmDll,
CMsvSession &aMsvSession
)[static]

Canonical NewL factory function.

leave
Leaves if no memory is available.

Parameters

CRegisteredMtmDll & aRegisteredMtmDllReference to registration data for MTM DLL.
CMsvSession & aMsvSessionReference to CMsvSession of the client requesting the object.

ParseDestinationFieldL(TUint16, TDes8 &, TPtrC &)

TBool ParseDestinationFieldL(TUint16aFieldTag,
TDes8 &aField,
TPtrC &aFieldList
)[private]

Parse bluetooth addressee field

leave
Leaves with KErrArgument if parameter or formatting incorrect.

Parameters

TUint16 aFieldTagField tag ID (see TBtClientMtmAddresseeFieldType).
TDes8 & aFieldThe next field (descriptor buffer of the correct size for the given field).
TPtrC & aFieldListAddressee field list.

ParseDestinationL(const TDesC &, TDes8 &, TDes16 &, TInt &, TInt &)

voidParseDestinationL(const TDesC &aFieldsToParse,
TDes8 &aDeviceAddress,
TDes16 &aPassword,
TInt &aConnectTimeout,
TInt &aPutTimeout
)[private]

Parse bluetooth addressing information from addressee list.

leave
Leaves with KErrArgument if parameter or formatting incorrect.

Parameters

const TDesC & aFieldsToParse
TDes8 & aDeviceAddressDevice address (6 bytes).
TDes16 & aPasswordPassword (max length 16).
TInt & aConnectTimeoutConnection timeout.
TInt & aPutTimeoutPut timeout.

Member Enumerations Documentation

Enum TBtClientMtmAddresseeFieldType

Enumerators

EDeviceAddress
EPassword
ETimeout
EPutTimeout
EAlternativeConnectTimeout = 0x08