#include <cs_port.h>
class CPort : public CObject |
Public Member Type Definitions | |
---|---|
typedef | TCommAccess TAccess |
Base class for implementations of serial protocol module ports. Its functions are called by the comms server in response to client calls to RComm.
The class implements CObject to obtain reference counting behaviour. The reference count is incremented when a port is first created, and, for ports in shared mode, on every later opening.
CPort is an abstract class which defines many pure virtual functions which derived classes must implement. Most of these pure virtual functions correspond to the client interface of the RComm class.
Created when the first client does an Open request passing its name. Destroyed only when it deletes itself (following a call to Destruct).
IMPORT_C | CPort | ( | ) |
Default constructor. Derived classes should implement a NewL() function to perform their two-phase construction.
See also: TSerialNewL
IMPORT_C | ~CPort | ( | ) | [virtual] |
Destructor.
Closes the owner (which is our CSerial) and removes any timers.
Derived classes can implement the destructor but must only call synchronous functions within it. Any cleanup requiring asynchronous operations must be done in Destruct().
TBool | AreAnyPending | ( | ) |
Return true if there is an outstanding Read/Write/Break on the CSY.
void | Break | ( | TInt | aTime | ) | [pure virtual] |
Specifies the protocol for setting a break condition at the port. It is called by the comms server in response to a RComm::Break() request from the client.
When the break is complete, the function should call BreakCompleted().
Parameter | Description |
---|---|
aTime | Time period to break for in microseconds |
void | BreakCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a break request. It is called by the comms server in response to a RComm::BreakCancel() request from the client.
The implementation should abort any processing which was taking place as a result of the break request. Do not call BreakCompleted().
IMPORT_C void | BreakCompleted | ( | TInt | anError | ) |
Tells the comms server that a break request initiated through Break() is complete.
The comms server will then notify the client that its break request is complete.
Called by C32 server or CSY.
Parameter | Description |
---|---|
anError | Return code to be passed back to the client through its TRequestStatus argument. |
IMPORT_C void | BreakNotifyCompleted | ( | TInt | anError | ) |
Tells the comms server that a request initiated through NotifyBreak() is complete.
The comms server will then notify the client that its request is complete.
Called by the CSY module.
Parameter | Description |
---|---|
anError | Error code |
IMPORT_C void | Close | ( | ) | [virtual] |
Reimplemented from CObject::Close()
Closes the port.
The base class implements CObject::Close() to handle reference counting on the port. It decrements the reference count, and calls Destruct() if the count is 0.
void | CommBreak | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Perform a break making sure of the port's owner
Parameter | Description |
---|---|
aMessage | message from the client |
aClient | handle to the client session. |
void | CommBreakCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding break
Parameter | Description |
---|---|
aHandle | handle to the client |
aClient | handle to the client session. |
void | CommCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel any outstanding requests
Parameter | Description |
---|---|
aHandle | handle to the client |
aClient | handle to the client session. |
void | CommCaps | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Read capabilities
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommConfig | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) | const |
Get config
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommDebugState | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
void | CommGetFlowControlStatus | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Get flow control state ON/OFF from CSY module
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommGetRole | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Get role DCE/DTE from CSY module
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommGetServerConfig | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Get server config
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommNotifyBreak | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Set break signal notifying on
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommNotifyBreakCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding break notification
Parameter | Description |
---|---|
aHandle | Handle to the session |
aClient | pointer to the Comm session |
void | CommNotifyConfigChange | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Set configuration change (data format, speed, ...) notifying on
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommNotifyConfigChangeCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding configuration change notification
Parameter | Description |
---|---|
aHandle | Handle to the session |
aClient | pointer to the Comm session |
void | CommNotifyDataAvailable | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Set input buffer data notifying on
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommNotifyDataAvailableCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding input buffer data notification
Parameter | Description |
---|---|
aHandle | Handle to the session |
aClient | pointer to the Comm session |
void | CommNotifyFlowControlChange | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Set flow control notifying on
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommNotifyFlowControlChangeCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding flow control notification
Parameter | Description |
---|---|
aHandle | Handle to the session |
aClient | pointer to the Comm session |
void | CommNotifyOutputEmpty | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Set output buffer empty notifying on
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommNotifyOutputEmptyCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding output buffer empty notification
Parameter | Description |
---|---|
aHandle | Handle to the session |
aClient | pointer to the Comm session |
void | CommNotifySignalChange | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Set DCE/DTE signal notifying on
Parameter | Description |
---|---|
aMessage | handle to the IPC message from the client |
aClient | pointer to the Comm session |
void | CommNotifySignalChangeCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding signal notification
Parameter | Description |
---|---|
aHandle | Handle to the session |
aClient | pointer to the Comm session |
void | CommQueryReceiveBuffer | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) | const |
Set the receive buffer length
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommRead | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Perform a read making sure of the port's owner
Parameter | Description |
---|---|
aMessage | message from the client |
aClient | handle to the client session. |
void | CommReadCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding read
Parameter | Description |
---|---|
aHandle | handle to the client |
aClient | handle to the client session. |
void | CommReceiveBufferLength | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) | const |
read the receive buffer length
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommResetBuffers | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Set the receive buffer length
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommSetAccess | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
set the access mode
Parameter | Description |
---|---|
aMessage | message from client with the new access mode |
aSession | handle to the session. |
void | CommSetAccessCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancels an outstanding set access request.
Parameter | Description |
---|---|
aClient | pointer to the CCommSession client. |
void | CommSetConfig | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Set config
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommSetReceiveBufferLength | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Set the receive buffer length
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommSetServerConfig | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Set server config
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommSetSignalsToMark | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Set signal lines
Parameter | Description |
---|---|
aMessage | message from the client. |
void | CommSetSignalsToSpace | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Clear signal lines
Parameter | Description |
---|---|
aMessage | message from the client. |
void | CommSignals | ( | const RMessage2 & | aMessage, |
CCommSession & | aSession | |||
) |
Read signals
Parameter | Description |
---|---|
aMessage | message from the client |
aSession | handle to the client session. |
void | CommWrite | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Perform a write making sure of the port's owner
Parameter | Description |
---|---|
aMessage | message from the client |
aClient | handle to the client session. |
void | CommWriteCancel | ( | TInt | aHandle, |
CCommSession * | aClient | |||
) |
Cancel outstanding write
Parameter | Description |
---|---|
aHandle | handle to the client |
aClient | handle to the client session. |
Tells the comms server that a request initiated through NotifyConfigChange() is complete.
The comms server will then notify the client that its request is complete.
Called by the CSY module.
Parameter | Description |
---|---|
aNewConfig | Configuration value to pass to client |
anError | Error code |
void | Destruct | ( | ) | [pure virtual] |
Specifies the protocol for port destruction. It is called by the comms server when the last client-side reference to a CPort object has been closed and the CPort must be deleted. The comms server will not delete a CPort other than by calling Destruct().
The implementation should perform any asynchronous shutdown operations on its own resources and, when these operations have completed, should delete this.
IMPORT_C void | FlowControlChangeCompleted | ( | const TFlowControl & | aFlowControl, |
TInt | anError | |||
) |
Tells the comms server that a request initiated through NotifyFlowControlChange() is complete.
The comms server will then notify the client that its request is complete.
Called by the CSY module.
Parameter | Description |
---|---|
aFlowControl | Flow control to pass to client |
anError | Error code |
void | FreeMemory | ( | ) | [virtual] |
Specifies a protocol by which the comms server can request the protocol to release memory. Typically, an implementation may be able to do this by reducing internal buffers.
The default behaviour is to do nothing.
void | FreeSession | ( | CCommSession * | aSession | ) |
Perform CPort based housekeeping before closing a session
Parameter | Description |
---|---|
aSession | pointer to the session to free. |
Specifies a protocol for getting the port capabilities. It is called by the comms server in response to a RComm::Caps() request from the client.
Parameter | Description |
---|---|
aPackage | A TCommCaps package buffer that, on return, holds the port capabilities |
Returns: A system error code
Specifies a protocol for getting the current configuration of the serial port. It is called by the comms server in response to a RComm::GetConfig() request from the client.
Parameter | Description |
---|---|
aPackage | A packaged TCommConfig buffer, set on return to the current configuration of the serial port |
Returns: A system wide error code
TInt | GetFlowControlStatus | ( | TFlowControl & | aFlowControl | ) | [pure virtual] |
Gets flow control status. It is called by the comms server in response to a RComm::SetMode() request from the client.
Parameter | Description |
---|---|
aFlowControl | Flow control status to return to the client |
Returns: A system-wide error code
Specifies a protocol for requesting the size of the serial port buffers. It is called by the comms server in response to a RComm::ReceiveBufferLength() request from the client.
Parameter | Description |
---|---|
aLength | The current size of the serial port buffers in bytes |
Returns: A system error code
Gets DCE/DTE role. It is called by the comms server in response to a RComm::GetRole() request from the client.
Parameter | Description |
---|---|
aRole | On return, DCE/DTE role to return to the client |
Returns: A system-wide error code
Specifies a protocol for getting the buffer mode. It is called by the comms server in response to a RComm::Mode() request from the client.
Parameter | Description |
---|---|
aPackage | A TCommServerConfig package buffer that, on return, holds the current buffer mode settings |
Returns: A system error code
Specifies a protocol for getting the status of the serial port control lines. It is called by the comms server in response to a RComm::GetSignals() request from the client.
Parameter | Description |
---|---|
aSignals | An integer with the bits set to reflect the status of the handshaking lines. |
Returns: A system error code
Reads data from the client's (the user of the port's) address space.
The client address space pointer is obtained from the aClientBuffer argument to StartRead().
Note:
This function is normally called by the CSY
Note:
Used as part of RComm::Write
See also: RThread::ReadL() for more information on reading data in other address spaces.
Parameter | Description |
---|---|
aPtr | Not Used. The client data is now obtained from iBlockedWrite. |
aDes | A descriptor (8 bit variant) into which the result of the client address space read operation will be stored |
aOffset | The read offset from the start of the client's descriptor data. |
Returns: TInt KErrNone: success KErrNotReady: there is no read or write request outstanding KErrBadDescriptor: the client's descriptor is not valid.
Writes into the client's (the user of the port's) address space.
The client address space pointer is obtained from the aClientBuffer argument to StartWrite().
Note:
This function is normally called by the CSY
Note:
Used as part of RComm::Read
See also: RThread::WriteL() for more information on writing data to other address spaces.
Parameter | Description |
---|---|
aPtr | Client address space pointer |
aDes | A descriptor (8 bit variant) into which the result of the client address space read will be stored |
aOffset | The offset from aPtr at which to start reading |
Returns: TInt KErrNone: success KErrNotReady: there is no read or write request outstanding KErrBadDescriptor: the client's descriptor is not valid.
TBool | IsBlockedSetAccessWaiting | ( | CCommSession & | aClient | ) |
Checks if a CommSetAccess() request is waiting for the port.
Parameter | Description |
---|---|
aClient | The CCommSession client to check against. |
Returns: True if a request is pending, false otherwise.
void | NotifyBreak | ( | ) | [pure virtual] |
Specifies the protocol for setting a "break" notification. It is called by the comms server in response to a RComm::NotifyBreak() request from the client.
void | NotifyBreakCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a "break" notification. It is called by the comms server in response to a RComm::NotifyBreakCancel() request from the client.
void | NotifyConfigChange | ( | ) | [pure virtual] |
Specifies the protocol for setting a "configuration change" notification. It is called by the comms server in response to a RComm::NotifyConfigChange() request from the client.
void | NotifyConfigChangeCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a "configuration change" notification. It is called by the comms server in response to a RComm::NotifyConfigChangeCancel() request from the client.
void | NotifyDataAvailable | ( | ) | [pure virtual] |
Specifies the protocol for setting a "data available" notification. It is called
by the comms server in response to a RComm::NotifyDataAvailable() request from the client.
void | NotifyDataAvailableCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a "data available" notification. It is called by the comms server in response to a RComm::NotifyDataAvailableCancel() request from the client.
IMPORT_C void | NotifyDataAvailableCompleted | ( | TInt | anError | ) |
Tells the comms server that a request initiated through NotifyDataAvailable() is complete.
The comms server will then notify the client that its request is complete.
Called by the CSY module.
Parameter | Description |
---|---|
anError | Error code |
void | NotifyFlowControlChange | ( | ) | [pure virtual] |
Specifies the protocol for setting a "flow control change" notification. It is called by the comms server in response to a RComm::NotifyFlowControlChange() request from the client.
void | NotifyFlowControlChangeCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a "flow control change" notification. It is called by the comms server in response to a RComm::NotifyFlowControlChangeCancel() request from the client.
void | NotifyOutputEmpty | ( | ) | [pure virtual] |
Specifies the protocol for setting a transmit buffer empty notification. It is called by the comms server in response to a RComm::NotifyOutputEmpty() request from the client.
void | NotifyOutputEmptyCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a transmit buffer empty notification. It is called by the comms server in response to a RComm::NotifyOutputEmptyCancel() request from the client.
IMPORT_C void | NotifyOutputEmptyCompleted | ( | TInt | anError | ) |
Tells the comms server that a request initiated through NotifyOutputEmpty() is complete.
The comms server will then notify the client that its request is complete.
Called by the CSY module.
Parameter | Description |
---|---|
anError | Error code |
void | NotifySignalChange | ( | TUint | aSignalMask | ) | [pure virtual] |
Specifies the protocol for setting a "signal change" notification. It is called by the comms server in response to a RComm::NotifySignalChange() request from the client.
Parameter | Description |
---|---|
aSignalMask | Signal mask passed by client |
void | NotifySignalChangeCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling a "signal change" notification. It is called by the comms server in response to a RComm::NotifySignalChangeCancel() request from the client.
Specifies a protocol for requesting the number of bytes that are currently waiting in the port's receive buffer. It is called by the comms server in response to a RComm::QueryReceiveBuffer() request from the client.
Parameter | Description |
---|---|
aLength | On return, the number of bytes currently waiting to be read from the receive buffer. |
Returns: A system wide error code.
void | ReadCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling reading from the port. It is called by the comms server in response to a RComm::ReadCancel() request from the client or when the iReadTimer timer expires.
The implementation should abort any processing which was taking place as a result of the read request. Do not call ReadCompleted().
IMPORT_C void | ReadCompleted | ( | TInt | anError | ) |
Tells the comms server that a read request initiated through StartRead() is complete.
The comms server will then notify the client that its read request is complete.
Called by C32 server or CSY.
Parameter | Description |
---|---|
anError | Return code to be passed back to the client through its TRequestStatus argument. |
This static function is called when the read timer expires. installed by CPort::CommRead as TCallBack
Parameter | Description |
---|---|
aPtr | pointer to the CPort with the timedout read |
Returns: KErrNone always.
void | ResetBuffers | ( | TUint | aFlags | ) | [pure virtual] |
Specifies a protocol for resetting the receive and/or transmit buffers to zero length. It is called by the comms server in response to a RComm::ResetBuffers() request from the client.
Parameter | Description |
---|---|
aFlags | Bitmask of the following flags: KCommResetRx to reset the receive buffer; KCommResetTx to reset the transmit buffer |
TBool | SessionHasBeenPreempted | ( | CCommSession * | aSession | ) |
returns true if session has been pre-empted
Parameter | Description |
---|---|
aSession | session to be questioned |
Returns: TBool pre-empted status of this session. ETrue if session has been pre-empted, EFalse otherwise.
TBool | SessionIsAwaitingOpen | ( | CCommSession * | aSession | ) |
returns true if session is waiting for open
Parameter | Description |
---|---|
aSession | session to be questioned |
Returns: TBool ETrue if session is awaiting open, EFalse otherwise.
Specifies a protocol for setting the configuration of the port. It is called by the comms server in response to a RComm::SetConfig() request from the client.
Parameter | Description |
---|---|
aPackage | A packaged TCommConfig buffer holding the new configuration values |
Returns: A system error code
Specifies a protocol for setting the size of the serial port buffers. It is called by the comms server in response to a RComm::SetReceiveBufferLength() request from the client.
Parameter | Description |
---|---|
aLength | Requested size of the serial port buffers in bytes |
Returns: A system error code
Sets DCE/DTE role. It is called by the comms server in response to a RComm::Open() request from the client.
Parameter | Description |
---|---|
aRole | DCE/DTE role |
Returns: A system-wide error code
Specifies a protocol for setting the buffer mode. It is called by the comms server in response to a RComm::SetMode() request from the client.
Parameter | Description |
---|---|
aPackage | A TCommServerConfig package buffer holding the mode settings |
Returns: A system-wide error code
Specifies a protocol for setting serial port control lines. It is called by the comms server in response to a RComm::SetSignals() request from the client.
Parameter | Description |
---|---|
aSignals | A bitmask of the handshaking lines to set |
Returns: A system error code
Specifies a protocol for clearing serial port control lines. It is called by the comms server in response to a RComm::SetSignals() request from the client.
Parameter | Description |
---|---|
aSignals | A bitmask of the handshaking lines to clear |
Returns: A system error code
Tells the comms server that a request initiated through NotifySignalChange() is complete.
The comms server will then notify the client that its request is complete.
Called by the CSY module.
Parameter | Description |
---|---|
aSignals | The new signals value to pass to the client. |
anError | An error code. |
Specifies the protocol for reading from the port. It is called by the comms server in response to a RComm::Read() or RComm::ReadOneOrMore() request from the client.
A negative value for aLength is used to flag that the read request was from RComm::ReadOneOrMore() rather than from RComm::Read(). The maximum length of data to be read is the absolute value of aLength.
The implementation should use IPCWrite() to write the data to the client's buffer. When all the data has been read, the function should call ReadCompleted().
Parameter | Description |
---|---|
aClientBuffer | Pointer into client address space to the descriptor containing the client's buffer |
aLength | The amount of data to be read |
Specifies the protocol for writing to the port. It is called by the comms server in response to a RComm::Write() request from the client.
The implementation should use IPCRead() to get the data to write from the client's buffer. When all the data has been written, the function should call WriteCompleted().
Parameter | Description |
---|---|
aClientBuffer | Pointer into client address space to the descriptor containing the client's buffer |
aLength | The amount of data to be written |
TBool | TakeOwnershipForBreak | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
We check that break notifying is not called twice at the same time
Parameter | Description |
---|---|
aClient | pointer to the Comm session |
Returns: ETrue if not owner, EFalse if owner
TBool | TakeOwnershipForBreaking | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Check if a Break request is valid and take ownership of port
Parameter | Description |
---|---|
aClient | handle to the client session |
Returns: TBool ETrue if ownership granted, EFalse otherwise.
TBool | TakeOwnershipForConfig | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
We check that config change notifying is not called twice at the same time
Parameter | Description |
---|---|
aClient | pointer to the Comm session |
Returns: ETrue if not owner, EFalse if owner
TBool | TakeOwnershipForFlowControl | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
We check that flowcontrol notifying is not called twice at the same time
Parameter | Description |
---|---|
aClient | pointer to the Comm session |
Returns: ETrue if not owner, EFalse if owner
TBool | TakeOwnershipForNotifyDataAvailable | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
We check that input buffer data notifying is not called twice at the same time
Parameter | Description |
---|---|
aClient | pointer to the Comm session |
Returns: ETrue if not owner, EFalse if owner
TBool | TakeOwnershipForNotifyOutputEmpty | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
We check that output buffer empty notifying is not called twice at the same time
Parameter | Description |
---|---|
aClient | pointer to the Comm session |
Returns: ETrue if not owner, EFalse if owner
TBool | TakeOwnershipForReading | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Check if a Read request is valid and take ownership of port
Parameter | Description |
---|---|
aClient | handle to the client session |
Returns: TBool ETrue if ownership granted, EFalse otherwise.
TBool | TakeOwnershipForSignals | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
We check that signal notifying is not called twice at the same time
Parameter | Description |
---|---|
aClient | pointer to the Comm session |
Returns: ETrue if not owner, EFalse if owner
TBool | TakeOwnershipForWriting | ( | const RMessage2 & | aMessage, |
CCommSession * | aClient | |||
) |
Check if a Write request is valid and take ownership of port
Parameter | Description |
---|---|
aClient | handle to the client session |
Returns: TBool ETrue if ownership granted, EFalse otherwise.
void | WriteCancel | ( | ) | [pure virtual] |
Specifies the protocol for cancelling writing to the port. It is called by the comms server in response to a RComm::WriteCancel() request from the client.
The implementation should abort any processing which was taking place as a result of the write request. Do not call WriteCompleted().
IMPORT_C void | WriteCompleted | ( | TInt | anError | ) |
Tells the comms server that a write request initiated through StartWrite() is complete.
The comms server will then notify the client that its write request is complete.
Called by C32 server or CSY.
Parameter | Description |
---|---|
anError | Return code to be passed back to the client through its TRequestStatus argument. |
This static function is called when the write timer expires. installed by CPort::CommWrite as TCallBack
Parameter | Description |
---|---|
aPtr | pointer to the CPort with the timedout write |
Returns: KErrNone always.