CMceSession Class Reference
class CMceSession : public CBase
|
Base class for MCE sessions, inherited by both
CMceInSession
and
CMceOutSession
.
CMceSession
represents peer-to-peer connection made with remote terminal. This connection is also known as dialog and it is set up using SIP INVITE method.
The characteristics of the session are defined by user of this class by attaching media streams into the session.
After the session has been succesfylly established, it can be later updated and must be finally terminated.
If for any reason instance of this class is deleted while in established state, session is automatically terminated by MCE server.
mceclient.lib
Public Member Functions
|
|
~CMceSession
()
|
IMPORT_C void
|
AddBundleL
(
CMceStreamBundle
*)
|
void
|
AddStreamL
(
CMceMediaStream
*)
|
IMPORT_C
RPointerArray
<
CMceEvent
> *
|
AssociatedEventsL
()
|
IMPORT_C
RPointerArray
<
CMceRefer
> *
|
AssociatedRefersL
()
|
TMceFactory
|
BaseFactory
()
|
IMPORT_C const
RPointerArray
<
CMceStreamBundle
> &
|
Bundles
()
|
IMPORT_C
TBool
|
ConnectionActive
()
|
IMPORT_C
TControlPathSecurityLevel
|
ControlPathSecurityLevel
()
|
TUint32
|
DialogId
()
|
void
|
ErrorOccuredL
(
TInt
)
|
void
|
EventReceivedL
(
TMceIds
&)
|
void
|
EventReceivedL
(
TMceIds
&,
CMceMsgBase
&)
|
void
|
EventReceivedL
(
TMceIds
&,
CMceMsgBase
&,
HBufC8
*)
|
void
|
ExternalizeFlatL
(
RWriteStream
&)
|
void
|
ExternalizeL
(
MMceComSerializationContext
&)
|
void
|
FCErrorOccurred
(
TInt
)
|
void
|
FCMessageReceived
(
HBufC8
*)
|
TMceFactory
|
Factory
()
|
IMPORT_C void
|
GetModifierL
(
TMceSessionModifier
,
TUint
&)
|
void
|
GetSIPParams
(
CDesC8Array
*&,
HBufC8
*&,
CDesC8Array
*&)
|
CMceItcSender
&
|
ITCSender
()
|
TUint32
|
Id
()
|
void
|
IncomingUpdateL
(
CMceInSession
*,
HBufC8
*)
|
void
|
InternalizeFlatL
(
RReadStream
&)
|
void
|
InternalizeL
(
MMceComSerializationContext
&)
|
TBool
|
IsZombie
()
|
CMceManager
&
|
Manager
()
|
IMPORT_C const
TDesC8
&
|
Originator
()
|
void
|
PrepareForITC
(
TMceIds
&)
|
IMPORT_C
TUint32
|
Profile
()
|
IMPORT_C const
TDesC8
&
|
Recipient
()
|
IMPORT_C void
|
RemoveBundleL
(
CMceStreamBundle
&)
|
IMPORT_C void
|
RemoveStreamL
(
CMceMediaStream
&)
|
void
|
SIPParamsCleanup
(
TAny
*)
|
IMPORT_C
TMceTransactionId
|
SendRequestL
(const
TDesC8
&,
CDesC8Array
*,
HBufC8
*,
HBufC8
*)
|
IMPORT_C void
|
SendResponseL
(
TMceTransactionId
, const
TDesC8
&,
TUint32
,
CDesC8Array
*,
HBufC8
*,
HBufC8
*)
|
TUint64
|
SerializationId
()
|
IMPORT_C
TUint32
|
ServiceType
()
|
IMPORT_C
MDesC8Array
*
|
SessionSDPLinesL
()
|
IMPORT_C
TUint32
|
SessionTimer
()
|
void
|
SetFCObserver
(
MMceFcMsgObserver
*)
|
IMPORT_C void
|
SetModifierL
(
TMceSessionModifier
,
TUint
)
|
void
|
SetSIPParams
(
CDesC8Array
*,
HBufC8
*,
CDesC8Array
*)
|
IMPORT_C void
|
SetServiceTypeL
(
TUint32
)
|
IMPORT_C void
|
SetSessionSDPLinesL
(
CDesC8Array
*)
|
void
|
SetZombie
(
CMceInSession
&)
|
IMPORT_C
TState
|
State
()
|
IMPORT_C const
RPointerArray
<
CMceMediaStream
> &
|
Streams
()
|
IMPORT_C void
|
TerminateL
(
CDesC8Array
*,
HBufC8
*,
HBufC8
*)
|
TMceSessionType
|
Type
()
|
IMPORT_C void
|
UpdateL
(
TUint32
,
CDesC8Array
*,
HBufC8
*,
HBufC8
*,
CDesC8Array
*)
|
Public Member Enumerations
|
enum
|
TControlPathSecurityLevel
{
EControlPathSecurityUnknown
,
EControlPathUnsecure
,
EControlPathSecure
}
|
enum
|
TReason
{
EDeclined
,
EBusy
,
ECancelled
,
EDisconnected
}
|
enum
|
TState
{
EIdle
,
EOffering
,
EIncoming
,
EReserving
,
EAnswering
,
EProceeding
,
EEstablished
,
ECancelling
,
ETerminating
,
ETerminated
}
|
Constructor & Destructor Documentation
CMceSession(CMceManager *, TUint32)
~CMceSession()
~CMceSession
|
(
|
)
|
[virtual]
|
Member Functions Documentation
AddBundleL(CMceStreamBundle *)
Parameters
CMceStreamBundle
* aBundle
|
group of media streams; ownership of the bundle is transferred
|
AddStreamL(CMceMediaStream *)
AssociatedEventsL()
Returns the associated events, if any.
AssociatedRefersL()
Returns the associated refers, if any.
Bundles()
Gets the grouped media streams of the session.
ConnectionActive()
IMPORT_C
TBool
|
ConnectionActive
|
(
|
)
|
const
|
Returns the state of network connection of the session.
ConstructL(TBool)
void
|
ConstructL
|
(
|
TBool
|
aUpdateSession = EFalse
|
)
|
[protected]
|
Parameters
TBool
aUpdateSession = EFalse
|
|
ControlPathSecurityLevel()
Checks the assumed end-to-end security level on the session control/signalling path.
DoAddStreamL(CMceMediaStream *)
Adds stream to media streams list
ErrorOccuredL(TInt)
void
|
ErrorOccuredL
|
(
|
TInt
|
aError
|
)
|
|
EventReceivedL(TMceIds &)
void
|
EventReceivedL
|
(
|
TMceIds
&
|
aId
|
)
|
|
Handles reception of session update
Parameters
TMceIds
& aId
|
id of object whose state is needed to be updated
|
EventReceivedL(TMceIds &, CMceMsgBase &)
Handles reception of session update
Parameters
TMceIds
& aId
|
id of object whose state is needed to be updated
|
CMceMsgBase
& aMessage
|
the message
|
EventReceivedL(TMceIds &, CMceMsgBase &, HBufC8 *)
Handles reception of session update
Parameters
TMceIds
& aId
|
id of object whose state is needed to be updated
|
CMceMsgBase
& aMessage
|
the message
|
HBufC8
* aContent
|
the content
|
EventReceivedL(TMceEvent &)
void
|
EventReceivedL
|
(
|
TMceEvent
&
|
aEvent
|
)
|
[private]
|
ExternalizeFlatL(RWriteStream &)
ExternalizeL(MMceComSerializationContext &)
FCErrorOccurred(TInt)
void
|
FCErrorOccurred
|
(
|
TInt
|
aError
|
)
|
|
Floor control error handling
FCMessageReceived(HBufC8 *)
void
|
FCMessageReceived
|
(
|
HBufC8
*
|
aMessage
|
)
|
|
Floor control message handling
GetModifierL(TMceSessionModifier, TUint &)
Gets session modifier of type TUint.
-
leave
-
KErrNotFound if modifier is not found
GetSIPParams(CDesC8Array *&, HBufC8 *&, CDesC8Array *&)
Returns SIP params and gives ownership of them to caller. After call, SIP params are destroyed from session
HandleEvent(TMceEvent &)
void
|
HandleEvent
|
(
|
TMceEvent
&
|
aEvent
|
)
|
[private]
|
HandleEventRequestReceivedL(TMceEvent &)
void
|
HandleEventRequestReceivedL
|
(
|
TMceEvent
&
|
aEvent
|
)
|
[private]
|
Handles Request Event within session
HandleEventResponseReceivedL(TMceEvent &)
void
|
HandleEventResponseReceivedL
|
(
|
TMceEvent
&
|
aEvent
|
)
|
[private]
|
Handles Responses Event within session
IncomingUpdateL(CMceInSession *, HBufC8 *)
Handles reception of session update
InitializeL(TBool, TBool)
void
|
InitializeL
|
(
|
TBool
|
aClientSideMedia = ETrue,
|
|
TBool
|
aDiscardUnusedCodecs = EFalse
|
|
)
|
[protected]
|
Parameters
TBool
aClientSideMedia = ETrue
|
|
TBool
aDiscardUnusedCodecs = EFalse
|
|
InternalizeFlatL(RReadStream &)
InternalizeL(MMceComSerializationContext &)
IsZombie()
Return ETrue, if session is zombie by update
Originator()
IMPORT_C const
TDesC8
&
|
Originator
|
(
|
)
|
const
|
PrepareForITC(TMceIds &)
void
|
PrepareForITC
|
(
|
TMceIds
&
|
aId
|
)
|
|
Profile()
Returns the identifier of profile used by the sesison.
Recipient()
IMPORT_C const
TDesC8
&
|
Recipient
|
(
|
)
|
const
|
RemoveBundleL(CMceStreamBundle &)
RemoveStreamL(CMceMediaStream &)
SIPParamsCleanup(TAny *)
void
|
SIPParamsCleanup
|
(
|
TAny
*
|
aSession
|
)
|
[static]
|
Handles SIP parameter cleanup in leave situations.
SendITCEventL(TUint8)
void
|
SendITCEventL
|
(
|
TUint8
|
aITCFunction
|
)
|
[protected]
|
Parameters
TUint8
aITCFunction
|
ITC operation
|
SendRequestL(const TDesC8 &, CDesC8Array *, HBufC8 *, HBufC8 *)
SendResponseL(TMceTransactionId, const TDesC8 &, TUint32, CDesC8Array *, HBufC8 *, HBufC8 *)
SendUpdateL(HBufC8 *)
void
|
SendUpdateL
|
(
|
HBufC8
*
|
aContent
|
)
|
[private]
|
ServiceType()
IMPORT_C
TUint32
|
ServiceType
|
(
|
)
|
const
|
Returns setting for type of service value for outgoing datagrams used in session.
SessionSDPLinesL()
Gets SDP lines of the session.
SessionTimer()
IMPORT_C
TUint32
|
SessionTimer
|
(
|
)
|
const
|
Returns the session timer value of the session.
SetContainer(CMceMsgSIPReply &, HBufC8 *)
Sets container based on response
SetContainer(CMceMsgSIPData &, HBufC8 *)
Sets container based on request
SetContainer(CMceMsgArray< TMceFactory > &, HBufC8 *)
void
|
SetContainer
|
(
|
CMceMsgArray
<
TMceFactory
> &
|
aMsgArray,
|
|
HBufC8
*
|
aContent
|
|
)
|
[private]
|
Sets container based on response & handles session update
Parameters
CMceMsgArray
<
TMceFactory
> & aMsgArray
|
the data for container
|
HBufC8
* aContent
|
a content
|
SetFCObserver(MMceFcMsgObserver *)
SetModifierL(TMceSessionModifier, TUint)
Sets session modifier of type TUint.
-
leave
-
KErrNotFound if modifier is not found
SetSIPParams(CDesC8Array *, HBufC8 *, CDesC8Array *)
SetServiceTypeL(TUint32)
IMPORT_C void
|
SetServiceTypeL
|
(
|
TUint32
|
aServiceType
|
)
|
|
SetSessionSDPLinesL(CDesC8Array *)
IMPORT_C void
|
SetSessionSDPLinesL
|
(
|
CDesC8Array
*
|
aSessionSDPLines
|
)
|
|
SetZombie(CMceInSession &)
Sets this instance as zombie
State()
IMPORT_C
TState
|
State
|
(
|
)
|
const
|
Returns the state of the session.
StreamInitializeCondition(CMceMediaStream &)
Checks if the stream should be initialized.
Streams()
Returns the streams belonging to the session.
SynchronizeL(TMceIds &)
void
|
SynchronizeL
|
(
|
TMceIds
&
|
aIds
|
)
|
[protected]
|
Synchronizes session data with server
TerminateL(CDesC8Array *, HBufC8 *, HBufC8 *)
Type()
Returns the type of the session.
UpdateFailed(TMceEvent &, TMceTransactionDataContainer *)
Called after update has failed
UpdateL(TUint32, CDesC8Array *, HBufC8 *, HBufC8 *, CDesC8Array *)
UpdateL(CMceSession &)
Updates whole session object witn new one
Updated()
void
|
Updated
|
(
|
)
|
[private]
|
Member Enumerations Documentation
Enum TControlPathSecurityLevel
Enumerators
EControlPathSecurityUnknown
|
|
EControlPathUnsecure
|
|
EControlPathSecure
|
|
Enum TReason
Enumerators
EDeclined
|
|
EBusy
|
|
ECancelled
|
|
EDisconnected
|
|
Enum TState
Enumerators
EIdle
|
|
EOffering
|
|
EIncoming
|
|
EReserving
|
|
EAnswering
|
|
EProceeding
|
|
EEstablished
|
|
ECancelling
|
|
ETerminating
|
|
ETerminated
|
|
Member Data Documentation
RPointerArray< CMceStreamBundle > iBundles
MMceFcMsgObserver * iFCObserver
CMceComSession * iFlatData
RPointerArray< CMceMediaStream > iMediaStreams
CMceSessionReceiver * iReceiver
TAny * iReserved
TAny
*
|
iReserved
|
[private]
|
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.