#include <sensrvdatalistener.h>
class MSensrvDataListener |
Public Member Functions | |
---|---|
pure virtual void | DataError(CSensrvChannel &, TSensrvErrorSeverity) |
pure virtual void | DataReceived(CSensrvChannel &, TInt, TInt) |
pure virtual void | GetDataListenerInterfaceL(TUid, TAny *&) |
Data listener callback interface to indicate when data is available for clients to read.
This class is for use with the CSensrvChannel::StartDataListeningL() method. Clients wishing to use data listening must inherit from this class and provide a reference to an instance of it in CSensrvChannel::StartDataListeningL().
See also: CSensrvChannel::StartDataListeningL() CSensrvChannel::GetData() CSensrvChannel::StopDataListening()
void | DataError | ( | CSensrvChannel & | aChannel, |
TSensrvErrorSeverity | aError | |||
) | [pure virtual] |
Callback implemented by a client so that they can be notified when data listening has failed. If the error is fatal the channel will be closed, the sensor server session has been terminated and the channel object is no longer useable. If the error is minor, some data has potentially been lost, however listening is still active.
Clients providing an implementation for this callback must ensure that the operation does not leave. If a leave does occur then the behaviour is undefined.
Parameter | Description |
---|---|
aChannel | Channel associated with the listener |
aError | The error severity |
Callback implemented by a client so that they can be notified that data is available to read. A client can read the data using CSensrvChannel::GetData(). Data is valid until this DataReceived() notification occurs again.
Data loss can occur if the client does not retrieve data, using SensrvChannel::GetData(), from server fast enough after the client has been told it is availble. This can happen when system is under heavy load and the client process has lower priority than sensor server process. If data loss is a problem consider using a higher object count in data listening, which will reduce the number of IPC context switches.
Clients providing an implementation for this callback must ensure that the operation does not leave. If a leave does occur then the behaviour is undefined.
See also: CSensrvChannel::GetData()
Parameter | Description |
---|---|
aChannel | Channel associated with the listener |
aCount | Data object count contained in data to be read |
aDataLost | Number of lost data items. |
Callback to future proof this API so that additional callbacks can be added in the future without breaking binary compatibility.
Parameter | Description |
---|---|
aInterfaceUid | Identifier for the interface to be retrieved |
aInterface | A reference to a pointer for the specified interface. Implementation sets aInterface to a valid pointer if the M-class identified by aInterfaceUid is supported, otherwise it is set to NULL on exit. |