CMMFControllerProxyServer Class Reference

class CMMFControllerProxyServer : public CMmfIpcServer

The controller proxy server.

The main server inside the controller thread, responsible for creating and destroying the single session used to transmit messages from the client to the server.

Every controller plugin runs in its own thread, and has its own controller proxy server.

Since
7.0s

Inherits from

Public Member Functions
~CMMFControllerProxyServer ()
CMMFControllerProxyServer * NewL ( RServer2 *)
TInt RunError ( TInt )
void SessionCreated ()
void SessionDestroyed ()
IMPORT_C TInt StartThread ( TAny *)
Private Member Functions
CMMFControllerProxyServer ()
void ConstructL ( RServer2 *)
void DoStartThreadL ( TAny *)
CMmfIpcSession * NewSessionL (const TVersion &)
void RenameControllerProxyThread ()
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()
CMmfIpcServer::CMmfIpcServer(TInt,TServerType)
CServer2::CServer2(TInt,TServerType)
CServer2::DoCancel()
CServer2::DoConnect(const RMessage2 &)
CServer2::Extension_(TUint,TAny *&,TAny *)
CServer2::Message()const
CServer2::ReStart()
CServer2::RunL()
CServer2::Server()const
CServer2::SetMaster(const CServer2 *)
CServer2::SetPinClientDescriptors(TBool)
CServer2::Start(const TDesC &)
CServer2::StartL(const TDesC &)
CServer2::~CServer2()
Inherited Enumerations
CActive:TPriority
CServer2:TPanic
CServer2:TServerType
Private Attributes
TBool iHaveSession
CMMFControllerProxyShutdown * iShutdownTimer
Inherited Attributes
CActive::iStatus
CServer2::iSessionIter

Constructor & Destructor Documentation

CMMFControllerProxyServer()

CMMFControllerProxyServer ( ) [private]

Constructor.

Since
7.0s

~CMMFControllerProxyServer()

~CMMFControllerProxyServer ( )

Destructor.

Since
7.0s

Member Functions Documentation

ConstructL(RServer2 *)

void ConstructL ( RServer2 * aServer2 ) [private]

Second phase constructor.

Since
7.0s

Parameters

RServer2 * aServer2

DoStartThreadL(TAny *)

void DoStartThreadL ( TAny * aParam ) [private, static]

Thread startup code.

Creates the cleanup stack, installs the active scheduler and creates the server. Once all this is completed successfully, it signals the success back to the client.

This function may leave with one of the system-wide error codes.

Since
7.0s

Parameters

TAny * aParam

NewL(RServer2 *)

CMMFControllerProxyServer * NewL ( RServer2 * aServer2 ) [static]

Construct the server.

This method may leave with one of the system-wide error codes.

Since
7.0s

Parameters

RServer2 * aServer2

NewSessionL(const TVersion &)

CMmfIpcSession * NewSessionL ( const TVersion & aVersion ) const [private, virtual]

Creates a new session. Only one session may be created with the ControllerProxyServer.

This function may leave with one of the system-wide error codes.

Since
7.0s

Parameters

const TVersion & aVersion The version number of the session.

RenameControllerProxyThread()

void RenameControllerProxyThread ( ) [private, static]

Renaming Controller Proxy Server name

Since
9.2

RunError(TInt)

TInt RunError ( TInt aError ) [virtual]

Called by the active scheduler when the ServiceL of the session leaves. Completes the message with the error and restarts the server.

Since
7.0s

Parameters

TInt aError The error that the session ServiceL left with.

SessionCreated()

void SessionCreated ( )

Signals that the session has been created.

Stops the shutdown timer.

Since
7.0s

SessionDestroyed()

void SessionDestroyed ( )

Signals that the session has been destroyed. Causes the server to shut down immediately.

Since
7.0s

StartThread(TAny *)

IMPORT_C TInt StartThread ( TAny * aParam ) [static]

Static thread function.

The address of this function is passed into RThread::Create .

Unpackages the startup parameters and calls DoStartThreadL() .

Since
7.0s

Parameters

TAny * aParam

Member Data Documentation

TBool iHaveSession

TBool iHaveSession [private]

Indicates whether we have a session connected. Only one session is allowed to connect to the server.

CMMFControllerProxyShutdown * iShutdownTimer

CMMFControllerProxyShutdown * iShutdownTimer [private]

The timer used to shut down the server in case the client fails to connect a session.