imodbus.h
707 Bytes
/*
* Copyright (c) 2022 Peter M. Groen
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include "request.h"
#include "connectionconfig.h"
#include <vector>
namespace osdev {
namespace components {
namespace modbus {
class IModBus
{
public:
virtual ~IModBus() {}
virtual bool Open(const ConnectionConfig &connection_config) = 0;
virtual bool Close() = 0;
virtual std::vector<uint8_t> Read(const Request &request) = 0;
virtual std::vector<uint8_t> Write(const Request &request) = 0;
};
} /* End namespace modbus */
} /* End namespace components */
} /* End namespace osdev */