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.