CTelServer Class Reference

class CTelServer : public CPolicyServer

Inherits from

Public Member Functions
~CTelServer()
voidCFMessageShutdown(const CommsFW::TCFShutdownMsg &)
voidConstructL(RCFChannel::TMsgQueues, RCFChannel::TMsgQueues)
TInt Count()
voidDec()
TInt EmergencyClientSessionsCount()
voidInc()
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 *)
voidSetEmergencyClientSession(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 TPolicyElementiElements
const TUint8iElementsIndex
RPointerArray< CTelSession >iEmergencyClientSessions
TInt32 iLocationServicesNetworkGatewaySid
CPhoneManager *iPhoneManager
const TPolicyiPolicy
CTelSession *iPriorityClientSession
TInt32 iPriorityClientSid
const TUintiRangeCount
const TIntiRanges
TSecureId iSatEngineSid
CTelSchedulerStop *iSch
TInt iSessionCount
TBool iShutGracefully
Inherited Attributes
CActive::iStatus
CServer2::iSessionIter

Constructor & Destructor Documentation

CTelServer(TInt)

CTelServer(TIntaPriority)[private]

Parameters

TInt aPriority

~CTelServer()

~CTelServer()

Member Functions Documentation

CFMessageShutdown(const CommsFW::TCFShutdownMsg &)

voidCFMessageShutdown(const CommsFW::TCFShutdownMsg &aMessage)

Parameters

const CommsFW::TCFShutdownMsg & aMessage

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

voidConstructL(RCFChannel::TMsgQueuesaRxQueues,
RCFChannel::TMsgQueuesaTxQueues
)

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 & aMsgRMessage2 containing client capabilites and request IPC.
TInt & aActionA reference to the action to take if the security check fails.
TSecurityInfo & aMissingreference to the list of security attributes missing from the checked process.

Dec()

voidDec()

EmergencyClientSessionsCount()

TInt EmergencyClientSessionsCount()

Inc()

voidInc()

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::TMsgQueuesaRxQueues,
RCFChannel::TMsgQueuesaTxQueues
)[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 & aVersionThe version information supplied by the client.
const RMessage2 & aMessageRepresents 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 *)

voidSetEmergencyClientSession(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 TPolicyElementiElements[private, static]

const TUint8 iElementsIndex

const TUint8iElementsIndex[private, static]

RPointerArray< CTelSession > iEmergencyClientSessions

RPointerArray< CTelSession >iEmergencyClientSessions[private]

TInt32 iLocationServicesNetworkGatewaySid

TInt32 iLocationServicesNetworkGatewaySid[private]

CPhoneManager * iPhoneManager

CPhoneManager *iPhoneManager[private]

const TPolicy iPolicy

const TPolicyiPolicy[private, static]

CTelSession * iPriorityClientSession

CTelSession *iPriorityClientSession[private]

TInt32 iPriorityClientSid

TInt32 iPriorityClientSid[private]

const TUint iRangeCount

const TUintiRangeCount[private, static]

const TInt iRanges

const TIntiRanges[private, static]

TSecureId iSatEngineSid

TSecureId iSatEngineSid[private]

CTelSchedulerStop * iSch

CTelSchedulerStop *iSch[private]

TInt iSessionCount

TInt iSessionCount[private]

TBool iShutGracefully

TBool iShutGracefully[private]