2 #include <ossia/detail/for_each.hpp>
4 #include <ossia/network/oscquery/detail/json_writer_detail.hpp>
14 class oscquery_server_protocol;
20 using string_t = rapidjson::StringBuffer;
21 using writer_t = ossia::json_writer;
24 static string_t device_info(
int port);
26 static string_t query_host_info(
27 const std::string& name,
const int osc_port,
const std::string& local_ip,
36 template <
typename StringVec_T>
47 for(
auto& method : methods)
51 write_json_key(wr, method);
52 p.writeAttribute(node, method);
60 static string_t listen(std::string_view address);
61 static string_t ignore(std::string_view address);
64 static string_t start_osc_streaming(
int local_server_port,
int local_sender_port);
74 static string_t path_removed(
const std::string& path);
77 static string_t path_renamed(
const std::string& old_path,
const std::string& new_path);
82 static string_t attributes_changed(
85 static string_t paths_added(
const std::vector<const ossia::net::node_base*>& vec);
87 static string_t paths_changed(
const std::vector<const ossia::net::node_base*>& vec);
89 static string_t paths_removed(
const std::vector<std::string>& vec);
91 static string_t attributes_changed_array(
100 static void path_removed_impl(writer_t& wr,
const std::string& path);
101 static void path_renamed_impl(
102 json_writer::writer_t& wr,
const std::string& path,
const std::string& old);
103 static void attribute_changed_impl(
105 std::string_view attribute);
106 static void attributes_changed_impl(
108 const std::vector<std::string_view>& attributes);
The node_base class.
Definition: network/base/node.hpp:48
Creates the JSON message to send through OSCQuery.
Definition: json_writer.hpp:17
static string_t query_attributes(const ossia::net::node_base &node, const StringVec_T &methods)
Reply to a query of attributes : /foo/bar?VALUE&RANGE.
Definition: json_writer.hpp:38
Implementation of the JSON serialisation mechanism for oscquery.
Definition: json_writer_detail.hpp:8