blob: 8ed49aa0206b85d881c86dbdc1cf1099ce056531 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// SPDX-License-Identifier: BSD-3-Clause
#ifndef INVERTER_TOOLS_PROTOCOL_CLIENT_H
#define INVERTER_TOOLS_PROTOCOL_CLIENT_H
#include "../voltronic/device.h"
#include "response.h"
namespace protocol {
class BaseClient {
private:
std::shared_ptr<voltronic::Device> device_;
public:
void setDevice(std::shared_ptr<voltronic::Device> device);
virtual std::shared_ptr<BaseResponse> execute(int commandType, std::vector<std::string>& arguments) = 0;
std::pair<std::shared_ptr<char>, size_t> runOnDevice(std::string& raw);
};
}
#endif //INVERTER_TOOLS_PROTOCOL_CLIENT_H
|