#include "DriverTypes.hpp" #pragma once namespace ptprnt::driver { class IDriver { public: virtual ~IDriver() {}; /** * @brief Get Information struct about this driver * * @return driver::info */ virtual driver::info getInfo() = 0; /** * @brief opens up the device specified * * @return true successfully open up device * @return false failed to open device */ virtual bool open() = 0; /** * @brief close the device * * @return true successfully closed device * @return false failed to close device */ virtual bool close() = 0; /** * @brief Send a command to device * * @return true successfully sent command to device * @return false error sending command */ virtual bool command() = 0; }; }