CTelServer Class Reference

class CTelServer : public CPolicyServer
Public Member Functions
~CTelServer ()
void CFMessageShutdown (const CommsFW::TCFShutdownMsg &)
void ConstructL (RCFChannel::TMsgQueues, RCFChannel::TMsgQueues)
TInt Count ()
void Dec ()
TInt EmergencyClientSessionsCount ()
void Inc ()
TBool IsEmergencyClient (const CTelSession *)
TBool IsPriorityClient (const CTelSession *)
CTelServer * NewL (RCFChannel::TMsgQueues, RCFChannel::TMsgQueues)
CSession2 * NewSessionL (const TVersion &, const RMessage2 &)
TInt RemoveEmergencyClient ( CTelSession *)
TInt RemovePriorityClient ( CTelSession *)
void SetEmergencyClientSession ( CTelSession *)
TInt SetPriorityClient ( CTelSession *)
Private Member Functions
CTelServer ( TInt )
TCustomResult CustomSecurityCheckL (const RMessage2 &, TInt &, TSecurityInfo &)
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
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()
CPolicyServer::CPolicyServer(TInt,const TPolicy &,TServerType)
CPolicyServer::CheckFailedL(const RMessage2 &,TInt,const TSecurityInfo &)
CPolicyServer::CustomFailureActionL(const RMessage2 &,TInt,const TSecurityInfo &)
CPolicyServer::Extension_(TUint,TAny *&,TAny *)
CPolicyServer::ProcessError(const RMessage2 &,TInt)
CPolicyServer::ProcessL(const RMessage2 &)
CServer2::CServer2(TInt,TServerType)
CServer2::DoCancel()
CServer2::DoConnect(const RMessage2 &)
CServer2::Message()const
CServer2::ReStart()
CServer2::Server()const
CServer2::SetMaster(const CServer2 *)
CServer2::SetPinClientDescriptors(TBool)
CServer2::Start(const TDesC &)
CServer2::StartL(const TDesC &)
CServer2::~CServer2()
Inherited Enumerations
CActive:TPriority
CPolicyServer:TCustomResult
CPolicyServer:TFailureAction
CPolicyServer:TSpecialCase
CServer2:TPanic
CServer2:TServerType
Private Attributes
CTelChannelHandler * iChannelHandler
const TPolicyElement iElements
const TUint8 iElementsIndex
RPointerArray < CTelSession > iEmergencyClientSessions
TInt32 iLocationServicesNetworkGatewaySid
CPhoneManager * iPhoneManager
const TPolicy iPolicy
CTelSession * iPriorityClientSession
TInt32 iPriorityClientSid
const TUint iRangeCount
const TInt iRanges
TSecureId iSatEngineSid
CTelSchedulerStop * iSch
TInt iSessionCount
TBool iShutGracefully
Inherited Attributes
CActive::iStatus
CServer2::iSessionIter

Constructor & Destructor Documentation

CTelServer(TInt)

CTelServer ( TInt aPriority ) [private]

Parameters

TInt aPriority

~CTelServer()

~CTelServer ( )

Member Functions Documentation

CFMessageShutdown(const CommsFW::TCFShutdownMsg &)

void CFMessageShutdown ( const CommsFW::TCFShutdownMsg & aMessage )

Parameters

const CommsFW::TCFShutdownMsg & aMessage

ConstructL(RCFChannel::TMsgQueues, RCFChannel::TMsgQueues)

void ConstructL ( RCFChannel::TMsgQueues aRxQueues,
RCFChannel::TMsgQueues aTxQueues
)

Parameters

RCFChannel::TMsgQueues aRxQueues
RCFChannel::TMsgQueues aTxQueues

Count()

TInt Count ( ) const

CustomSecurityCheckL(const RMessage2 &, TInt &, TSecurityInfo &)

TCustomResult CustomSecurityCheckL ( const RMessage2 & aMsg,
TInt & aAction,
TSecurityInfo & aMissing
) [private, virtual]

Performs a custom security policy check on an IPC. Requests from the TSY the capabilities required to service the specified IPC.

In the case of Etel RTelServer::SetPriorityClient and RTelServer::SetPriorityClientV2 APIs which has IPC opcodes EEtelServerSetPriorityClient, EEtelServerSetPriorityClientV2 respectively a combination of NetworkControl and SID of the phone application is checked.

In the case of ETelMM RMobileLocationServices::Open call which has IPC opcode EEtelOpenFromSubSessionLcs, the SecureId of Location Services Network Gateway is checked.

For ETelMM RMobileCall::DialCallControl, which has IPC EMobileCallDialCallControl, a check for NetworkServices and NetworkControl capabilities is made and the SID of the SAT engine is checked.

Parameters

const RMessage2 & aMsg RMessage2 containing client capabilites and request IPC.
TInt & aAction A reference to the action to take if the security check fails.
TSecurityInfo & aMissing reference to the list of security attributes missing from the checked process.

Dec()

void Dec ( )

EmergencyClientSessionsCount()

TInt EmergencyClientSessionsCount ( )

Inc()

void Inc ( )

IsEmergencyClient(const CTelSession *)

TBool IsEmergencyClient ( const CTelSession * aSession ) const

Parameters

const CTelSession * aSession

IsPriorityClient(const CTelSession *)

TBool IsPriorityClient ( const CTelSession * aSession ) const

Parameters

const CTelSession * aSession

NewL(RCFChannel::TMsgQueues, RCFChannel::TMsgQueues)

CTelServer * NewL ( RCFChannel::TMsgQueues aRxQueues,
RCFChannel::TMsgQueues aTxQueues
) [static]

Parameters

RCFChannel::TMsgQueues aRxQueues
RCFChannel::TMsgQueues aTxQueues

NewSessionL(const TVersion &, const RMessage2 &)

CSession2 * NewSessionL ( const TVersion & aVersion,
const RMessage2 & aMessage
) const [virtual]

Creates a server-side session object.

The session represents a communication link between a client and a server, and its creation is initiated by the client through a call to one of the RSessionBase::CreateSession() variants.

A server must provide an implementation, which as a minimum should:

  • check that the version of the server is compatible with the client by comparing the client supplied version number against the server's version number; it should leave if there is incompatibility.

  • construct and return the server side client session object.

User::QueryVersionSupported()

Parameters

const TVersion & aVersion The version information supplied by the client.
const RMessage2 & aMessage Represents the details of the client request that is requesting the creation of the session.

RemoveEmergencyClient(CTelSession *)

TInt RemoveEmergencyClient ( CTelSession * aSession )

Parameters

CTelSession * aSession

RemovePriorityClient(CTelSession *)

TInt RemovePriorityClient ( CTelSession * aSession )

Parameters

CTelSession * aSession

SetEmergencyClientSession(CTelSession *)

void SetEmergencyClientSession ( CTelSession * aEmergencyClientSession )

Parameters

CTelSession * aEmergencyClientSession

SetPriorityClient(CTelSession *)

TInt SetPriorityClient ( CTelSession * aSession )

Parameters

CTelSession * aSession

Member Data Documentation

CTelChannelHandler * iChannelHandler

CTelChannelHandler * iChannelHandler [private]

const TPolicyElement iElements

const TPolicyElement iElements [private, static]

const TUint8 iElementsIndex

const TUint8 iElementsIndex [private, static]

RPointerArray< CTelSession > iEmergencyClientSessions

RPointerArray < CTelSession > iEmergencyClientSessions [private]

TInt32 iLocationServicesNetworkGatewaySid

TInt32 iLocationServicesNetworkGatewaySid [private]

CPhoneManager * iPhoneManager

CPhoneManager * iPhoneManager [private]

const TPolicy iPolicy

const TPolicy iPolicy [private, static]

CTelSession * iPriorityClientSession

CTelSession * iPriorityClientSession [private]

TInt32 iPriorityClientSid

TInt32 iPriorityClientSid [private]

const TUint iRangeCount

const TUint iRangeCount [private, static]

const TInt iRanges

const TInt iRanges [private, static]

TSecureId iSatEngineSid

TSecureId iSatEngineSid [private]

CTelSchedulerStop * iSch

CTelSchedulerStop * iSch [private]

TInt iSessionCount

TInt iSessionCount [private]

TBool iShutGracefully

TBool iShutGracefully [private]