RScsClientSubsessionBase Class Reference
class RScsClientSubsessionBase : public RSubSessionBase |
This class is used to send messages to server-side SCS subsessions. This class cannot be used directly - the implementor must define a subclass.
Public Member Functions |
---|
IMPORT_C void | Close() |
Inherited Functions |
---|
| RSubSessionBase::CloseSubSession(TInt) |
| RSubSessionBase::CreateAutoCloseSubSession(RSessionBase &,TInt,const TIpcArgs &) |
| RSubSessionBase::CreateSubSession(const RSessionBase &,TInt) |
| RSubSessionBase::CreateSubSession(const RSessionBase &,TInt,const TIpcArgs &) |
| RSubSessionBase::RSubSessionBase() |
| RSubSessionBase::Send(TInt)const |
| RSubSessionBase::Send(TInt,const TIpcArgs &)const |
| RSubSessionBase::SendReceive(TInt)const |
| RSubSessionBase::SendReceive(TInt,TRequestStatus &)const |
| RSubSessionBase::SendReceive(TInt,const TIpcArgs &)const |
| RSubSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const |
| RSubSessionBase::Session()const |
| RSubSessionBase::SubSessionHandle()const |
Constructor & Destructor Documentation
RScsClientSubsessionBase()
IMPORT_C | RScsClientSubsessionBase | ( | ) | [protected] |
This protected constructor prevents the class from being instantiated directly.
Member Functions Documentation
CallSubsessionFunction(TInt)
IMPORT_C TInt | CallSubsessionFunction | ( | TInt | aFunction | ) | const [protected] |
Send a command to the corresponding server-side subsession. The subclass uses this function instead of directly calling RSubSessionBase::SendReceive because it adds the SCS code which marks this as a subsession call. Therefore, it can be routed to the subsession object on the server side without any custom decoding.
Parameters
TInt aFunction | Subsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands. |
CallSubsessionFunction(TInt, const TIpcArgs &)
IMPORT_C TInt | CallSubsessionFunction | ( | TInt | aFunction, |
| const TIpcArgs & | aArgs |
| ) | const [protected] |
Send a command to the corresponding server-side subsession. The subclass uses this function instead of directly calling RSubSessionBase::SendReceive because it adds the SCS code which marks this as a subsession call. Therefore, it can be routed to the subsession object on the server side without any custom decoding.
Parameters
TInt aFunction | Subsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands. |
const TIpcArgs & aArgs | Standard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle. |
CallSubsessionFunction(TInt, const TIpcArgs &, TRequestStatus &)
Send a command to the corresponding server-side subsession.
Parameters
TInt aFunction | Subsession command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands. |
const TIpcArgs & aArgs | Standard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle. |
TRequestStatus & aStatus | The server completes this object when it has finished handling the session. |
CancelSubsessionFunction(TInt)
IMPORT_C void | CancelSubsessionFunction | ( | TInt | aFunction | ) | const [protected] |
Cancel an outstanding subsession request. This has no effect if the request is not outstanding.
Parameters
TInt aFunction | Implementation function. This must be the same value that was supplied to CallSubsessionFunction. |
Close()
Closes the subsession, releasing resources on the server side.
CreateSubsession(const RScsClientBase &, TInt, const TIpcArgs &)
Create a subsession over the supplied session.
Parameters
const RScsClientBase & aSession | Session which will host the subsession. |
TInt aFunction | Command identifier. Bits 31:24 must be zero, because they are reserved for SCS commands. |
const TIpcArgs & aArgs | Standard IPC arguments. The fourth argument cannot be used because that is reserved for the subsession handle. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.