31#ifndef DW_FRAMEWORK_VEHICLE_STATE_DRAINER_HPP_
32#define DW_FRAMEWORK_VEHICLE_STATE_DRAINER_HPP_
34#include <dwframework/dwnodes/sensors/dwsensornode/dwSensorDrainerTemplate.hpp>
35#include <dwframework/dwnodes/sensors/dwvehiclestatenode/impl/dwVehicleStateNodeImpl.hpp>
37#include <dw/sensors/common/Sensors.h>
38#include <dw/core/base/Types.h>
47 dwVehicleStateDrainer(dwSensorDrainerParams params, std::unique_ptr<vio::ReadProcessedData> readProcessedDataFunc, dwSensorHandle_t sensor)
48 : dwSensorDrainerTemplate<dwVehicleIOState, vio::ReadProcessedData>(params, std::move(readProcessedDataFunc), sensor)
53 dwTime_t& timestampOutput,
54 dwTime_t& nextTimestampOutput,
55 dwTime_t virtualSyncTime)
57 m_readProcessedDataFunc->clearButtonsPressed();
59 dwStatus status = dwSensorDrainerTemplate<dwVehicleIOState, vio::ReadProcessedData>::
60 drainProcessedData(processedOutput,
65 m_readProcessedDataFunc->getButtonsPressed(*processedOutput);
71 dwTime_t& timestampOutput,
74 m_readProcessedDataFunc->clearButtonsPressed();
76 dwStatus status = dwSensorDrainerTemplate<dwVehicleIOState, vio::ReadProcessedData>::
77 replayProcessedData(processedOutput,
81 m_readProcessedDataFunc->getButtonsPressed(*processedOutput);
dw::core::Function< bool(DataEvent &)> DataEventReadCallback
dwVehicleStateDrainer(dwSensorDrainerParams params, std::unique_ptr< vio::ReadProcessedData > readProcessedDataFunc, dwSensorHandle_t sensor)
dwStatus drainProcessedData(dwVehicleIOState *processedOutput, dwTime_t ×tampOutput, dwTime_t &nextTimestampOutput, dwTime_t virtualSyncTime)
dwStatus replayProcessedData(dwVehicleIOState *processedOutput, dwTime_t ×tampOutput, ISensorNode::DataEventReadCallback readCb)