The class from which event sources and sensors that post events to the application's main event queue are derived.
More...
#include <GmBufferedSensor.hpp>
|
| | GmBufferedSensor (UInt8 iSubjectId, int iRingCount, int iDataSize, GmManagedArrayRingBuffer< uint8_t, GM_SIZE_OF_APP_DATA_QUEUE > *mainEventQueue) |
| | Constructor for derived classes, when it's OK to allocate a local buffer dynamically. More...
|
| |
| | GmBufferedSensor (UInt8 iSubjectId, int iRingCount, int iDataSize, UInt8 *puiBuffer, UInt32 uiBufferSize, GmManagedArrayRingBuffer< uint8_t, GM_SIZE_OF_APP_DATA_QUEUE > *mainEventQueue) |
| | Constructor used by most derived classes on memory-constrained systems. In this case the derived class provides a buffer, usually static, so that the buffer doesn't need to be allocated dynamically. More...
|
| |
|
int | Start () |
| |
|
int | ResetBuffers () |
| |
|
Bool | HasData () |
| |
|
int | ReadRecord (char *pcDestination, int iSize) |
| | The main interface for consumers of a sensors data to get that data. It simply copies the data in the sensor's buffer into the caller's buffer. It is up to the caller to know what to do with that data, and how to free any local memory. (This function should have been name ReadNextRecord)
|
| |
|
virtual int | DeleteNextRecord () |
| | DeleteNextRecord allows a caller to discard the next record without retrieving it. The subclasses that implement DeleteNextRecord must be able to deal with any memory that needs to be freed, or other such concerns.
|
| |
| virtual int | WriteToStorage (UInt32 ui32Topic, char *pData, UInt32 iSize, GmStorage *psStorage, UInt32 ui32FormatId)=0 |
| |
|
void | SetSensorId (int iSensorId) |
| |
|
int | GetSensorId () |
| |
|
|
CChildRingBuffer * | m_rbBuffer |
| | The local buffer into which the sensor or event source stores each of its events or measurements. When an item is committed to this buffer, it also adds an event (consisting of the sensor's subject ID) into the application main event queue. The full event or measurement remains here, until the application reads the subject ID out of the main queue and then asks this sensor object for the full information by calling ReadRecord.
|
| |
|
UInt8 | m_iSubjectId |
| |
The class from which event sources and sensors that post events to the application's main event queue are derived.
◆ GmBufferedSensor() [1/2]
| GmBufferedSensor::GmBufferedSensor |
( |
UInt8 |
iSubjectId, |
|
|
int |
iRingCount, |
|
|
int |
iDataSize, |
|
|
GmManagedArrayRingBuffer< uint8_t, GM_SIZE_OF_APP_DATA_QUEUE > * |
mainEventQueue |
|
) |
| |
Constructor for derived classes, when it's OK to allocate a local buffer dynamically.
- Parameters
-
| iSubjectId | ID to be placed into the main event queue. |
| iRingCount | Max number of data items to be placed in buffer |
| iDataSize | Size of local data item |
| mainEventQueue | The main application event queue. When this sensor stores an item locally, it places its event ID (iSubjectId) into the main event queue. This pointer is not recorded here in the sensor, but is set given to the local buffer when it is set up, to that commits to the local buffer also include putting the eventID into the main event queue. |
◆ GmBufferedSensor() [2/2]
| GmBufferedSensor::GmBufferedSensor |
( |
UInt8 |
iSubjectId, |
|
|
int |
iRingCount, |
|
|
int |
iDataSize, |
|
|
UInt8 * |
puiBuffer, |
|
|
UInt32 |
uiBufferSize, |
|
|
GmManagedArrayRingBuffer< uint8_t, GM_SIZE_OF_APP_DATA_QUEUE > * |
mainEventQueue |
|
) |
| |
Constructor used by most derived classes on memory-constrained systems. In this case the derived class provides a buffer, usually static, so that the buffer doesn't need to be allocated dynamically.
- Parameters
-
| iSubjectId | ID to be placed into the main event queue. |
| iRingCount | Max number of data items to be placed in buffer |
| iDataSize | Size of local data item |
| puiBuffer | Existing (usually static) buffer to be used by sensor. |
| uiBufferSize | Total size of buffer |
| mainEventQueue | The main application event queue. When this sensor stores an item locally, it places its event ID (iSubjectId) into the main event queue. This pointer is not recorded here in the sensor, but is set given to the local buffer when it is set up, to that commits to the local buffer also include putting the eventID into the main event queue. |
The documentation for this class was generated from the following files:
- /home/kddev/dev/AppDev/GmCommon/include/GmBufferedSensor.hpp
- /home/kddev/dev/AppDev/GmCommon/GmEventSource/GmBufferedSensor.cpp