/* Universal Data-exchange API request. * * Author: Steffen Vogel * SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include #include #include #include #include namespace villas { namespace node { namespace api { namespace universal { enum PayloadType { SAMPLES = 0, EVENTS = 1 }; // Channel (uAPI) is a synonym for signal (VILLAS) class Channel { public: std::string description; PayloadType payload; double range_min; double range_max; std::vector range_options; double rate; bool readable; bool writable; using Ptr = std::shared_ptr; void parse(json_t *json); json_t *toJson(Signal::Ptr sig) const; }; class ChannelList : public std::vector { public: void parse(json_t *json, bool readable, bool writable); }; } // namespace universal } // namespace api } // namespace node } // namespace villas