CMceManager Class Reference

class CMceManager : public CBase

Class for connecting to MCE server.

This class provides the connection to the MCE server and provides functions for setting observers for asynchronous events.

The user should create only one instance of this class.

mceclient.lib

Inherits from

Public Member Functions
~CMceManager()
TUid AppUid()
voidCancelTranscodeL(const CMceFileSource &, TUint32)
IMPORT_C CDesC8Array *DefaultHeadersL(const TDesC8 &)
MMceDtmfObserver *DtmfObserver()
MMceEventObserver *EventObserver()
IMPORT_C const RPointerArray< CMceEvent > &Events()
CMceSession *FindAssociatedSession(TUint32)
CMceRefer *FindRefer(const CMceEvent &)
voidHandleIncomingEventL(TMceIds &)
MMceInEventObserver *InEventObserver()
MMceInReferObserver *InReferObserver()
MMceInSessionObserver *InSessionObserver()
MMceInTransactionObserver *InTransactionObserver()
MMceStreamObserver *MediaObserver()
IMPORT_C CMceManager *NewL(const TUid &, TMceTransactionDataContainer *)
TMceMediaId NextMediaId()
MMceReferObserver *ReferObserver()
IMPORT_C const RPointerArray< CMceRefer > &Refers()
MMceRtpObserver *RtpObserver()
RMce &ServerSession()
MMceSessionObserver *SessionObserver()
IMPORT_C const RPointerArray< CMceSession > &Sessions()
IMPORT_C voidSetDefaultHeadersL(CDesC8Array *, CDesC8Array *)
IMPORT_C voidSetDtmfObserver(MMceDtmfObserver *)
IMPORT_C voidSetEventObserver(MMceEventObserver *)
IMPORT_C voidSetInEventObserver(MMceInEventObserver *)
IMPORT_C voidSetInReferObserver(MMceInReferObserver *)
IMPORT_C voidSetInSessionObserver(MMceInSessionObserver *)
IMPORT_C voidSetInTransactionObserver(MMceInTransactionObserver *)
IMPORT_C voidSetMediaObserver(MMceStreamObserver *)
IMPORT_C voidSetReferObserver(MMceReferObserver *)
IMPORT_C voidSetRtpObserver(MMceRtpObserver *)
IMPORT_C voidSetSessionObserver(MMceSessionObserver *)
IMPORT_C voidSetTransactionObserver(MMceTransactionObserver *)
IMPORT_C const RPointerArray< const CMceAudioCodec > &SupportedAudioCodecs()
IMPORT_C const RPointerArray< const CMceVideoCodec > &SupportedVideoCodecs()
TMceTransactionDataContainer *TransactionContainer()
MMceTransactionObserver *TransactionObserver()
voidTranscodeCompleted(const CMceFileSource &)
TUint32 TranscodeL(CMceFileSource &)
Private Member Functions
CMceManager(const TUid &, TMceTransactionDataContainer *)
voidAddEventL(CMceEvent *)
voidAddReferL(CMceRefer *)
voidAddSessionL(CMceSession *)
voidConstructL()
voidIncomingSessionUpdateL(CMceInSession &, CMceSession &)
voidPrepareForITC(TMceIds &, TUint)
voidReceiveSupportedAudioCodecsL()
voidReceiveSupportedVideoCodecsL()
TUint32 RegisterEventL(CMceEvent *, CDesC8Array &, TUint32 &, TUint32)
TUint32 RegisterReferL(CMceRefer *, CDesC8Array &, TUint32 &)
TUint32 RegisterSessionL(CMceSession *, CDesC8Array &, TUint32 &, TBool &)
voidRemoveSession(CMceSession *)
voidUnregisterEvent(CMceEvent *)
voidUnregisterRefer(CMceRefer *)
voidUnregisterSession(CMceSession *)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
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()
Private Attributes
TUid iAppUid
TMceTransactionDataContainer *iContainer
TBool iDetailedCallbacks
MMceDtmfObserver *iDtmfObserver
MMceEventObserver *iEventObserver
CMceEventManagerReceiver *iEventReceiver
RPointerArray< CMceEvent >iEvents
MMceInEventObserver *iInEventObserver
MMceInReferObserver *iInReferObserver
MMceInSessionObserver *iInSessionObserver
MMceInTransactionObserver *iMceInTransactionObserver
MMceTransactionObserver *iMceTransactionObserver
MMceStreamObserver *iMediaObserver
TUint32 iNextId
MMceReferObserver *iReferObserver
RPointerArray< CMceRefer >iRefers
TAny *iReserved
MMceRtpObserver *iRtpObserver
CMceItcSender *iSender
RMce *iServerSession
MMceSessionObserver *iSessionObserver
CMceManagerReceiver *iSessionReceiver
RPointerArray< CMceSession >iSessions
RPointerArray< const CMceAudioCodec >iSupportedAudioCodecs
RPointerArray< const CMceVideoCodec >iSupportedVideoCodecs
RPointerArray< CMceFileSource >iTranscodingFiles

Constructor & Destructor Documentation

CMceManager(const TUid &, TMceTransactionDataContainer *)

CMceManager(const TUid &aAppUid,
TMceTransactionDataContainer *aContainer = 0
)[private]

C++ default constructor.

Parameters

const TUid & aAppUid
TMceTransactionDataContainer * aContainer = 0

~CMceManager()

IMPORT_C~CMceManager()

Destructor.

Member Functions Documentation

AddEventL(CMceEvent *)

voidAddEventL(CMceEvent *aEvent)[private]

Adds event

Parameters

CMceEvent * aEventthe event

AddReferL(CMceRefer *)

voidAddReferL(CMceRefer *aRefer)[private]

Adds refer

Parameters

CMceRefer * aReferthe refer

AddSessionL(CMceSession *)

voidAddSessionL(CMceSession *aSession)[private]

Adds session

Parameters

CMceSession * aSessionthe session

AppUid()

TUid AppUid()const

Returns app uid

CancelTranscodeL(const CMceFileSource &, TUint32)

voidCancelTranscodeL(const CMceFileSource &aFile,
TUint32aSessionId
)

Cancels transcoding

Parameters

const CMceFileSource & aFileThe file
TUint32 aSessionIdthe tc session id

ConstructL()

voidConstructL()[private]

By default Symbian 2nd phase constructor is private.

DefaultHeadersL(const TDesC8 &)

IMPORT_C CDesC8Array *DefaultHeadersL(const TDesC8 &aMethod)const

Parameters

const TDesC8 & aMethod

DtmfObserver()

MMceDtmfObserver *DtmfObserver()const

Gets dtmf observer

EventObserver()

MMceEventObserver *EventObserver()const

Gets event observer

Events()

IMPORT_C const RPointerArray< CMceEvent > &Events()const

Gets currently ongoing events

FindAssociatedSession(TUint32)

CMceSession *FindAssociatedSession(TUint32aDialogId)const

Finds associated session

Parameters

TUint32 aDialogId

FindRefer(const CMceEvent &)

CMceRefer *FindRefer(const CMceEvent &aEvent)

Finds a refer instance for an event.

Parameters

const CMceEvent & aEventThe event

HandleIncomingEventL(TMceIds &)

voidHandleIncomingEventL(TMceIds &aIds)

handles incoming event

Parameters

TMceIds & aIdsThe ids

InEventObserver()

MMceInEventObserver *InEventObserver()const

Gets observer for incoming events

InReferObserver()

MMceInReferObserver *InReferObserver()const

Gets observer for incoming refers

InSessionObserver()

MMceInSessionObserver *InSessionObserver()const

Gets observer for incoming sessions

InTransactionObserver()

MMceInTransactionObserver *InTransactionObserver()const

Gets transaction observer

IncomingSessionUpdateL(CMceInSession &, CMceSession &)

voidIncomingSessionUpdateL(CMceInSession &aNewSession,
CMceSession &aOldSession
)[private]

New session registers itself and deregisters its old (zombie) instance.

Parameters

CMceInSession & aNewSessionthe new session
CMceSession & aOldSessionthe old session

MediaObserver()

MMceStreamObserver *MediaObserver()const

Gets media observer

NewL(const TUid &, TMceTransactionDataContainer *)

IMPORT_C CMceManager *NewL(const TUid &aAppUid,
TMceTransactionDataContainer *aContainer = 0
)[static]

Two-phased constructor.

Parameters

const TUid & aAppUidIdentification of the application.
TMceTransactionDataContainer * aContainer = 0If set, detailed data provided in observers. Ownership is not transferred, instance must not be deleted in lifetime of CMceManager.

NextMediaId()

TMceMediaId NextMediaId()

Returns next id

PrepareForITC(TMceIds &, TUint)

voidPrepareForITC(TMceIds &aId,
TUintaRole
)const [private]

prepares for ITC

Parameters

TMceIds & aId
TUint aRolerole as sip session manager or event manager

ReceiveSupportedAudioCodecsL()

voidReceiveSupportedAudioCodecsL()[private]

Receives supported audio codecs

ReceiveSupportedVideoCodecsL()

voidReceiveSupportedVideoCodecsL()[private]

Receives supported video codecs

ReferObserver()

MMceReferObserver *ReferObserver()const

Gets refer observer

Refers()

IMPORT_C const RPointerArray< CMceRefer > &Refers()const

Gets currently ongoing refers

RegisterEventL(CMceEvent *, CDesC8Array &, TUint32 &, TUint32)

TUint32 RegisterEventL(CMceEvent *aEvent,
CDesC8Array &aParams,
TUint32 &aDialogId,
TUint32aDialogType
)[private]

Event registers itself to event manager

Parameters

CMceEvent * aEventthe event
CDesC8Array & aParamsparameter list for dialog creation
TUint32 & aDialogIdin/out dialog id
TUint32 aDialogTypethe dialog type

RegisterReferL(CMceRefer *, CDesC8Array &, TUint32 &)

TUint32 RegisterReferL(CMceRefer *aRefer,
CDesC8Array &aParams,
TUint32 &aDialogId
)[private]

Refer registers itself to event manager

Parameters

CMceRefer * aReferthe refer
CDesC8Array & aParamsparameter list for dialog creation
TUint32 & aDialogIdin/out dialog id

RegisterSessionL(CMceSession *, CDesC8Array &, TUint32 &, TBool &)

TUint32 RegisterSessionL(CMceSession *aSession,
CDesC8Array &aParams,
TUint32 &aDialogId,
TBool &aConnectionState
)[private]

Session registers itself to manager

Parameters

CMceSession * aSessionthe session
CDesC8Array & aParamsparameter list for dialog creation
TUint32 & aDialogIdin/out dialog id
TBool & aConnectionStatein/out connection state

RemoveSession(CMceSession *)

voidRemoveSession(CMceSession *aSession)[private]

Removes session

Parameters

CMceSession * aSessionthe session

RtpObserver()

MMceRtpObserver *RtpObserver()const

Gets rtp observer

ServerSession()

RMce &ServerSession()const

Returns server sessiom

SessionObserver()

MMceSessionObserver *SessionObserver()const

Gets session observer

Sessions()

IMPORT_C const RPointerArray< CMceSession > &Sessions()const

Gets currently ongoing sessions

SetDefaultHeadersL(CDesC8Array *, CDesC8Array *)

IMPORT_C voidSetDefaultHeadersL(CDesC8Array *aMethods,
CDesC8Array *aHeaders
)

Parameters

CDesC8Array * aMethods
CDesC8Array * aHeaders

SetDtmfObserver(MMceDtmfObserver *)

IMPORT_C voidSetDtmfObserver(MMceDtmfObserver *aDtmfObserver)

Sets observer for DTMF events.

Parameters

MMceDtmfObserver * aDtmfObserver

SetEventObserver(MMceEventObserver *)

IMPORT_C voidSetEventObserver(MMceEventObserver *aEventObserver)

Sets observer for incoming events.

Parameters

MMceEventObserver * aEventObserverObserver of the event. Ownership is not transferred. May be NULL to remove observer.

SetInEventObserver(MMceInEventObserver *)

IMPORT_C voidSetInEventObserver(MMceInEventObserver *aInEventObserver)

Set observer for incoming events.

Parameters

MMceInEventObserver * aInEventObserverObserver of the events. Ownership is not transferred. May be NULL to remove observer.

SetInReferObserver(MMceInReferObserver *)

IMPORT_C voidSetInReferObserver(MMceInReferObserver *aInReferObserver)

Set observer for incoming refers.

Parameters

MMceInReferObserver * aInReferObserverObserver of the refers. Ownership is not transferred. May be NULL to remove observer.

SetInSessionObserver(MMceInSessionObserver *)

IMPORT_C voidSetInSessionObserver(MMceInSessionObserver *aInSessionObserver)

Set observer for incoming sessions.

Parameters

MMceInSessionObserver * aInSessionObserverObserver of the sessions. Ownership is not transferred. May be NULL to remove observer.

SetInTransactionObserver(MMceInTransactionObserver *)

IMPORT_C voidSetInTransactionObserver(MMceInTransactionObserver *aInTransactionObserver)

Sets observer for incoming SIP extension requests.

Parameters

MMceInTransactionObserver * aInTransactionObserver

SetMediaObserver(MMceStreamObserver *)

IMPORT_C voidSetMediaObserver(MMceStreamObserver *aMediaObserver)

Set observer for medias

Parameters

MMceStreamObserver * aMediaObserverObserver of medias. Ownership is not transferred. May be NULL to remove observer.

SetReferObserver(MMceReferObserver *)

IMPORT_C voidSetReferObserver(MMceReferObserver *aReferObserver)

Sets observer for incoming REFER events.

Parameters

MMceReferObserver * aReferObserverObserver of the event. Ownership is not transferred. May be NULL to remove observer.

SetRtpObserver(MMceRtpObserver *)

IMPORT_C voidSetRtpObserver(MMceRtpObserver *aRtpObserver)

Set observer for rtp

Parameters

MMceRtpObserver * aRtpObserverObserver of rtp. Ownership is not transferred. May be NULL to remove observer.

SetSessionObserver(MMceSessionObserver *)

IMPORT_C voidSetSessionObserver(MMceSessionObserver *aSessionObserver)

Set observer for sessions.

Parameters

MMceSessionObserver * aSessionObserverObserver of the sessions. Ownership is not transferred. May be NULL to remove observer.

SetTransactionObserver(MMceTransactionObserver *)

IMPORT_C voidSetTransactionObserver(MMceTransactionObserver *aTransactionObserver)

Sets observer for incoming SIP responses to outgoing in-dialog requests.

Parameters

MMceTransactionObserver * aTransactionObserver

SupportedAudioCodecs()

IMPORT_C const RPointerArray< const CMceAudioCodec > &SupportedAudioCodecs()const

Returns supported audio codecs of the system.

SupportedVideoCodecs()

IMPORT_C const RPointerArray< const CMceVideoCodec > &SupportedVideoCodecs()const

Returns supported video codecs of the system.

TransactionContainer()

TMceTransactionDataContainer *TransactionContainer()const

Returs transaction container for detailed data.

TransactionObserver()

MMceTransactionObserver *TransactionObserver()const

Gets transaction observer

TranscodeCompleted(const CMceFileSource &)

voidTranscodeCompleted(const CMceFileSource &aFile)

Called when trancoding is completed

Parameters

const CMceFileSource & aFileThe file

TranscodeL(CMceFileSource &)

TUint32 TranscodeL(CMceFileSource &aFile)

Starts transcoding of file

Parameters

CMceFileSource & aFileThe file

UnregisterEvent(CMceEvent *)

voidUnregisterEvent(CMceEvent *aEvent)[private]

Event unregisters itself to event manager

Parameters

CMceEvent * aEventthe event

UnregisterRefer(CMceRefer *)

voidUnregisterRefer(CMceRefer *aRefer)[private]

Refer unregisters itself to event manager

Parameters

CMceRefer * aReferthe refer

UnregisterSession(CMceSession *)

voidUnregisterSession(CMceSession *aSession)[private]

Session unregisters itself to manager

Parameters

CMceSession * aSessionthe session

Member Data Documentation

TUid iAppUid

TUid iAppUid[private]

application UID

TMceTransactionDataContainer * iContainer

TMceTransactionDataContainer *iContainer[private]

Transaction data container.

TBool iDetailedCallbacks

TBool iDetailedCallbacks[private]

detailed callbacks wanted

MMceDtmfObserver * iDtmfObserver

MMceDtmfObserver *iDtmfObserver[private]

Dtmf observer.

MMceEventObserver * iEventObserver

MMceEventObserver *iEventObserver[private]

Event observer.

CMceEventManagerReceiver * iEventReceiver

CMceEventManagerReceiver *iEventReceiver[private]

manager receiver for events

RPointerArray< CMceEvent > iEvents

RPointerArray< CMceEvent >iEvents[private]

events

MMceInEventObserver * iInEventObserver

MMceInEventObserver *iInEventObserver[private]

manager observer for incoming events

MMceInReferObserver * iInReferObserver

MMceInReferObserver *iInReferObserver[private]

manager observer for incoming refers

MMceInSessionObserver * iInSessionObserver

MMceInSessionObserver *iInSessionObserver[private]

manager observer for incoming sessions

MMceInTransactionObserver * iMceInTransactionObserver

MMceInTransactionObserver *iMceInTransactionObserver[private]

MCE In Transaction observer

MMceTransactionObserver * iMceTransactionObserver

MMceTransactionObserver *iMceTransactionObserver[private]

MCE Transaction observer

MMceStreamObserver * iMediaObserver

MMceStreamObserver *iMediaObserver[private]

media observer

TUint32 iNextId

TUint32 iNextId[private]

next id

MMceReferObserver * iReferObserver

MMceReferObserver *iReferObserver[private]

Refer observer.

RPointerArray< CMceRefer > iRefers

RPointerArray< CMceRefer >iRefers[private]

refers

TAny * iReserved

TAny *iReserved[private]

MMceRtpObserver * iRtpObserver

MMceRtpObserver *iRtpObserver[private]

rtp observer

CMceItcSender * iSender

CMceItcSender *iSender[private]

sender

RMce * iServerSession

RMce *iServerSession[private]

server client session

MMceSessionObserver * iSessionObserver

MMceSessionObserver *iSessionObserver[private]

session observer

CMceManagerReceiver * iSessionReceiver

CMceManagerReceiver *iSessionReceiver[private]

manager receiver for sessions

RPointerArray< CMceSession > iSessions

RPointerArray< CMceSession >iSessions[private]

sessions

RPointerArray< const CMceAudioCodec > iSupportedAudioCodecs

RPointerArray< const CMceAudioCodec >iSupportedAudioCodecs[private]

supported audio codecs

RPointerArray< const CMceVideoCodec > iSupportedVideoCodecs

RPointerArray< const CMceVideoCodec >iSupportedVideoCodecs[private]

supported video codecs

RPointerArray< CMceFileSource > iTranscodingFiles

RPointerArray< CMceFileSource >iTranscodingFiles[private]

currently transcoding files