// SPDX-License-Identifier: BSD-3-Clause #ifndef INVERTER_TOOLS_P18_CLIENT_H_ #define INVERTER_TOOLS_P18_CLIENT_H_ #include "../voltronic/device.h" #include "types.h" #include "response.h" #include #include #include namespace p18 { class Client { private: std::shared_ptr device_; static std::string packArguments(p18::CommandType commandType, std::vector& arguments); public: void setDevice(std::shared_ptr device); std::shared_ptr execute(p18::CommandType commandType, std::vector& arguments); std::pair, size_t> runOnDevice(std::string& raw); }; } #endif //INVERTER_TOOLS_P18_CLIENT_H_