This commit is contained in:
2024-10-31 17:17:16 +03:00
parent 222691d2e9
commit 3b1a318ee7
3 changed files with 56 additions and 41 deletions

View File

@@ -20,11 +20,6 @@ public:
template <adc::traits::adc_char_range R>
Device1(R&& id) : base_t(id)
{
if constexpr (std::is_array_v<std::decay_t<R>>) {
this->_ident = std::forward<R>(id);
} else {
std::ranges::copy(std::forward<R>(id), std::back_inserter(this->_ident));
}
}
};
@@ -38,11 +33,6 @@ public:
template <adc::traits::adc_char_range R>
Device2(R&& id) : base_t(id)
{
if constexpr (std::is_array_v<std::decay_t<R>>) {
this->_ident = std::forward<R>(id);
} else {
std::ranges::copy(std::forward<R>(id), std::back_inserter(this->_ident));
}
}
};
@@ -68,17 +58,17 @@ int main(int argc, char* argv[])
Device2 dev2("DEVICE#2");
// device#1
dev1.addCommand({"DEV1::COM1", []() { std::cout << "EXEC DEV1::COM1\n"; }});
dev1.addCommand("DEV1::COM1", []() { std::cout << "EXEC DEV1::COM1\n"; });
dev1.addAttribute(
{"DEV1::ATTR1", [&dev1_val1]() { return dev1_val1; }, [&dev1_val1](const int& v) { dev1_val1 = v; }});
"DEV1::ATTR1", [&dev1_val1]() { return dev1_val1; }, [&dev1_val1](const int& v) { dev1_val1 = v; });
dev1.addAttribute({"DEV1::ATTR2", gt, st});
dev1.addAttribute("DEV1::ATTR2", gt, st);
// device#2
// read-only attr
dev2.addAttribute({0x1, [&dev1_val1]() { return dev1_val1; }});
dev2.addAttribute(0x1ul, [&dev1_val1]() { return dev1_val1; });
// write-only
dev2.addAttribute({0xff, [&dev1_val1](const int& v) { dev1_val1 = v; }});
dev2.addAttribute(0xfful, [&dev1_val1](const int& v) { dev1_val1 = v; });
/* COMMANDLINE OPTS */
@@ -92,7 +82,7 @@ int main(int argc, char* argv[])
"endpoints server will be listening for. For 'local' endpoint the '@' symbol at the beginning of the path "
"means "
"abstract namespace socket.",
cxxopts::value<std::vector<std::string>>()->default_value("local://stream/@ADC_ASIO_TEST_SERVER"));
cxxopts::value<std::vector<std::string>>()->default_value("local://stream/ADC_ASIO_TEST_SERVER"));
options.positional_help("[endpoint0] [enpoint1] ... [endpointN]");