CSensrvSession Class Reference

class CSensrvSession : public CSession2

Represents a session for a client thread on the server-side. A session acts as a channel of communication between the client and the server.

Since
S60 5.0

Inherits from

Public Member Functions
~CSensrvSession ()
CSensrvSession * NewL ( CSensrvServer &, CSensrvProxyManager &, TSecureId )
void NotifyChannelChange (const TSensrvResourceChannelInfo &, TSensrvChannelChangeType )
TSecureId SecureId ()
Protected Member Functions
void ServiceL (const RMessage2 &)
Private Member Functions
CSensrvSession ( CSensrvServer &, CSensrvProxyManager &, TSecureId )
void CompleteChangeNotificationMessage (const TSensrvResourceChannelInfo &, TSensrvChannelChangeType )
void ConstructL ()
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()
CSession2::CSession2()
CSession2::CountResources()
CSession2::Disconnect(const RMessage2 &)
CSession2::Extension_(TUint,TAny *&,TAny *)
CSession2::ResourceCountMarkEnd(const RMessage2 &)
CSession2::ResourceCountMarkStart()
CSession2::Server()const
CSession2::ServiceError(const RMessage2 &,TInt)
CSession2::SetServer(const CServer2 *)
CSession2::~CSession2()
Inherited Enumerations
CSession2:TPanicNo
Private Attributes
CSensrvMessage * iAsyncChannelChangeMessage
CSensrvMessage * iAsyncConditionMessage
CSensrvMessage * iAsyncDataMessage
CSensrvMessage * iAsyncPropertyMessage
CSensrvChannelChangeQueue * iChannelChangeQueue
TSensrvResourceChannelInfo iChannelChangeSearchParams
CSensrvProxyManager & iProxyManager
TSecureId iSecureId
CSensrvServer & iServer
CSensrvMessage * iSyncMessage

Constructor & Destructor Documentation

CSensrvSession(CSensrvServer &, CSensrvProxyManager &, TSecureId)

CSensrvSession ( CSensrvServer & aServer,
CSensrvProxyManager & aProxyManager,
TSecureId aSecureId
) [private]

C++ default constructor.

Parameters

CSensrvServer & aServer
CSensrvProxyManager & aProxyManager
TSecureId aSecureId

~CSensrvSession()

~CSensrvSession ( ) [virtual]

Destructor.

Member Functions Documentation

CompleteChangeNotificationMessage(const TSensrvResourceChannelInfo &, TSensrvChannelChangeType)

void CompleteChangeNotificationMessage ( const TSensrvResourceChannelInfo & aChangedChannel,
TSensrvChannelChangeType aChangeType
) [private]

Completes asynchronous change notification message. Message must exist and have valid handle

Since
S60 5.0

Parameters

const TSensrvResourceChannelInfo & aChangedChannel
TSensrvChannelChangeType aChangeType

ConstructL()

void ConstructL ( ) [private]

By default Symbian 2nd phase constructor is private.

NewL(CSensrvServer &, CSensrvProxyManager &, TSecureId)

CSensrvSession * NewL ( CSensrvServer & aServer,
CSensrvProxyManager & aProxyManager,
TSecureId aSecureId
) [static]

Two-phased constructor.

Parameters

CSensrvServer & aServer
CSensrvProxyManager & aProxyManager
TSecureId aSecureId

NotifyChannelChange(const TSensrvResourceChannelInfo &, TSensrvChannelChangeType)

void NotifyChannelChange ( const TSensrvResourceChannelInfo & aChangedChannel,
TSensrvChannelChangeType aChangeType
)

Notifies client if it is interested in channel change notifications

Since
S60 5.0

Parameters

const TSensrvResourceChannelInfo & aChangedChannel Channel information of the channel.
TSensrvChannelChangeType aChangeType If ESensrvChannelAdded, channel is a newly available channel. If ESensrvChannelRemoved, channel was removed and is no longer available.

SecureId()

TSecureId SecureId ( )

Get the Secure ID of the client process.

Since
S60 5.0

ServiceL(const RMessage2 &)

void ServiceL ( const RMessage2 & aMessage ) [protected, virtual]

From CSession2

Since
S60 5.0

Parameters

const RMessage2 & aMessage The message containing the client request

Member Data Documentation

CSensrvMessage * iAsyncChannelChangeMessage

CSensrvMessage * iAsyncChannelChangeMessage [private]

Reuse channel change messages to improve cleanup and performance. Own

CSensrvMessage * iAsyncConditionMessage

CSensrvMessage * iAsyncConditionMessage [private]

Reuse condition listening messages to improve cleanup and performance. Own

CSensrvMessage * iAsyncDataMessage

CSensrvMessage * iAsyncDataMessage [private]

Reuse data listening messages to improve cleanup and performance. Own

CSensrvMessage * iAsyncPropertyMessage

CSensrvMessage * iAsyncPropertyMessage [private]

Reuse property listening messages to improve cleanup and performance. Own

CSensrvChannelChangeQueue * iChannelChangeQueue

CSensrvChannelChangeQueue * iChannelChangeQueue [private]

Queue for channel change notifications. Own

TSensrvResourceChannelInfo iChannelChangeSearchParams

TSensrvResourceChannelInfo iChannelChangeSearchParams [private]

Search params of the active channel change notification.

CSensrvProxyManager & iProxyManager

CSensrvProxyManager & iProxyManager [private]

Proxy manager reference. Not own.

TSecureId iSecureId

TSecureId iSecureId [private]

Secure ID of the process which has been created this session.

CSensrvServer & iServer

CSensrvServer & iServer [private]

Server reference. Not own.

CSensrvMessage * iSyncMessage

CSensrvMessage * iSyncMessage [private]

Reuse synchronous messages to improve OOM cleanup. Own