Program Listing for File driver.hpp
↰ Return to documentation for file (include/myactuator_rmd/driver/driver.hpp
)
#ifndef MYACTUATOR_RMD__DRIVER__DRIVER
#define MYACTUATOR_RMD__DRIVER__DRIVER
#pragma once
#include <array>
#include <cstdint>
#include <vector>
#include "myactuator_rmd/protocol/message.hpp"
namespace myactuator_rmd {
class ActuatorInterface;
class Driver {
public:
virtual void addId(std::uint32_t const actuator_id) = 0;
virtual void send(Message const& msg, std::uint32_t const actuator_id) = 0;
[[nodiscard]]
virtual std::array<std::uint8_t,8> sendRecv(Message const& request, std::uint32_t const actuator_id) = 0;
protected:
Driver() = default;
Driver(Driver const&) = default;
Driver& operator = (Driver const&) = default;
Driver(Driver&&) = default;
Driver& operator = (Driver&&) = default;
friend ActuatorInterface;
};
}
#endif // MYACTUATOR_RMD__DRIVER__DRIVER