Files
openvehicle-api/examples/_howto_examples/source/example_reception_interfaces.h
tompzf 6ed4b1534e Precommit (#1)
* first commit

* cleanup
2025-11-04 13:28:06 +01:00

80 lines
2.0 KiB
C++

#include <interfaces/core.h>
#include <support/signal_support.h>
namespace vss
{
namespace Device
{
/**
* @brief IReceptionSignalSpeed abstract device interface, example of receiving a value
*/
interface IReceptionSignalSpeed_Event
{
/** Interface ID. */
static constexpr ::sdv::interface_id _id = 0xA012345678900400;
/**
* @brief Set Speed value (for example of type int32_t)
* @param[in] value of current speed
*/
virtual void SetSpeedValue(/*in*/ int32_t value) = 0;
};
/**
* @brief IReceptionSignalSpeed abstract device interface, example of receiving a value
*/
interface IReceptionSignalSpeed
{
/** Interface ID. */
static constexpr ::sdv::interface_id _id = 0xA012345678900500;
/**
* @brief Register IReceptionSignalSpeed_Event on signal change
* Register all events and call them on signal change
* @param[in] event function
*/
virtual void RegisterSpeedEvent(/*in*/ IReceptionSignalSpeed_Event* event) = 0;
/**
* @brief UnRegister IReceptionSignalSpeed_Event on signal change
* Register all events and call them on signal change
* @param[in] event function
*/
virtual void UnRegisterSpeedEvent(/*in*/ IReceptionSignalSpeed_Event* event) = 0;
};
}
}
namespace vss
{
namespace Service
{
/**
* @brief Vehicle speed service
*/
interface IReceptionSignalSpeed
{
/** Interface ID. */
static constexpr ::sdv::interface_id _id = 0xA012345678900600;
/**
* @brief Get Speed value (for example of type int32_t)
* @return Returns current speed
*/
virtual int32_t GetSpeedValue() = 0;
/**
* @brief Register Callback on signal change
* @param[in] callback function
*/
virtual void RegisterCallBack(/*in*/ vss::Device::IReceptionSignalSpeed_Event* callback) = 0;
/**
* @brief Unregister Callback
* @param[in] callback function
*/
virtual void UnregisterCallBack(/*in*/ vss::Device::IReceptionSignalSpeed_Event* callback) = 0;
};
}
}