CEComServerSession Class Reference

class CEComServerSession : public CSession2
Since
7.0 Provides the server side session which handles the messages from REComSession , unpacking the input message parameters, calling the server and packaging the the returned data as output message parameters. Warning : The implementation of the ListImplementations method for returning an arbitrary sized data set uses a 2 phase collection method that will not work IF the session is shared and two client calls on this method are interleaved. It leads to incorrect results for one of them, with potentially fatal results. so... DO NOT SHARE SERVER SIDE SESSIONS BETWEEN CLIENTS

Inherits from

Nested Classes and Structures

Constructor & Destructor Documentation

CEComServerSession()

CEComServerSession ( )

~CEComServerSession()

~CEComServerSession ( ) [private]

Member Functions Documentation

CleanupInternalList()

void CleanupInternalList ( ) [private]
Intended Usage : Releases the list of CImplementationInformation pointers that are stored within the iList variable after a successful call to the DoListImplementations service.
Since
7.0
Pre-condition
REComServerSession is fully constructed.
Post-condition
The resources held by iList are released, and iList is NULL.

CompleteNotifications(TInt)

void CompleteNotifications ( TInt aCompletionCode )
Intended Usage : Completes all the outstanding notification requests with the supplied error code.
Since
7.0
Pre-condition
REComServerSession is fully constructed.
Post-condition
The notifications contained on the iNotificationRequests array have been completed with aCompletionCode, and the array has been cleared.

Parameters

TInt aCompletionCode The code with which to complete the notifications.

CreateL()

void CreateL ( ) [virtual]

DoCollectListL(const TClientRequest &)

TBool DoCollectListL ( const TClientRequest & aMessage ) [private]

Parameters

const TClientRequest & aMessage

DoGetResolvedImplementationL(const TClientRequest &)

void DoGetResolvedImplementationL ( const TClientRequest & aMessage ) [private]

Parameters

const TClientRequest & aMessage

DoListExtendedInterfacesL(const TClientRequest &)

void DoListExtendedInterfacesL ( const TClientRequest & aMessage ) [private]

Parameters

const TClientRequest & aMessage

DoListImplementationsL(const TClientRequest &)

void DoListImplementationsL ( const TClientRequest & aMessage ) [private]

Parameters

const TClientRequest & aMessage

DoSetGetParametersL(const TClientRequest &)

void DoSetGetParametersL ( const TClientRequest & aMessage ) [private]

Parameters

const TClientRequest & aMessage

ReceivePending()

TBool ReceivePending ( ) const [private, inline]

Server()

CEComServer & Server ( ) [private, inline]

ServiceL(const RMessage2 &)

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

Handles the servicing of a client request that has been passed to the server.

This function must be implemented in a derived class. The details of the request are contained within the message.

Parameters

const RMessage2 & aMessage The message containing the details of the client request.

ServiceL(const TClientRequest &)

void ServiceL ( const TClientRequest & aMessage ) [private]

Parameters

const TClientRequest & aMessage

UnpackMatchStrAndExtendedInterfacesFromClientL(const TClientRequest &, RExtendedInterfacesArray &, RBuf8 &)

void UnpackMatchStrAndExtendedInterfacesFromClientL ( const TClientRequest & aMessage,
RExtendedInterfacesArray & aExtendedInterfaces,
RBuf8 & aMatchStr
) [private]

UnPack the match string and extended interface from the client supplied parameters.

Parameters

const TClientRequest & aMessage
RExtendedInterfacesArray & aExtendedInterfaces Return value consisting of an array containing the extended interfaces.
RBuf8 & aMatchStr Return value consisting of the matching string.

Member Data Documentation

RImplInfoArray * iList

RImplInfoArray * iList [private]

A successful ListImplementations service request generates a list of CImplementationInformation pointers that are stored within this list.

TInt iListContext

TInt iListContext [private]

The last ListImplementations service request

CBufFlat * iMemoryStore

CBufFlat * iMemoryStore [private]

The externalised data from a ListImplementations service call held for return, pending the collection service call.

RArray< SEComNotification > iNotificationRequests

RArray < SEComNotification > iNotificationRequests [private]