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

The user-side handle to a logical channel. More...

#include <e32cmn.h>

Inheritance diagram for RBusLogicalChannel:
RHandleBase

Public Member Functions

IMPORT_C TInt Open (RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess)
 Opens a handle to a logical channel using a handle number sent by a client to a server.
 
IMPORT_C TInt Open (TInt aArgumentIndex, TOwnerType aType=EOwnerProcess)
 Opens a logical channel handle using a handle number passed as an environment data item to the child process during the creation of that child process.
 
- Public Member Functions inherited from RHandleBase
 RHandleBase ()
 Default constructor.
 
TInt Handle () const
 Retrieves the handle-number of the object associated with this handle.
 
void SetHandle (TInt aHandle)
 Sets the handle-number of this handle to the specified value.
 
TInt SetReturnedHandle (TInt aHandleOrError)
 Sets the handle-number of this handle to the specified value.
 
IMPORT_C void Close ()
 Closes the handle.
 
IMPORT_C TName Name () const
 Gets the name of the handle.
 
IMPORT_C TFullName FullName () const
 Gets the full name of the handle.
 
IMPORT_C void FullName (TDes &aName) const
 Gets the full name of the handle.
 
IMPORT_C void SetHandleNC (TInt aHandle)
 Sets the handle-number of this handle to the specified value, and marks it as not closable.
 
IMPORT_C TInt Duplicate (const RThread &aSrc, TOwnerType aType=EOwnerProcess)
 Creates a valid handle to the kernel object for which the specified thread already has a handle.
 
IMPORT_C void HandleInfo (THandleInfo *anInfo)
 Gets information about the handle.
 
IMPORT_C TUint Attributes () const
 
IMPORT_C TInt BTraceId () const
 Returns a unique object identifier for use with BTrace.
 
IMPORT_C void NotifyDestruction (TRequestStatus &aStatus)
 Internal technology API.
 

Protected Member Functions

TInt DoCreate (const TDesC &aDevice, const TVersion &aVer, TInt aUnit, const TDesC *aDriver, const TDesC8 *anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse)
 Creates the logical channel.
 
IMPORT_C void DoCancel (TUint aReqMask)
 Cancels one or more outstanding asynchronous requests.
 
IMPORT_C void DoRequest (TInt aReqNo, TRequestStatus &aStatus)
 Queues an asynchronous request for the device driver, taking no parameters.
 
IMPORT_C void DoRequest (TInt aReqNo, TRequestStatus &aStatus, TAny *a1)
 Queues an asynchronous request for the device driver, taking one parameter.
 
IMPORT_C void DoRequest (TInt aReqNo, TRequestStatus &aStatus, TAny *a1, TAny *a2)
 Queues an asynchronous request for the device driver, taking two parameters.
 
IMPORT_C TInt DoControl (TInt aFunction)
 Makes a synchronous request to the device driver, taking no parameters.
 
IMPORT_C TInt DoControl (TInt aFunction, TAny *a1)
 Makes a synchronous request to the device driver, taking one parameter.
 
IMPORT_C TInt DoControl (TInt aFunction, TAny *a1, TAny *a2)
 Makes a synchronous request to the device driver, taking two parameters.
 
TInt DoSvControl (TInt aFunction)
 
TInt DoSvControl (TInt aFunction, TAny *a1)
 
TInt DoSvControl (TInt aFunction, TAny *a1, TAny *a2)
 
- Protected Member Functions inherited from RHandleBase
 RHandleBase (TInt aHandle)
 Copy constructor.
 
IMPORT_C TInt Open (const TFindHandleBase &aHandle, TOwnerType aType)
 Opens a handle to a kernel side object found using a find-handle object.
 
TInt OpenByName (const TDesC &aName, TOwnerType aOwnerType, TInt aObjectType)
 Implementation for RXxxxx::Open/OpenGlocbal(const TDesC &aName,,TOwnerType aType) functions.
 

Additional Inherited Members

- Public Types inherited from RHandleBase
enum  TAttributes { EReadAccess =0x1 , EWriteAccess =0x2 , EDirectReadAccess =0x4 , EDirectWriteAccess =0x8 }
 Read/Write attributes for the handle. More...
 
- Static Public Member Functions inherited from RHandleBase
static void DoExtendedClose ()
 
- Static Protected Member Functions inherited from RHandleBase
static TInt SetReturnedHandle (TInt aHandleOrError, RHandleBase &aHandle)
 
- Protected Attributes inherited from RHandleBase
TInt iHandle
 

Detailed Description

The user-side handle to a logical channel.

The class provides functions that are used to open a channel to a device driver, and to make requests. A device driver provides a derived class to give the user-side a tailored interface to the driver.

API status
Published to all clients. Released API.

Definition at line 2757 of file e32cmn.h.

Member Function Documentation

◆ DoCancel()

IMPORT_C void RBusLogicalChannel::DoCancel ( TUint  aReqMask)
protected

Cancels one or more outstanding asynchronous requests.

All outstanding requests complete with KErrCancel.

Parameters
aReqMaskA set of bits identifying the requests to be cancelled. Each bit can be used to identify a separate outstanding request. It is up to the driver to define how the bits map to those outstanding requests.

(generated from Symbian Developer Library)

◆ DoControl() [1/3]

IMPORT_C TInt RBusLogicalChannel::DoControl ( TInt  aFunction)
protected

Makes a synchronous request to the device driver, taking no parameters.

This function does not return until the request has completed, successfully or otherwise.

Parameters
aFunctionA number identifying the request.

(generated from Symbian Developer Library)

◆ DoControl() [2/3]

IMPORT_C TInt RBusLogicalChannel::DoControl ( TInt  aFunction,
TAny *  a1 
)
protected

Makes a synchronous request to the device driver, taking one parameter.

This function does not return until the request has completed, successfully or otherwise.

Parameters
aFunctionA number identifying the request.
a1A 32-bit value passed to the kernel-side. Its meaning depends on the device driver requirements.

(generated from Symbian Developer Library)

◆ DoControl() [3/3]

IMPORT_C TInt RBusLogicalChannel::DoControl ( TInt  aFunction,
TAny *  a1,
TAny *  a2 
)
protected

Makes a synchronous request to the device driver, taking two parameters.

This function does not return until the request has completed, successfully or otherwise.

Parameters
aFunctionA number identifying the request.
a1A 32-bit value passed to the kernel-side. Its meaning depends on the device driver requirements.
a2A 32-bit value passed to the kernel-side. Its meaning depends on the device driver requirements.

(generated from Symbian Developer Library)

◆ DoCreate()

TInt RBusLogicalChannel::DoCreate ( const TDesC &  aDevice,
const TVersion &  aVer,
TInt  aUnit,
const TDesC *  aDriver,
const TDesC8 *  anInfo,
TOwnerType  aType = EOwnerProcess,
TBool  aProtected = EFalse 
)
inlineprotected

Creates the logical channel.

Parameters
aDeviceThe name of the logical device for which the channel is to be constructed. This is the name by which the LDD factory object, i.e. the instance of the DLogicalDevice derived class, is known.
aVerThe required version of the logical device. The driver normally checks this against the version of the logical channel, returning KErrNotSupported if the logical channel is not compatible.
aUnitA unit of the device. This argument only has meaning if the flag KDeviceAllowUnit is set in the iParseMask data member of the LDD factory object.
aDriverA pointer to a descriptor containing the name of a physical device. This is the name by which the PDD factory object, i.e. the instance of the DPhysicalDevice derived class, is known. This is NULL, if no explicit name is to be supplied, or the logical device does not require an accompanying physical device.
anInfoA pointer to an explicit 8-bit descriptor containing extra information for the physical device. This argument only has meaning if the KDeviceAllowInfo flag is set in the iParseMask data member of the LDD factory object.
aTypeAn enumeration whose enumerators define the ownership of this handle. If not explicitly specified, EOwnerProcess is taken as default.
aProtectedIf false, the channel is created as an object which is local/private to the current process. If true, the channel is an object which may be shared with other processes using the IPC mechanisms for handle passing.

(generated from Symbian Developer Library)

◆ DoRequest() [1/3]

IMPORT_C void RBusLogicalChannel::DoRequest ( TInt  aReqNo,
TRequestStatus &  aStatus 
)
protected

Queues an asynchronous request for the device driver, taking no parameters.

The request is handled on the kernel-side by the logical channel's DLogicalChannelBase::Request().

Outstanding requests can be cancelled by calling DoCancel().

Parameters
aReqNoA number identifying the request to the logical channel.
aStatusThe request status object for this request.

(generated from Symbian Developer Library)

◆ DoRequest() [2/3]

IMPORT_C void RBusLogicalChannel::DoRequest ( TInt  aReqNo,
TRequestStatus &  aStatus,
TAny *  a1 
)
protected

Queues an asynchronous request for the device driver, taking one parameter.

The request is handled on the kernel-side by the logical channel's DLogicalChannelBase::Request().

Outstanding requests can be cancelled by calling DoCancel().

Parameters
aReqNoA number identifying the request to the logical channel.
aStatusThe request status object for this request.
a1A 32-bit value passed to the kernel-side. Its meaning depends on the device driver requirements.

(generated from Symbian Developer Library)

◆ DoRequest() [3/3]

IMPORT_C void RBusLogicalChannel::DoRequest ( TInt  aReqNo,
TRequestStatus &  aStatus,
TAny *  a1,
TAny *  a2 
)
protected

Queues an asynchronous request for the device driver, taking two parameters.

The request is handled on the kernel-side by the logical channel's DLogicalChannelBase::Request().

Outstanding requests can be cancelled by calling DoCancel().

Parameters
aReqNoA number identifying the request to the logical channel.
aStatusThe request status object for this request.
a1A 32-bit value passed to the kernel-side. Its meaning depends on the device driver requirements.
a2A 32-bit value passed to the kernel-side. Its meaning depends on the device driver requirements.

(generated from Symbian Developer Library)

◆ DoSvControl() [1/3]

TInt RBusLogicalChannel::DoSvControl ( TInt  aFunction)
inlineprotected

Definition at line 2771 of file e32cmn.h.

◆ DoSvControl() [2/3]

TInt RBusLogicalChannel::DoSvControl ( TInt  aFunction,
TAny *  a1 
)
inlineprotected

Definition at line 2772 of file e32cmn.h.

◆ DoSvControl() [3/3]

TInt RBusLogicalChannel::DoSvControl ( TInt  aFunction,
TAny *  a1,
TAny *  a2 
)
inlineprotected

Definition at line 2773 of file e32cmn.h.

◆ Open() [1/2]

IMPORT_C TInt RBusLogicalChannel::Open ( RMessagePtr2  aMessage,
TInt  aParam,
TOwnerType  aType = EOwnerProcess 
)

Opens a handle to a logical channel using a handle number sent by a client to a server.

This function is called by the server.

Parameters
aMessageThe message pointer.
aParamAn index specifying which of the four message arguments contains the handle number.
aTypeAn enumeration whose enumerators define the ownership of this logical channel handle. If not explicitly specified, EOwnerProcess is taken as default.

(generated from Symbian Developer Library)

◆ Open() [2/2]

IMPORT_C TInt RBusLogicalChannel::Open ( TInt  aArgumentIndex,
TOwnerType  aType = EOwnerProcess 
)

Opens a logical channel handle using a handle number passed as an environment data item to the child process during the creation of that child process.

Note that this function can only be called successfully once.

Parameters
aArgumentIndexAn index that identifies the slot in the process environment data that contains the handle number. This is a value relative to zero, i.e. 0 is the first item/slot. This can range from 0 to 15.
aTypeAn enumeration whose enumerators define the ownership of this logical channel handle. If not explicitly specified, EOwnerProcess is taken as default.

(generated from Symbian Developer Library)


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