Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
Loading...
Searching...
No Matches
RSubSessionBase Class Reference

Client-side handle to a sub-session. More...

#include <e32std.h>

Inheritance diagram for RSubSessionBase:
RDir RFile RFormat RHostResolver RNetDatabase RRawDisk RServiceResolver

Public Member Functions

TInt SubSessionHandle () const
 Gets the sub-session handle number.
 

Protected Member Functions

 RSubSessionBase ()
 Default constructor.
 
IMPORT_C const RSessionBase Session () const
 Returns a copy of the session associated with this sub-session.
 
TInt CreateSubSession (const RSessionBase &aSession, TInt aFunction, const TIpcArgs &aArgs)
 Creates a new sub-session within an existing session.
 
TInt CreateSubSession (const RSessionBase &aSession, TInt aFunction)
 Creates a new sub-session within an existing session.
 
IMPORT_C TInt CreateAutoCloseSubSession (RSessionBase &aSession, TInt aFunction, const TIpcArgs &aArgs)
 Creates a new sub-session within an existing session.
 
IMPORT_C void CloseSubSession (TInt aFunction)
 Closes the sub-session.
 
TInt Send (TInt aFunction, const TIpcArgs &aArgs) const
 Sends a blind message to the server - no reply is expected.
 
void SendReceive (TInt aFunction, const TIpcArgs &aArgs, TRequestStatus &aStatus) const
 Sends a message to the server and waits asynchronously for the reply.
 
TInt SendReceive (TInt aFunction, const TIpcArgs &aArgs) const
 Sends a message to the server and waits synchronously for a reply.
 
TInt Send (TInt aFunction) const
 Sends a blind message to the server - no reply is expected.
 
void SendReceive (TInt aFunction, TRequestStatus &aStatus) const
 Sends a message to the server and waits asynchronously for the reply.
 
TInt SendReceive (TInt aFunction) const
 Sends a message to the server and waits synchronously for a reply.
 

Detailed Description

Client-side handle to a sub-session.

It represents a client-side sub-session, and has a corresponding sub-session object on the server-side.

Clients normally define and implement a derived class to provide a richer interface. In particular, a derived class should:

  1. provide a function to create a new sub-session with the server; this should call CreateSubSession().
  2. provide a function to close the current sub-session; this should call CloseSubSession().

A session must already exist with a server before a client can establish any sub-sessions.

API status
Published to all clients. Released API.

Definition at line 4726 of file e32std.h.

Constructor & Destructor Documentation

◆ RSubSessionBase()

RSubSessionBase::RSubSessionBase ( )
inlineprotected

Default constructor.

(generated from Symbian Developer Library)

Member Function Documentation

◆ CloseSubSession()

IMPORT_C void RSubSessionBase::CloseSubSession ( TInt  aFunction)
protected

Closes the sub-session.

Parameters
aFunctionThe opcode specifying the requested service; the server should interpret this as a request to close the sub-session.

(generated from Symbian Developer Library)

◆ CreateAutoCloseSubSession()

IMPORT_C TInt RSubSessionBase::CreateAutoCloseSubSession ( RSessionBase &  aSession,
TInt  aFunction,
const TIpcArgs &  aArgs 
)
protected

Creates a new sub-session within an existing session.

The new sub-session takes ownership of the session so that when the sub-session is closed, the session is closed too. If the creation of the sub-session fails, the session is closed immediately. In other words, this method will always take ownership of the session, whether it succeeds or not and the caller should never need to close it.

Parameters
aSessionThe session to which this sub-session will belong.
aFunctionThe opcode specifying the requested service; the server should interpret this as a request to create a sub-session.
aArgsThe arguments to be sent to the server as part of the sub-session create request. The fourth argument is not sent to the server, instead it is replaced with a descriptor reference to the 32bit value where the server should store the handle of the created sub-session.

(generated from Symbian Developer Library)

◆ CreateSubSession() [1/2]

TInt RSubSessionBase::CreateSubSession ( const RSessionBase &  aSession,
TInt  aFunction 
)
inlineprotected

Creates a new sub-session within an existing session.

This variant sends no message arguments to the server.

Parameters
aSessionThe session to which this sub-session will belong.
aFunctionThe opcode specifying the requested service; the server should interpret this as a request to create a sub-session.

(generated from Symbian Developer Library)

◆ CreateSubSession() [2/2]

TInt RSubSessionBase::CreateSubSession ( const RSessionBase &  aSession,
TInt  aFunction,
const TIpcArgs &  aArgs 
)
inlineprotected

Creates a new sub-session within an existing session.

Parameters
aSessionThe session to which this sub-session will belong.
aFunctionThe opcode specifying the requested service; the server should interpret this as a request to create a sub-session.
aArgsThe message arguments.

(generated from Symbian Developer Library)

◆ Send() [1/2]

TInt RSubSessionBase::Send ( TInt  aFunction) const
inlineprotected

Sends a blind message to the server - no reply is expected.

This variant sends no message arguments to the server.

Parameters
aFunctionThe opcode specifying the requested service.

(generated from Symbian Developer Library)

◆ Send() [2/2]

TInt RSubSessionBase::Send ( TInt  aFunction,
const TIpcArgs &  aArgs 
) const
inlineprotected

Sends a blind message to the server - no reply is expected.

A set of message arguments is passed that can be used to specify client addresses, which the server can use to read from and write to the client address space.

Note that this function can fail if there are no available message-slots, either in the system wide pool (if this is being used), or in the session reserved pool (if this is being used). If the client request is synchronous, then always use the synchronous variant of SendReceive(); this is guaranteed to reach the server.

Parameters
aFunctionThe opcode specifying the requested service.
aArgsThe message arguments.

(generated from Symbian Developer Library)

◆ SendReceive() [1/4]

TInt RSubSessionBase::SendReceive ( TInt  aFunction) const
inlineprotected

Sends a message to the server and waits synchronously for a reply.

An opcode specifies the service required. This variant sends no message arguments to the server.

Parameters
aFunctionThe opcode specifying the requested service.

(generated from Symbian Developer Library)

◆ SendReceive() [2/4]

TInt RSubSessionBase::SendReceive ( TInt  aFunction,
const TIpcArgs &  aArgs 
) const
inlineprotected

Sends a message to the server and waits synchronously for a reply.

An opcode specifies the service required. A set of message arguments is passed that can be used to specify client addresses, which the server can use to read from and write to the client address space.

Note that this function will only fail if the server itself fails or environmental errors occur in the server. All requests made using this function are guaranteed to reach the server. This means that all synchronous client requests (typically those that return void) should be routed through this synchronous variant of SendReceive().

Parameters
aFunctionThe opcode specifying the requested service.
aArgsThe message arguments.

(generated from Symbian Developer Library)

◆ SendReceive() [3/4]

void RSubSessionBase::SendReceive ( TInt  aFunction,
const TIpcArgs &  aArgs,
TRequestStatus &  aStatus 
) const
inlineprotected

Sends a message to the server and waits asynchronously for the reply.

An opcode specifies the service required. A set of message arguments is passed that can be used to specify client addresses, which the server can use to read from and write to the client address space.

Note that this function can fail if there are no available message-slots, either in the system wide pool (if this is being used), or in the session reserved pool (if this is being used). If the client request is synchronous, then always use the synchronous variant of SendReceive(); this is guaranteed to reach the server.

Parameters
aFunctionThe opcode specifying the requested service.
aArgsThe message arguments.
aStatusA request status which indicates the completion status of the asynchronous request.

(generated from Symbian Developer Library)

◆ SendReceive() [4/4]

void RSubSessionBase::SendReceive ( TInt  aFunction,
TRequestStatus &  aStatus 
) const
inlineprotected

Sends a message to the server and waits asynchronously for the reply.

An opcode specifies the service required. This variant sends no message arguments to the server.

Parameters
aFunctionThe opcode specifying the requested service.
aStatusA request status which indicates the completion status of the asynchronous request.

(generated from Symbian Developer Library)

◆ Session()

IMPORT_C const RSessionBase RSubSessionBase::Session ( ) const
protected

Returns a copy of the session associated with this sub-session.

(generated from Symbian Developer Library)

◆ SubSessionHandle()

TInt RSubSessionBase::SubSessionHandle ( ) const
inline

Gets the sub-session handle number.

This number is automatically passed to the server when making requests and is used to identify the appropriate server-side sub-session.

(generated from Symbian Developer Library)


The documentation for this class was generated from the following files: