69# pragma warning(disable : 4251)
85 static constexpr const char *
path{
"" };
88 static constexpr const char *
name{
"CameraState" };
92 R
"description(Information about camera connection state, temperatures, etc.)description"
105 static constexpr std::array<uint8_t, 3> binaryId{
'c',
's',
't' };
122 static constexpr const char *
path{
"Available" };
125 static constexpr const char *
name{
"Available" };
129 R
"description(Flag if camera is physically connected to the computer and is available for use, but not connected in
130software. This corresponds to the Status enums `available` or `firmwareUpdateRequired`. Zivid
131recommends to use the Status enum instead of this bool.
143 return {
false,
true };
161 explicit operator bool()
const
169 return m_value == other.m_value;
175 return m_value != other.m_value;
181 return stream <<
value.toString();
185 void setFromString(
const std::string &value);
187 bool m_value{
false };
189 friend struct DataModel::Detail::Befriend<
Available>;
204 static constexpr const char *
path{
"Connected" };
207 static constexpr const char *
name{
"Connected" };
211 R
"description(Flag if camera is connected in software. This bool is true when the Status value is `connected`. Zivid
212recommends to use the Status enum instead of this bool.
224 return {
false,
true };
242 explicit operator bool()
const
250 return m_value == other.m_value;
256 return m_value != other.m_value;
262 return stream <<
value.toString();
266 void setFromString(
const std::string &value);
268 bool m_value{
false };
270 friend struct DataModel::Detail::Befriend<
Connected>;
283 static constexpr const char *
path{
"InaccessibleReason" };
286 static constexpr const char *
name{
"InaccessibleReason" };
290 R
"description(If the camera status is `inaccessible`, then this enum value will give you the reason.)description"
320 : m_opt{ verifyValue(
value) }
347 return m_opt == other.m_opt;
353 return m_opt != other.m_opt;
359 return stream <<
value.toString();
363 void setFromString(
const std::string &value);
365 constexpr ValueType
static verifyValue(
const ValueType &value)
367 return value == ValueType::ipConflictWithAnotherCamera
368 || value == ValueType::ipConflictWithLocalNetworkAdapter
369 || value == ValueType::ipNotInLocalSubnet || value == ValueType::ipInMultipleLocalSubnets
371 :
throw std::invalid_argument{
372 "Invalid value: InaccessibleReason{ "
373 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
377 std::optional<ValueType> m_opt;
392 static constexpr const char *
path{
"Network" };
395 static constexpr const char *
name{
"Network" };
398 static constexpr const char *
description{ R
"description(Current network state)description" };
411 static constexpr const char *
path{
"Network/LocalInterface" };
414 static constexpr const char *
name{
"LocalInterface" };
418 R
"description(Current state of the computer's local network interface.
432 static constexpr const char *
path{
"Network/LocalInterface/Ethernet" };
435 static constexpr const char *
name{
"Ethernet" };
438 static constexpr const char *
description{ R
"description(Current Ethernet state)description" };
451 static constexpr const char *
path{
"Network/LocalInterface/Ethernet/LinkSpeed" };
454 static constexpr const char *
name{
"LinkSpeed" };
458 R
"description(The link speed that the computer's Ethernet interface is operating at.
494 : m_value{ verifyValue(
value) }
512 return m_value == other.m_value;
518 return m_value != other.m_value;
524 return stream <<
value.toString();
528 void setFromString(
const std::string &value);
530 constexpr ValueType
static verifyValue(
const ValueType &value)
532 return value == ValueType::unknown || value == ValueType::link10Mbps
533 || value == ValueType::link100Mbps || value == ValueType::link1Gbps
534 || value == ValueType::link2_5Gbps || value == ValueType::link5Gbps
535 || value == ValueType::link10Gbps
537 :
throw std::invalid_argument{
538 "Invalid value: LinkSpeed{ "
539 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
546 friend struct DataModel::Detail::Befriend<
LinkSpeed>;
549 using Descendants = std::tuple<CameraState::Network::LocalInterface::Ethernet::LinkSpeed>;
568 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
569 typename std::enable_if<
570 Zivid::Detail::TypeTraits::
571 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
574 template<typename... Args>
578 using namespace Zivid::Detail::TypeTraits;
581 AllArgsDecayedAreUnique<Args...>::value,
582 "Found duplicate types among the arguments passed to Ethernet(...). "
583 "Types should be listed at most once.");
585 set(std::forward<Args>(args)...);
599 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
601 template<typename... Args>
605 using namespace Zivid::Detail::TypeTraits;
607 using AllArgsAreDescendantNodes =
608 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
610 AllArgsAreDescendantNodes::value,
611 "All arguments passed to set(...) must be descendant nodes.");
614 AllArgsDecayedAreUnique<Args...>::value,
615 "Found duplicate types among the arguments passed to set(...). "
616 "Types should be listed at most once.");
618 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
633 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
635 template<typename... Args>
639 using namespace Zivid::Detail::TypeTraits;
641 using AllArgsAreDescendantNodes =
642 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
644 AllArgsAreDescendantNodes::value,
645 "All arguments passed to copyWith(...) must be descendant nodes.");
648 AllArgsDecayedAreUnique<Args...>::value,
649 "Found duplicate types among the arguments passed to copyWith(...). "
650 "Types should be listed at most once.");
653 copy.set(std::forward<Args>(args)...);
678 typename std::enable_if<
679 std::is_same<T, CameraState::Network::LocalInterface::Ethernet::LinkSpeed>::value,
686 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
722 void setFromString(
const std::string &value);
724 void setFromString(
const std::string &fullPath,
const std::string &value);
726 std::string getString(
const std::string &fullPath)
const;
730 friend struct DataModel::Detail::Befriend<
Ethernet>;
743 static constexpr const char *
path{
"Network/LocalInterface/IPV4" };
746 static constexpr const char *
name{
"IPV4" };
750 R
"description(Current IPv4 protocol state of the computer's local network interface.)description"
764 static constexpr const char *
path{
"Network/LocalInterface/IPV4/Subnet" };
767 static constexpr const char *
name{
"Subnet" };
771 R
"description(An IPv4 subnet that the local network interface is connected to.
785 static constexpr const char *
path{
"Network/LocalInterface/IPV4/Subnet/Address" };
788 static constexpr const char *
name{
"Address" };
792 R
"description(IP address of the computer's local network interface.)description"
801 return { 0, std::numeric_limits<ValueType::size_type>::max() };
809 : m_value{ std::move(
value) }
821 return m_value == other.m_value;
827 return m_value != other.m_value;
833 return m_value < other.m_value;
839 return m_value > other.m_value;
845 return m_value <= other.m_value;
851 return m_value >= other.m_value;
857 return stream <<
value.toString();
861 void setFromString(
const std::string &value);
863 std::string m_value{};
865 friend struct DataModel::Detail::Befriend<
Address>;
878 static constexpr const char *
path{
"Network/LocalInterface/IPV4/Subnet/Mask" };
881 static constexpr const char *
name{
"Mask" };
885 R
"description(Subnet mask of the computer's local network interface.)description"
894 return { 0, std::numeric_limits<ValueType::size_type>::max() };
902 : m_value{ std::move(
value) }
914 return m_value == other.m_value;
920 return m_value != other.m_value;
926 return m_value < other.m_value;
932 return m_value > other.m_value;
938 return m_value <= other.m_value;
944 return m_value >= other.m_value;
950 return stream <<
value.toString();
954 void setFromString(
const std::string &value);
956 std::string m_value{};
958 friend struct DataModel::Detail::Befriend<
Mask>;
983 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
984 typename std::enable_if<
985 Zivid::Detail::TypeTraits::
986 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
989 template<typename... Args>
993 using namespace Zivid::Detail::TypeTraits;
996 AllArgsDecayedAreUnique<Args...>::value,
997 "Found duplicate types among the arguments passed to Subnet(...). "
998 "Types should be listed at most once.");
1000 set(std::forward<Args>(args)...);
1015 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1017 template<typename... Args>
1021 using namespace Zivid::Detail::TypeTraits;
1023 using AllArgsAreDescendantNodes =
1024 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1026 AllArgsAreDescendantNodes::value,
1027 "All arguments passed to set(...) must be descendant nodes.");
1030 AllArgsDecayedAreUnique<Args...>::value,
1031 "Found duplicate types among the arguments passed to set(...). "
1032 "Types should be listed at most once.");
1034 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1050 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1052 template<typename... Args>
1056 using namespace Zivid::Detail::TypeTraits;
1058 using AllArgsAreDescendantNodes =
1059 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1061 AllArgsAreDescendantNodes::value,
1062 "All arguments passed to copyWith(...) must be descendant nodes.");
1065 AllArgsDecayedAreUnique<Args...>::value,
1066 "Found duplicate types among the arguments passed to copyWith(...). "
1067 "Types should be listed at most once.");
1070 copy.set(std::forward<Args>(args)...);
1114 typename std::enable_if<
1115 std::is_same<T, CameraState::Network::LocalInterface::IPV4::Subnet::Address>::value,
1124 typename std::enable_if<
1125 std::is_same<T, CameraState::Network::LocalInterface::IPV4::Subnet::Mask>::value,
1132 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1138 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1145 template<
typename F>
1153 template<
typename F>
1176 void setFromString(
const std::string &value);
1178 void setFromString(
const std::string &fullPath,
const std::string &value);
1180 std::string getString(
const std::string &fullPath)
const;
1185 friend struct DataModel::Detail::Befriend<
Subnet>;
1201 static constexpr const char *
path{
"Network/LocalInterface/IPV4/Subnets" };
1204 static constexpr const char *
name{
"Subnets" };
1208 R
"description(List of IPv4 addresses and subnet masks that the interface is configured with. This list can
1209contain multiple entries if the local network interface is configured with multiple IPv4
1215 using ValueType = std::vector<CameraState::Network::LocalInterface::IPV4::Subnet>;
1220 return { 0, std::numeric_limits<ValueType::size_type>::max() };
1227 explicit Subnets(std::vector<CameraState::Network::LocalInterface::IPV4::Subnet>
value)
1228 : m_value{ std::move(
value) }
1233 std::initializer_list<CameraState::Network::LocalInterface::IPV4::Subnet>
value)
1238 const std::vector<CameraState::Network::LocalInterface::IPV4::Subnet> &
value()
const;
1254 template<typename... Args>
1257 m_value.emplace_back(std::forward<Args>(args)...);
1289 template<
typename F>
1292 for(
auto &child : m_value)
1299 template<
typename F>
1302 for(
const auto &child : m_value)
1309 using Iterator = std::vector<CameraState::Network::LocalInterface::IPV4::Subnet>::iterator;
1336 return m_value == other.m_value;
1342 return m_value != other.m_value;
1348 return stream <<
value.toString();
1352 void setFromString(
const std::string &value);
1354 std::vector<CameraState::Network::LocalInterface::IPV4::Subnet> m_value{};
1356 friend struct DataModel::Detail::Befriend<
Subnets>;
1359 using Descendants = std::tuple<CameraState::Network::LocalInterface::IPV4::Subnets>;
1378 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1379 typename std::enable_if<
1380 Zivid::Detail::TypeTraits::
1381 AllArgsAreInTuple<
Descendants, typename std::decay<Args>::type...>::value,
1384 template<typename... Args>
1388 using namespace Zivid::Detail::TypeTraits;
1391 AllArgsDecayedAreUnique<Args...>::value,
1392 "Found duplicate types among the arguments passed to IPV4(...). "
1393 "Types should be listed at most once.");
1395 set(std::forward<Args>(args)...);
1409 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1411 template<typename... Args>
1415 using namespace Zivid::Detail::TypeTraits;
1417 using AllArgsAreDescendantNodes =
1418 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1420 AllArgsAreDescendantNodes::value,
1421 "All arguments passed to set(...) must be descendant nodes.");
1424 AllArgsDecayedAreUnique<Args...>::value,
1425 "Found duplicate types among the arguments passed to set(...). "
1426 "Types should be listed at most once.");
1428 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1443 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1445 template<typename... Args>
1449 using namespace Zivid::Detail::TypeTraits;
1451 using AllArgsAreDescendantNodes =
1452 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1454 AllArgsAreDescendantNodes::value,
1455 "All arguments passed to copyWith(...) must be descendant nodes.");
1458 AllArgsDecayedAreUnique<Args...>::value,
1459 "Found duplicate types among the arguments passed to copyWith(...). "
1460 "Types should be listed at most once.");
1463 copy.set(std::forward<Args>(args)...);
1488 typename std::enable_if<
1489 std::is_same<T, CameraState::Network::LocalInterface::IPV4::Subnets>::value,
1496 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1503 template<
typename F>
1510 template<
typename F>
1532 void setFromString(
const std::string &value);
1534 void setFromString(
const std::string &fullPath,
const std::string &value);
1536 std::string getString(
const std::string &fullPath)
const;
1540 friend struct DataModel::Detail::Befriend<
IPV4>;
1553 static constexpr const char *
path{
"Network/LocalInterface/InterfaceName" };
1556 static constexpr const char *
name{
"InterfaceName" };
1560 R
"description(Name of the computer's local network interface.)description"
1569 return { 0, std::numeric_limits<ValueType::size_type>::max() };
1577 : m_value{ std::move(
value) }
1589 return m_value == other.m_value;
1595 return m_value != other.m_value;
1601 return m_value < other.m_value;
1607 return m_value > other.m_value;
1613 return m_value <= other.m_value;
1619 return m_value >= other.m_value;
1625 return stream <<
value.toString();
1629 void setFromString(
const std::string &value);
1631 std::string m_value{};
1664 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
1665 typename std::enable_if<
1666 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
1670 template<typename... Args>
1674 using namespace Zivid::Detail::TypeTraits;
1677 AllArgsDecayedAreUnique<Args...>::value,
1678 "Found duplicate types among the arguments passed to LocalInterface(...). "
1679 "Types should be listed at most once.");
1681 set(std::forward<Args>(args)...);
1699 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
1701 template<typename... Args>
1705 using namespace Zivid::Detail::TypeTraits;
1707 using AllArgsAreDescendantNodes =
1708 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1710 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
1713 AllArgsDecayedAreUnique<Args...>::value,
1714 "Found duplicate types among the arguments passed to set(...). "
1715 "Types should be listed at most once.");
1717 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
1736 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
1738 template<typename... Args>
1742 using namespace Zivid::Detail::TypeTraits;
1744 using AllArgsAreDescendantNodes =
1745 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
1747 AllArgsAreDescendantNodes::value,
1748 "All arguments passed to copyWith(...) must be descendant nodes.");
1751 AllArgsDecayedAreUnique<Args...>::value,
1752 "Found duplicate types among the arguments passed to copyWith(...). "
1753 "Types should be listed at most once.");
1756 copy.set(std::forward<Args>(args)...);
1782 m_ethernet.
set(value);
1815 return m_interfaceName;
1821 return m_interfaceName;
1827 m_interfaceName = value;
1833 typename std::enable_if<
1834 std::is_same<T, CameraState::Network::LocalInterface::Ethernet>::value,
1843 typename std::enable_if<
1844 std::is_same<T, CameraState::Network::LocalInterface::Ethernet::LinkSpeed>::value,
1853 typename std::enable_if<std::is_same<T, CameraState::Network::LocalInterface::IPV4>::value,
int>::
1862 typename std::enable_if<
1863 std::is_same<T, CameraState::Network::LocalInterface::IPV4::Subnets>::value,
1872 typename std::enable_if<
1873 std::is_same<T, CameraState::Network::LocalInterface::InterfaceName>::value,
1877 return m_interfaceName;
1880 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
1886 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
1892 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
1895 return m_interfaceName;
1899 template<
typename F>
1908 template<
typename F>
1932 void setFromString(
const std::string &value);
1934 void setFromString(
const std::string &fullPath,
const std::string &value);
1936 std::string getString(
const std::string &fullPath)
const;
1955 static constexpr const char *
path{
"Network/Ethernet" };
1958 static constexpr const char *
name{
"Ethernet" };
1961 static constexpr const char *
description{ R
"description(Current Ethernet state)description" };
1974 static constexpr const char *
path{
"Network/Ethernet/LinkSpeed" };
1977 static constexpr const char *
name{
"LinkSpeed" };
1981 R
"description(The link speed that the camera's Ethernet interface is operating at.
2017 : m_value{ verifyValue(
value) }
2035 return m_value == other.m_value;
2041 return m_value != other.m_value;
2047 return stream <<
value.toString();
2051 void setFromString(
const std::string &value);
2053 constexpr ValueType
static verifyValue(
const ValueType &value)
2055 return value == ValueType::unknown || value == ValueType::link10Mbps
2056 || value == ValueType::link100Mbps || value == ValueType::link1Gbps
2057 || value == ValueType::link2_5Gbps || value == ValueType::link5Gbps
2058 || value == ValueType::link10Gbps
2060 :
throw std::invalid_argument{
2061 "Invalid value: LinkSpeed{ "
2062 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value))
2069 friend struct DataModel::Detail::Befriend<
LinkSpeed>;
2072 using Descendants = std::tuple<CameraState::Network::Ethernet::LinkSpeed>;
2091 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2092 typename std::enable_if<
2093 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2097 template<typename... Args>
2101 using namespace Zivid::Detail::TypeTraits;
2104 AllArgsDecayedAreUnique<Args...>::value,
2105 "Found duplicate types among the arguments passed to Ethernet(...). "
2106 "Types should be listed at most once.");
2108 set(std::forward<Args>(args)...);
2122 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2124 template<typename... Args>
2128 using namespace Zivid::Detail::TypeTraits;
2130 using AllArgsAreDescendantNodes =
2131 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2133 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2136 AllArgsDecayedAreUnique<Args...>::value,
2137 "Found duplicate types among the arguments passed to set(...). "
2138 "Types should be listed at most once.");
2140 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2155 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2157 template<typename... Args>
2161 using namespace Zivid::Detail::TypeTraits;
2163 using AllArgsAreDescendantNodes =
2164 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2166 AllArgsAreDescendantNodes::value,
2167 "All arguments passed to copyWith(...) must be descendant nodes.");
2170 AllArgsDecayedAreUnique<Args...>::value,
2171 "Found duplicate types among the arguments passed to copyWith(...). "
2172 "Types should be listed at most once.");
2175 copy.set(std::forward<Args>(args)...);
2194 m_linkSpeed = value;
2200 typename std::enable_if<std::is_same<T, CameraState::Network::Ethernet::LinkSpeed>::value,
int>::
2207 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2214 template<
typename F>
2221 template<
typename F>
2243 void setFromString(
const std::string &value);
2245 void setFromString(
const std::string &fullPath,
const std::string &value);
2247 std::string getString(
const std::string &fullPath)
const;
2251 friend struct DataModel::Detail::Befriend<
Ethernet>;
2264 static constexpr const char *
path{
"Network/IPV4" };
2267 static constexpr const char *
name{
"IPV4" };
2270 static constexpr const char *
description{ R
"description(Current IPv4 protocol state)description" };
2282 static constexpr const char *
path{
"Network/IPV4/Address" };
2285 static constexpr const char *
name{
"Address" };
2288 static constexpr const char *
description{ R
"description(Current IPv4 address)description" };
2296 return { 0, std::numeric_limits<ValueType::size_type>::max() };
2304 : m_value{ std::move(
value) }
2316 return m_value == other.m_value;
2322 return m_value != other.m_value;
2328 return m_value < other.m_value;
2334 return m_value > other.m_value;
2340 return m_value <= other.m_value;
2346 return m_value >= other.m_value;
2352 return stream <<
value.toString();
2356 void setFromString(
const std::string &value);
2358 std::string m_value{};
2360 friend struct DataModel::Detail::Befriend<
Address>;
2382 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2383 typename std::enable_if<
2384 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2388 template<typename... Args>
2392 using namespace Zivid::Detail::TypeTraits;
2395 AllArgsDecayedAreUnique<Args...>::value,
2396 "Found duplicate types among the arguments passed to IPV4(...). "
2397 "Types should be listed at most once.");
2399 set(std::forward<Args>(args)...);
2413 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2415 template<typename... Args>
2419 using namespace Zivid::Detail::TypeTraits;
2421 using AllArgsAreDescendantNodes =
2422 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2424 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2427 AllArgsDecayedAreUnique<Args...>::value,
2428 "Found duplicate types among the arguments passed to set(...). "
2429 "Types should be listed at most once.");
2431 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2446 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2448 template<typename... Args>
2452 using namespace Zivid::Detail::TypeTraits;
2454 using AllArgsAreDescendantNodes =
2455 AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2457 AllArgsAreDescendantNodes::value,
2458 "All arguments passed to copyWith(...) must be descendant nodes.");
2461 AllArgsDecayedAreUnique<Args...>::value,
2462 "Found duplicate types among the arguments passed to copyWith(...). "
2463 "Types should be listed at most once.");
2466 copy.set(std::forward<Args>(args)...);
2491 typename std::enable_if<std::is_same<T, CameraState::Network::IPV4::Address>::value,
int>::type = 0>
2497 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2504 template<
typename F>
2511 template<
typename F>
2533 void setFromString(
const std::string &value);
2535 void setFromString(
const std::string &fullPath,
const std::string &value);
2537 std::string getString(
const std::string &fullPath)
const;
2541 friend struct DataModel::Detail::Befriend<
IPV4>;
2560 static constexpr const char *
path{
"Network/LocalInterfaces" };
2563 static constexpr const char *
name{
"LocalInterfaces" };
2567 R
"description(List of the computer's local network interfaces that discovered the camera. In the most common scenario
2568with the camera connected to the computer with an Ethernet cable, this list will contain only the
2569network interface for that Ethernet port. In more complex network scenarios it can be the case that the
2570camera is discovered by multiple interfaces, and in that case this list will contain multiple network
2571interfaces. However, when `CameraState::Status` is `connected`, only the one network interface that has
2572the active TCP/IP connection to the camera will be listed.
2577 using ValueType = std::vector<CameraState::Network::LocalInterface>;
2582 return { 0, std::numeric_limits<ValueType::size_type>::max() };
2590 : m_value{ std::move(
value) }
2599 const std::vector<CameraState::Network::LocalInterface> &
value()
const;
2615 template<typename... Args>
2618 m_value.emplace_back(std::forward<Args>(args)...);
2650 template<
typename F>
2653 for(
auto &child : m_value)
2660 template<
typename F>
2663 for(
const auto &child : m_value)
2670 using Iterator = std::vector<CameraState::Network::LocalInterface>::iterator;
2696 return m_value == other.m_value;
2702 return m_value != other.m_value;
2708 return stream <<
value.toString();
2712 void setFromString(
const std::string &value);
2714 std::vector<CameraState::Network::LocalInterface> m_value{};
2747 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
2748 typename std::enable_if<
2749 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
2753 template<typename... Args>
2757 using namespace Zivid::Detail::TypeTraits;
2760 AllArgsDecayedAreUnique<Args...>::value,
2761 "Found duplicate types among the arguments passed to Network(...). "
2762 "Types should be listed at most once.");
2764 set(std::forward<Args>(args)...);
2782 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
2784 template<typename... Args>
2788 using namespace Zivid::Detail::TypeTraits;
2790 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2792 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
2795 AllArgsDecayedAreUnique<Args...>::value,
2796 "Found duplicate types among the arguments passed to set(...). "
2797 "Types should be listed at most once.");
2799 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
2818 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
2820 template<typename... Args>
2824 using namespace Zivid::Detail::TypeTraits;
2826 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
2828 AllArgsAreDescendantNodes::value,
2829 "All arguments passed to copyWith(...) must be descendant nodes.");
2832 AllArgsDecayedAreUnique<Args...>::value,
2833 "Found duplicate types among the arguments passed to copyWith(...). "
2834 "Types should be listed at most once.");
2837 copy.set(std::forward<Args>(args)...);
2863 m_ethernet.
set(value);
2896 return m_localInterfaces;
2902 return m_localInterfaces;
2908 m_localInterfaces = value;
2914 typename std::enable_if<std::is_same<T, CameraState::Network::Ethernet>::value,
int>::type = 0>
2922 typename std::enable_if<std::is_same<T, CameraState::Network::Ethernet::LinkSpeed>::value,
int>::type =
2931 typename std::enable_if<std::is_same<T, CameraState::Network::IPV4>::value,
int>::type = 0>
2939 typename std::enable_if<std::is_same<T, CameraState::Network::IPV4::Address>::value,
int>::type = 0>
2947 typename std::enable_if<std::is_same<T, CameraState::Network::LocalInterfaces>::value,
int>::type = 0>
2950 return m_localInterfaces;
2953 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
2959 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
2965 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
2968 return m_localInterfaces;
2972 template<
typename F>
2977 f(m_localInterfaces);
2981 template<
typename F>
2986 f(m_localInterfaces);
3005 void setFromString(
const std::string &value);
3007 void setFromString(
const std::string &fullPath,
const std::string &value);
3009 std::string getString(
const std::string &fullPath)
const;
3011 Ethernet m_ethernet;
3015 friend struct DataModel::Detail::Befriend<
Network>;
3061 static constexpr const char *
path{
"Status" };
3064 static constexpr const char *
name{
"Status" };
3068 R
"description(This enum describes the current status of this camera. The enum can have the following values:
3070* `inaccessible`: The camera was discovered, but the SDK is not able to connect to this camera. This can
3071 be because the IP settings of the camera and the PC are not compatible, or because there are several
3072 cameras with the same IP connected to your PC. The `InaccessibleReason` enum will give you more
3073 details about why this camera is not accessible. The network configuration of the camera can be changed
3074 using the ZividNetworkCameraConfigurator CLI tool. See the knowledge base for more information.
3076* `busy`: The camera is currently in use by another process. This can be a different process on the same
3077 PC, or on a different PC if the camera is shared on a network.
3079* `applyingNetworkConfiguration`: The camera network configuration is being changed by the current process.
3081* `firmwareUpdateRequired`: The camera is accessible, but requires a firmware update before you can connect
3084* `updatingFirmware`: The camera firmware is currently being updated in the current process.
3086* `available`: The camera is available for use by the current process. This means that you can invoke
3087 camera.connect() on this camera.
3089* `connecting`: The camera is currently connecting in the current process.
3091* `connected`: The camera is connected in the current process. This means camera.connect() has successfully
3092 completed and you can capture using this camera.
3094* `disconnecting`: The camera is currently disconnecting in the current process. When disconnection has
3095 completed, the camera will normally go back to the `available` state.
3097* `disappeared`: The camera was found earlier, but it can no longer be found. The connection between the
3098 PC and the camera may be disrupted, or the camera may have lost power. When in `disappeared` state, the
3099 camera will not be returned from `Application::cameras()`. The camera will go back to one of the other
3100 states if the camera is later found again.
3149 : m_value{ verifyValue(
value) }
3167 return m_value == other.m_value;
3173 return m_value != other.m_value;
3179 return stream <<
value.toString();
3183 void setFromString(
const std::string &value);
3185 constexpr ValueType
static verifyValue(
const ValueType &value)
3187 return value == ValueType::inaccessible || value == ValueType::busy
3188 || value == ValueType::applyingNetworkConfiguration
3189 || value == ValueType::firmwareUpdateRequired || value == ValueType::updatingFirmware
3190 || value == ValueType::available || value == ValueType::connecting
3191 || value == ValueType::connected || value == ValueType::disconnecting
3192 || value == ValueType::disappeared
3194 :
throw std::invalid_argument{
3195 "Invalid value: Status{ "
3196 + std::to_string(
static_cast<std::underlying_type<ValueType>::type
>(value)) +
" }"
3202 friend struct DataModel::Detail::Befriend<
Status>;
3215 static constexpr const char *
path{
"Temperature" };
3218 static constexpr const char *
name{
"Temperature" };
3221 static constexpr const char *
description{ R
"description(Current temperature(s))description" };
3233 static constexpr const char *
path{
"Temperature/DMD" };
3236 static constexpr const char *
name{
"DMD" };
3239 static constexpr const char *
description{ R
"description(DMD temperature)description" };
3247 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
3267 return m_value == other.m_value;
3273 return m_value != other.m_value;
3279 return m_value < other.m_value;
3285 return m_value > other.m_value;
3291 return m_value <= other.m_value;
3297 return m_value >= other.m_value;
3303 return stream <<
value.toString();
3307 void setFromString(
const std::string &value);
3309 double m_value{ 0.0 };
3311 friend struct DataModel::Detail::Befriend<
DMD>;
3324 static constexpr const char *
path{
"Temperature/General" };
3327 static constexpr const char *
name{
"General" };
3330 static constexpr const char *
description{ R
"description(General temperature)description" };
3338 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
3358 return m_value == other.m_value;
3364 return m_value != other.m_value;
3370 return m_value < other.m_value;
3376 return m_value > other.m_value;
3382 return m_value <= other.m_value;
3388 return m_value >= other.m_value;
3394 return stream <<
value.toString();
3398 void setFromString(
const std::string &value);
3400 double m_value{ 0.0 };
3402 friend struct DataModel::Detail::Befriend<
General>;
3415 static constexpr const char *
path{
"Temperature/LED" };
3418 static constexpr const char *
name{
"LED" };
3421 static constexpr const char *
description{ R
"description(LED temperature)description" };
3429 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
3449 return m_value == other.m_value;
3455 return m_value != other.m_value;
3461 return m_value < other.m_value;
3467 return m_value > other.m_value;
3473 return m_value <= other.m_value;
3479 return m_value >= other.m_value;
3485 return stream <<
value.toString();
3489 void setFromString(
const std::string &value);
3491 double m_value{ 0.0 };
3493 friend struct DataModel::Detail::Befriend<
LED>;
3506 static constexpr const char *
path{
"Temperature/Lens" };
3509 static constexpr const char *
name{
"Lens" };
3512 static constexpr const char *
description{ R
"description(Lens temperature)description" };
3520 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
3540 return m_value == other.m_value;
3546 return m_value != other.m_value;
3552 return m_value < other.m_value;
3558 return m_value > other.m_value;
3564 return m_value <= other.m_value;
3570 return m_value >= other.m_value;
3576 return stream <<
value.toString();
3580 void setFromString(
const std::string &value);
3582 double m_value{ 0.0 };
3584 friend struct DataModel::Detail::Befriend<
Lens>;
3597 static constexpr const char *
path{
"Temperature/PCB" };
3600 static constexpr const char *
name{
"PCB" };
3603 static constexpr const char *
description{ R
"description(PCB temperature)description" };
3611 return { std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() };
3631 return m_value == other.m_value;
3637 return m_value != other.m_value;
3643 return m_value < other.m_value;
3649 return m_value > other.m_value;
3655 return m_value <= other.m_value;
3661 return m_value >= other.m_value;
3667 return stream <<
value.toString();
3671 void setFromString(
const std::string &value);
3673 double m_value{ 0.0 };
3675 friend struct DataModel::Detail::Befriend<
PCB>;
3706 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
3707 typename std::enable_if<
3708 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::
3712 template<typename... Args>
3716 using namespace Zivid::Detail::TypeTraits;
3719 AllArgsDecayedAreUnique<Args...>::value,
3720 "Found duplicate types among the arguments passed to Temperature(...). "
3721 "Types should be listed at most once.");
3723 set(std::forward<Args>(args)...);
3741 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
3743 template<typename... Args>
3747 using namespace Zivid::Detail::TypeTraits;
3749 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3751 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
3754 AllArgsDecayedAreUnique<Args...>::value,
3755 "Found duplicate types among the arguments passed to set(...). "
3756 "Types should be listed at most once.");
3758 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
3777 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
3779 template<typename... Args>
3783 using namespace Zivid::Detail::TypeTraits;
3785 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
3787 AllArgsAreDescendantNodes::value,
3788 "All arguments passed to copyWith(...) must be descendant nodes.");
3791 AllArgsDecayedAreUnique<Args...>::value,
3792 "Found duplicate types among the arguments passed to copyWith(...). "
3793 "Types should be listed at most once.");
3796 copy.set(std::forward<Args>(args)...);
3897 typename std::enable_if<std::is_same<T, CameraState::Temperature::DMD>::value,
int>::type = 0>
3905 typename std::enable_if<std::is_same<T, CameraState::Temperature::General>::value,
int>::type = 0>
3913 typename std::enable_if<std::is_same<T, CameraState::Temperature::LED>::value,
int>::type = 0>
3921 typename std::enable_if<std::is_same<T, CameraState::Temperature::Lens>::value,
int>::type = 0>
3929 typename std::enable_if<std::is_same<T, CameraState::Temperature::PCB>::value,
int>::type = 0>
3935 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
3941 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
3947 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
3953 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
3959 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
3966 template<
typename F>
3977 template<
typename F>
4003 void setFromString(
const std::string &value);
4005 void setFromString(
const std::string &fullPath,
const std::string &value);
4007 std::string getString(
const std::string &fullPath)
const;
4015 friend struct DataModel::Detail::Befriend<
Temperature>;
4085 typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0,
4086 typename std::enable_if<
4087 Zivid::Detail::TypeTraits::AllArgsAreInTuple<
Descendants,
typename std::decay<Args>::type...>::value,
4090 template<typename... Args>
4094 using namespace Zivid::Detail::TypeTraits;
4097 AllArgsDecayedAreUnique<Args...>::value,
4098 "Found duplicate types among the arguments passed to CameraState(...). "
4099 "Types should be listed at most once.");
4101 set(std::forward<Args>(args)...);
4130 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 2,
int>::type = 0>
4132 template<typename... Args>
4136 using namespace Zivid::Detail::TypeTraits;
4138 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4140 AllArgsAreDescendantNodes::value,
"All arguments passed to set(...) must be descendant nodes.");
4143 AllArgsDecayedAreUnique<Args...>::value,
4144 "Found duplicate types among the arguments passed to set(...). "
4145 "Types should be listed at most once.");
4147 Zivid::DataModel::Detail::invokeSetWithEachArgument(*
this, std::forward<Args>(args)...);
4177 template<
typename... Args,
typename std::enable_if<
sizeof...(Args) >= 1,
int>::type = 0>
4179 template<typename... Args>
4183 using namespace Zivid::Detail::TypeTraits;
4185 using AllArgsAreDescendantNodes = AllArgsAreInTuple<Descendants, typename std::decay<Args>::type...>;
4187 AllArgsAreDescendantNodes::value,
"All arguments passed to copyWith(...) must be descendant nodes.");
4190 AllArgsDecayedAreUnique<Args...>::value,
4191 "Found duplicate types among the arguments passed to copyWith(...). "
4192 "Types should be listed at most once.");
4195 copy.set(std::forward<Args>(args)...);
4214 m_available = value;
4233 m_connected = value;
4240 return m_inaccessibleReason;
4246 return m_inaccessibleReason;
4252 m_inaccessibleReason = value;
4278 m_network.
set(value);
4285 m_network.
set(value);
4292 m_network.
set(value);
4299 m_network.
set(value);
4306 m_network.
set(value);
4332 return m_temperature;
4338 return m_temperature;
4344 m_temperature = value;
4351 m_temperature.
set(value);
4358 m_temperature.
set(value);
4365 m_temperature.
set(value);
4372 m_temperature.
set(value);
4379 m_temperature.
set(value);
4383 template<typename T, typename std::enable_if<std::is_same<T, CameraState::Available>::value,
int>::type = 0>
4389 template<typename T, typename std::enable_if<std::is_same<T, CameraState::Connected>::value,
int>::type = 0>
4397 typename std::enable_if<std::is_same<T, CameraState::InaccessibleReason>::value,
int>::type = 0>
4400 return m_inaccessibleReason;
4403 template<typename T, typename std::enable_if<std::is_same<T, CameraState::Network>::value,
int>::type = 0>
4411 typename std::enable_if<std::is_same<T, CameraState::Network::Ethernet>::value,
int>::type = 0>
4419 typename std::enable_if<std::is_same<T, CameraState::Network::Ethernet::LinkSpeed>::value,
int>::type = 0>
4425 template<typename T, typename std::enable_if<std::is_same<T, CameraState::Network::IPV4>::value,
int>::type = 0>
4433 typename std::enable_if<std::is_same<T, CameraState::Network::IPV4::Address>::value,
int>::type = 0>
4441 typename std::enable_if<std::is_same<T, CameraState::Network::LocalInterfaces>::value,
int>::type = 0>
4447 template<typename T, typename std::enable_if<std::is_same<T, CameraState::Status>::value,
int>::type = 0>
4453 template<typename T, typename std::enable_if<std::is_same<T, CameraState::Temperature>::value,
int>::type = 0>
4456 return m_temperature;
4461 typename std::enable_if<std::is_same<T, CameraState::Temperature::DMD>::value,
int>::type = 0>
4469 typename std::enable_if<std::is_same<T, CameraState::Temperature::General>::value,
int>::type = 0>
4477 typename std::enable_if<std::is_same<T, CameraState::Temperature::LED>::value,
int>::type = 0>
4485 typename std::enable_if<std::is_same<T, CameraState::Temperature::Lens>::value,
int>::type = 0>
4493 typename std::enable_if<std::is_same<T, CameraState::Temperature::PCB>::value,
int>::type = 0>
4499 template<size_t i, typename std::enable_if<i == 0, int>::type = 0>
4505 template<size_t i, typename std::enable_if<i == 1, int>::type = 0>
4511 template<size_t i, typename std::enable_if<i == 2, int>::type = 0>
4514 return m_inaccessibleReason;
4517 template<size_t i, typename std::enable_if<i == 3, int>::type = 0>
4523 template<size_t i, typename std::enable_if<i == 4, int>::type = 0>
4529 template<size_t i, typename std::enable_if<i == 5, int>::type = 0>
4532 return m_temperature;
4536 template<
typename F>
4541 f(m_inaccessibleReason);
4548 template<
typename F>
4553 f(m_inaccessibleReason);
4575 void save(
const std::string &fileName)
const;
4578 void load(
const std::string &fileName);
4581 void setFromString(
const std::string &value);
4583 void setFromString(
const std::string &fullPath,
const std::string &value);
4585 std::string getString(
const std::string &fullPath)
const;
4594 friend struct DataModel::Detail::Befriend<
CameraState>;
4599 struct CameraState::Version<9>
4612 ZIVID_CORE_EXPORT void save(
const Zivid::CameraState &dataModel, std::ostream &ostream);
4613 ZIVID_CORE_EXPORT void load(Zivid::CameraState &dataModel, std::istream &istream);
4619# pragma warning(pop)
4623# if !(defined(_MSC_VER) && (_MSC_VER <= 1900))
4628 struct tuple_size<Zivid::CameraState::Network> : integral_constant<size_t, 3>
4632 struct tuple_element<i, Zivid::CameraState::Network>
4634 static_assert(i < tuple_size<Zivid::CameraState::Network>::value,
"Index must be less than 3");
4637 =
decltype(declval<Zivid::CameraState::Network>().get<i>());
4641 struct tuple_size<Zivid::CameraState::Network::Ethernet> : integral_constant<size_t, 1>
4645 struct tuple_element<i, Zivid::CameraState::Network::Ethernet>
4647 static_assert(i < tuple_size<Zivid::CameraState::Network::Ethernet>::value,
"Index must be less than 1");
4650 =
decltype(declval<Zivid::CameraState::Network::Ethernet>().get<i>());
4654 struct tuple_size<Zivid::CameraState::Network::IPV4> : integral_constant<size_t, 1>
4658 struct tuple_element<i, Zivid::CameraState::Network::IPV4>
4660 static_assert(i < tuple_size<Zivid::CameraState::Network::IPV4>::value,
"Index must be less than 1");
4663 =
decltype(declval<Zivid::CameraState::Network::IPV4>().get<i>());
4667 struct tuple_size<Zivid::CameraState::Temperature> : integral_constant<size_t, 5>
4671 struct tuple_element<i, Zivid::CameraState::Temperature>
4673 static_assert(i < tuple_size<Zivid::CameraState::Temperature>::value,
"Index must be less than 5");
4676 =
decltype(declval<Zivid::CameraState::Temperature>().get<i>());
4680 struct tuple_size<Zivid::CameraState> : integral_constant<size_t, 6>
4684 struct tuple_element<i, Zivid::CameraState>
4686 static_assert(i < tuple_size<Zivid::CameraState>::value,
"Index must be less than 6");
4689 =
decltype(declval<Zivid::CameraState>().get<i>());
4698#if defined(__has_include) && !defined(NO_DOC)
4699# if __has_include("Zivid/CameraStateInternal.h") && __has_include("Zivid/DataModelNodeMetaData.h")
4700# include "Zivid/CameraStateInternal.h"
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
Flag if camera is physically connected to the computer and is available for use, but not connected in...
Definition CameraState.h:116
static std::set< bool > validValues()
All valid values of Available.
Definition CameraState.h:141
static const Available no
Off/disabled.
Definition CameraState.h:138
bool operator==(const Available &other) const
Comparison operator.
Definition CameraState.h:167
std::string toString() const
Get the value as string.
bool ValueType
The type of the underlying value.
Definition CameraState.h:136
static const Available yes
On/enabled.
Definition CameraState.h:137
friend std::ostream & operator<<(std::ostream &stream, const Available &value)
Operator to serialize the value to a stream.
Definition CameraState.h:179
static constexpr const char * path
The full path for this value.
Definition CameraState.h:122
bool operator!=(const Available &other) const
Comparison operator.
Definition CameraState.h:173
constexpr Available(bool value)
Constructor.
Definition CameraState.h:150
bool value() const
Get the value.
static constexpr const char * name
The name of this value.
Definition CameraState.h:125
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:119
Available()=default
Default constructor.
static constexpr const char * description
The description for this value.
Definition CameraState.h:128
Flag if camera is connected in software. This bool is true when the Status value is connected....
Definition CameraState.h:198
Connected()=default
Default constructor.
static const Connected yes
On/enabled.
Definition CameraState.h:218
static const Connected no
Off/disabled.
Definition CameraState.h:219
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:201
bool operator!=(const Connected &other) const
Comparison operator.
Definition CameraState.h:254
static constexpr const char * name
The name of this value.
Definition CameraState.h:207
constexpr Connected(bool value)
Constructor.
Definition CameraState.h:231
bool value() const
Get the value.
std::string toString() const
Get the value as string.
static constexpr const char * description
The description for this value.
Definition CameraState.h:210
friend std::ostream & operator<<(std::ostream &stream, const Connected &value)
Operator to serialize the value to a stream.
Definition CameraState.h:260
static std::set< bool > validValues()
All valid values of Connected.
Definition CameraState.h:222
bool operator==(const Connected &other) const
Comparison operator.
Definition CameraState.h:248
static constexpr const char * path
The full path for this value.
Definition CameraState.h:204
bool ValueType
The type of the underlying value.
Definition CameraState.h:217
If the camera status is inaccessible, then this enum value will give you the reason.
Definition CameraState.h:277
static const InaccessibleReason ipNotInLocalSubnet
ipNotInLocalSubnet
Definition CameraState.h:303
constexpr InaccessibleReason(ValueType value)
Constructor.
Definition CameraState.h:319
bool hasValue() const
Check if the value is set.
static constexpr const char * path
The full path for this value.
Definition CameraState.h:283
static const InaccessibleReason ipConflictWithAnotherCamera
ipConflictWithAnotherCamera
Definition CameraState.h:301
friend std::ostream & operator<<(std::ostream &stream, const InaccessibleReason::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraState.h:339
bool operator==(const InaccessibleReason &other) const
Comparison operator.
Definition CameraState.h:345
static constexpr const char * description
The description for this value.
Definition CameraState.h:289
std::string toString() const
Get the value as string.
friend std::ostream & operator<<(std::ostream &stream, const InaccessibleReason &value)
Operator to serialize the value to a stream.
Definition CameraState.h:357
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:280
static const InaccessibleReason ipConflictWithLocalNetworkAdapter
ipConflictWithLocalNetworkAdapter
Definition CameraState.h:302
InaccessibleReason()=default
Default constructor.
static const InaccessibleReason ipInMultipleLocalSubnets
ipInMultipleLocalSubnets
Definition CameraState.h:304
static constexpr const char * name
The name of this value.
Definition CameraState.h:286
ValueType
The type of the underlying value.
Definition CameraState.h:295
@ ipConflictWithLocalNetworkAdapter
Definition CameraState.h:297
@ ipNotInLocalSubnet
Definition CameraState.h:298
@ ipInMultipleLocalSubnets
Definition CameraState.h:299
@ ipConflictWithAnotherCamera
Definition CameraState.h:296
ValueType value() const
Get the value.
void reset()
Reset the node to unset state.
bool operator!=(const InaccessibleReason &other) const
Comparison operator.
Definition CameraState.h:351
static std::set< ValueType > validValues()
All valid values of InaccessibleReason.
Definition CameraState.h:307
The link speed that the camera's Ethernet interface is operating at.
Definition CameraState.h:1968
static const LinkSpeed link2_5Gbps
link2_5Gbps
Definition CameraState.h:2000
std::string toString() const
Get the value as string.
static const LinkSpeed unknown
unknown
Definition CameraState.h:1996
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:1971
bool operator!=(const LinkSpeed &other) const
Comparison operator.
Definition CameraState.h:2039
static constexpr const char * name
The name of this value.
Definition CameraState.h:1977
static const LinkSpeed link100Mbps
link100Mbps
Definition CameraState.h:1998
LinkSpeed()=default
Default constructor.
static constexpr const char * path
The full path for this value.
Definition CameraState.h:1974
friend std::ostream & operator<<(std::ostream &stream, const LinkSpeed::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraState.h:2027
static const LinkSpeed link5Gbps
link5Gbps
Definition CameraState.h:2001
static constexpr const char * description
The description for this value.
Definition CameraState.h:1980
static const LinkSpeed link10Gbps
link10Gbps
Definition CameraState.h:2002
ValueType value() const
Get the value.
friend std::ostream & operator<<(std::ostream &stream, const LinkSpeed &value)
Operator to serialize the value to a stream.
Definition CameraState.h:2045
constexpr LinkSpeed(ValueType value)
Constructor.
Definition CameraState.h:2016
static const LinkSpeed link10Mbps
link10Mbps
Definition CameraState.h:1997
static std::set< ValueType > validValues()
All valid values of LinkSpeed.
Definition CameraState.h:2005
static const LinkSpeed link1Gbps
link1Gbps
Definition CameraState.h:1999
ValueType
The type of the underlying value.
Definition CameraState.h:1987
@ link10Gbps
Definition CameraState.h:1994
@ unknown
Definition CameraState.h:1988
@ link2_5Gbps
Definition CameraState.h:1992
@ link1Gbps
Definition CameraState.h:1991
@ link10Mbps
Definition CameraState.h:1989
@ link5Gbps
Definition CameraState.h:1993
@ link100Mbps
Definition CameraState.h:1990
bool operator==(const LinkSpeed &other) const
Comparison operator.
Definition CameraState.h:2033
Current Ethernet state.
Definition CameraState.h:1949
friend std::ostream & operator<<(std::ostream &stream, const Ethernet &value)
Operator to send the value as string to a stream.
Definition CameraState.h:2237
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:1952
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:2222
Ethernet copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:2159
static constexpr const char * name
The name of this value.
Definition CameraState.h:1958
const CameraState::Network::Ethernet::LinkSpeed & get() const
Definition CameraState.h:2202
Ethernet()
Default constructor.
std::tuple< CameraState::Network::Ethernet::LinkSpeed > Descendants
Definition CameraState.h:2072
LinkSpeed & linkSpeed()
Get LinkSpeed.
Definition CameraState.h:2186
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:2215
static constexpr const char * description
The description for this value.
Definition CameraState.h:1961
static constexpr const char * path
The full path for this value.
Definition CameraState.h:1955
Ethernet & set(const LinkSpeed &value)
Set LinkSpeed.
Definition CameraState.h:2192
bool operator!=(const Ethernet &other) const
Inequality operator.
std::string toString() const
Get the value as string.
bool operator==(const Ethernet &other) const
Equality operator.
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:2126
const LinkSpeed & linkSpeed() const
Get LinkSpeed.
Definition CameraState.h:2180
Current IPv4 address.
Definition CameraState.h:2276
Address()=default
Default constructor.
bool operator<(const Address &other) const
Comparison operator.
Definition CameraState.h:2326
static constexpr const char * description
The description for this value.
Definition CameraState.h:2288
bool operator==(const Address &other) const
Comparison operator.
Definition CameraState.h:2314
bool operator<=(const Address &other) const
Comparison operator.
Definition CameraState.h:2338
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Address.
Definition CameraState.h:2294
bool operator>(const Address &other) const
Comparison operator.
Definition CameraState.h:2332
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:2279
bool operator!=(const Address &other) const
Comparison operator.
Definition CameraState.h:2320
const std::string & value() const
Get the value.
static constexpr const char * name
The name of this value.
Definition CameraState.h:2285
friend std::ostream & operator<<(std::ostream &stream, const Address &value)
Operator to serialize the value to a stream.
Definition CameraState.h:2350
static constexpr const char * path
The full path for this value.
Definition CameraState.h:2282
bool operator>=(const Address &other) const
Comparison operator.
Definition CameraState.h:2344
Address(std::string value)
Constructor.
Definition CameraState.h:2303
std::string toString() const
Get the value as string.
std::string ValueType
The type of the underlying value.
Definition CameraState.h:2291
Current IPv4 protocol state.
Definition CameraState.h:2258
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:2261
IPV4()
Default constructor.
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:2417
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:2505
static constexpr const char * description
The description for this value.
Definition CameraState.h:2270
const Address & address() const
Get Address.
Definition CameraState.h:2471
static constexpr const char * path
The full path for this value.
Definition CameraState.h:2264
friend std::ostream & operator<<(std::ostream &stream, const IPV4 &value)
Operator to send the value as string to a stream.
Definition CameraState.h:2527
IPV4 copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:2450
const CameraState::Network::IPV4::Address & get() const
Definition CameraState.h:2492
static constexpr const char * name
The name of this value.
Definition CameraState.h:2267
bool operator==(const IPV4 &other) const
Equality operator.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:2512
IPV4 & set(const Address &value)
Set Address.
Definition CameraState.h:2483
std::string toString() const
Get the value as string.
std::tuple< CameraState::Network::IPV4::Address > Descendants
Definition CameraState.h:2363
Address & address()
Get Address.
Definition CameraState.h:2477
bool operator!=(const IPV4 &other) const
Inequality operator.
The link speed that the computer's Ethernet interface is operating at.
Definition CameraState.h:445
static const LinkSpeed link10Gbps
link10Gbps
Definition CameraState.h:479
constexpr LinkSpeed(ValueType value)
Constructor.
Definition CameraState.h:493
static const LinkSpeed link10Mbps
link10Mbps
Definition CameraState.h:474
static const LinkSpeed link5Gbps
link5Gbps
Definition CameraState.h:478
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:448
static const LinkSpeed link100Mbps
link100Mbps
Definition CameraState.h:475
bool operator!=(const LinkSpeed &other) const
Comparison operator.
Definition CameraState.h:516
ValueType
The type of the underlying value.
Definition CameraState.h:464
@ link10Gbps
Definition CameraState.h:471
@ unknown
Definition CameraState.h:465
@ link2_5Gbps
Definition CameraState.h:469
@ link1Gbps
Definition CameraState.h:468
@ link10Mbps
Definition CameraState.h:466
@ link5Gbps
Definition CameraState.h:470
@ link100Mbps
Definition CameraState.h:467
static const LinkSpeed link1Gbps
link1Gbps
Definition CameraState.h:476
bool operator==(const LinkSpeed &other) const
Comparison operator.
Definition CameraState.h:510
friend std::ostream & operator<<(std::ostream &stream, const LinkSpeed::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraState.h:504
static std::set< ValueType > validValues()
All valid values of LinkSpeed.
Definition CameraState.h:482
static const LinkSpeed link2_5Gbps
link2_5Gbps
Definition CameraState.h:477
friend std::ostream & operator<<(std::ostream &stream, const LinkSpeed &value)
Operator to serialize the value to a stream.
Definition CameraState.h:522
ValueType value() const
Get the value.
static constexpr const char * description
The description for this value.
Definition CameraState.h:457
LinkSpeed()=default
Default constructor.
static const LinkSpeed unknown
unknown
Definition CameraState.h:473
static constexpr const char * path
The full path for this value.
Definition CameraState.h:451
static constexpr const char * name
The name of this value.
Definition CameraState.h:454
std::string toString() const
Get the value as string.
Current Ethernet state.
Definition CameraState.h:426
friend std::ostream & operator<<(std::ostream &stream, const Ethernet &value)
Operator to send the value as string to a stream.
Definition CameraState.h:716
Ethernet copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:637
std::tuple< CameraState::Network::LocalInterface::Ethernet::LinkSpeed > Descendants
Definition CameraState.h:549
static constexpr const char * path
The full path for this value.
Definition CameraState.h:432
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:429
LinkSpeed & linkSpeed()
Get LinkSpeed.
Definition CameraState.h:664
bool operator==(const Ethernet &other) const
Equality operator.
bool operator!=(const Ethernet &other) const
Inequality operator.
const LinkSpeed & linkSpeed() const
Get LinkSpeed.
Definition CameraState.h:658
static constexpr const char * description
The description for this value.
Definition CameraState.h:438
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:694
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:603
Ethernet & set(const LinkSpeed &value)
Set LinkSpeed.
Definition CameraState.h:670
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:701
std::string toString() const
Get the value as string.
Ethernet()
Default constructor.
static constexpr const char * name
The name of this value.
Definition CameraState.h:435
const CameraState::Network::LocalInterface::Ethernet::LinkSpeed & get() const
Definition CameraState.h:681
IP address of the computer's local network interface.
Definition CameraState.h:779
bool operator>=(const Address &other) const
Comparison operator.
Definition CameraState.h:849
bool operator<(const Address &other) const
Comparison operator.
Definition CameraState.h:831
bool operator<=(const Address &other) const
Comparison operator.
Definition CameraState.h:843
static constexpr const char * name
The name of this value.
Definition CameraState.h:788
std::string ValueType
The type of the underlying value.
Definition CameraState.h:796
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Address.
Definition CameraState.h:799
std::string toString() const
Get the value as string.
static constexpr const char * path
The full path for this value.
Definition CameraState.h:785
friend std::ostream & operator<<(std::ostream &stream, const Address &value)
Operator to serialize the value to a stream.
Definition CameraState.h:855
const std::string & value() const
Get the value.
Address(std::string value)
Constructor.
Definition CameraState.h:808
bool operator!=(const Address &other) const
Comparison operator.
Definition CameraState.h:825
static constexpr const char * description
The description for this value.
Definition CameraState.h:791
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:782
bool operator>(const Address &other) const
Comparison operator.
Definition CameraState.h:837
Address()=default
Default constructor.
bool operator==(const Address &other) const
Comparison operator.
Definition CameraState.h:819
Subnet mask of the computer's local network interface.
Definition CameraState.h:872
bool operator!=(const Mask &other) const
Comparison operator.
Definition CameraState.h:918
bool operator>=(const Mask &other) const
Comparison operator.
Definition CameraState.h:942
Mask(std::string value)
Constructor.
Definition CameraState.h:901
static constexpr const char * description
The description for this value.
Definition CameraState.h:884
friend std::ostream & operator<<(std::ostream &stream, const Mask &value)
Operator to serialize the value to a stream.
Definition CameraState.h:948
bool operator==(const Mask &other) const
Comparison operator.
Definition CameraState.h:912
bool operator>(const Mask &other) const
Comparison operator.
Definition CameraState.h:930
static constexpr const char * name
The name of this value.
Definition CameraState.h:881
bool operator<(const Mask &other) const
Comparison operator.
Definition CameraState.h:924
bool operator<=(const Mask &other) const
Comparison operator.
Definition CameraState.h:936
Mask()=default
Default constructor.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:875
std::string toString() const
Get the value as string.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Mask.
Definition CameraState.h:892
std::string ValueType
The type of the underlying value.
Definition CameraState.h:889
static constexpr const char * path
The full path for this value.
Definition CameraState.h:878
const std::string & value() const
Get the value.
An IPv4 subnet that the local network interface is connected to.
Definition CameraState.h:758
std::string toString() const
Get the value as string.
static constexpr const char * path
The full path for this value.
Definition CameraState.h:764
Subnet copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:1054
const Mask & mask() const
Get Mask.
Definition CameraState.h:1094
static constexpr const char * name
The name of this value.
Definition CameraState.h:767
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:1019
const CameraState::Network::LocalInterface::IPV4::Subnet::Address & get() const
Definition CameraState.h:1117
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:761
Subnet()
Default constructor.
bool operator!=(const Subnet &other) const
Inequality operator.
Mask & mask()
Get Mask.
Definition CameraState.h:1100
std::tuple< CameraState::Network::LocalInterface::IPV4::Subnet::Address, CameraState::Network::LocalInterface::IPV4::Subnet::Mask > Descendants
Definition CameraState.h:961
bool operator==(const Subnet &other) const
Equality operator.
static constexpr const char * description
The description for this value.
Definition CameraState.h:770
friend std::ostream & operator<<(std::ostream &stream, const Subnet &value)
Operator to send the value as string to a stream.
Definition CameraState.h:1170
const CameraState::Network::LocalInterface::IPV4::Subnet::Mask & get() const
Definition CameraState.h:1127
const Address & address() const
Get Address.
Definition CameraState.h:1075
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:1154
Subnet & set(const Address &value)
Set Address.
Definition CameraState.h:1087
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:1146
Subnet & set(const Mask &value)
Set Mask.
Definition CameraState.h:1106
Address & address()
Get Address.
Definition CameraState.h:1081
List of IPv4 addresses and subnet masks that the interface is configured with. This list can contain ...
Definition CameraState.h:1195
CameraState::Network::LocalInterface::IPV4::Subnet & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list.
static constexpr const char * description
The description for this value.
Definition CameraState.h:1207
void emplaceBack(Args &&...args)
Appends a new element to the end of the list.
Definition CameraState.h:1255
bool operator!=(const Subnets &other) const
Comparison operator.
Definition CameraState.h:1340
bool isEmpty() const noexcept
Check if the list is empty.
std::vector< CameraState::Network::LocalInterface::IPV4::Subnet > ValueType
The type of the underlying value.
Definition CameraState.h:1215
Subnets(std::vector< CameraState::Network::LocalInterface::IPV4::Subnet > value)
Constructor.
Definition CameraState.h:1227
std::string toString() const
Get the value as string.
const CameraState::Network::LocalInterface::IPV4::Subnet & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list.
Subnets(std::initializer_list< CameraState::Network::LocalInterface::IPV4::Subnet > value)
Constructor.
Definition CameraState.h:1232
void forEach(const F &f)
Run the given function on each element in the list.
Definition CameraState.h:1290
friend std::ostream & operator<<(std::ostream &stream, const Subnets &value)
Operator to serialize the value to a stream.
Definition CameraState.h:1346
std::vector< CameraState::Network::LocalInterface::IPV4::Subnet >::const_iterator ConstIterator
Constant iterator type for Subnets.
Definition CameraState.h:1318
static constexpr const char * name
The name of this value.
Definition CameraState.h:1204
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:1198
Iterator end() noexcept
Returns an iterator to the element following the last element of the list.
ConstIterator cbegin() const noexcept
Returns a constant iterator to the first element of the list.
std::size_t size() const noexcept
Get the size of the list.
CameraState::Network::LocalInterface::IPV4::Subnet & at(std::size_t pos)
Returns a reference to the element at position pos in the list.
Subnets()=default
Default constructor.
const CameraState::Network::LocalInterface::IPV4::Subnet & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list.
static constexpr const char * path
The full path for this value.
Definition CameraState.h:1201
std::vector< CameraState::Network::LocalInterface::IPV4::Subnet >::iterator Iterator
Iterator type for Subnets.
Definition CameraState.h:1309
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for Subnets.
Definition CameraState.h:1218
ConstIterator cend() const noexcept
Returns a constant iterator to the element following the last element of the list.
void forEach(const F &f) const
Run the given function on each element in the list.
Definition CameraState.h:1300
const std::vector< CameraState::Network::LocalInterface::IPV4::Subnet > & value() const
Get the value.
Iterator begin() noexcept
Returns an iterator to the first element of the list.
Current IPv4 protocol state of the computer's local network interface.
Definition CameraState.h:737
static constexpr const char * path
The full path for this value.
Definition CameraState.h:743
const Subnets & subnets() const
Get Subnets.
Definition CameraState.h:1468
IPV4 copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:1447
const CameraState::Network::LocalInterface::IPV4::Subnets & get() const
Definition CameraState.h:1491
std::tuple< CameraState::Network::LocalInterface::IPV4::Subnets > Descendants
Definition CameraState.h:1359
friend std::ostream & operator<<(std::ostream &stream, const IPV4 &value)
Operator to send the value as string to a stream.
Definition CameraState.h:1526
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:740
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:1504
IPV4()
Default constructor.
bool operator!=(const IPV4 &other) const
Inequality operator.
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:1413
static constexpr const char * description
The description for this value.
Definition CameraState.h:749
bool operator==(const IPV4 &other) const
Equality operator.
std::string toString() const
Get the value as string.
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:1511
IPV4 & set(const Subnets &value)
Set Subnets.
Definition CameraState.h:1480
Subnets & subnets()
Get Subnets.
Definition CameraState.h:1474
static constexpr const char * name
The name of this value.
Definition CameraState.h:746
Name of the computer's local network interface.
Definition CameraState.h:1547
bool operator==(const InterfaceName &other) const
Comparison operator.
Definition CameraState.h:1587
std::string ValueType
The type of the underlying value.
Definition CameraState.h:1564
const std::string & value() const
Get the value.
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for InterfaceName.
Definition CameraState.h:1567
InterfaceName(std::string value)
Constructor.
Definition CameraState.h:1576
bool operator<=(const InterfaceName &other) const
Comparison operator.
Definition CameraState.h:1611
friend std::ostream & operator<<(std::ostream &stream, const InterfaceName &value)
Operator to serialize the value to a stream.
Definition CameraState.h:1623
bool operator>(const InterfaceName &other) const
Comparison operator.
Definition CameraState.h:1605
bool operator<(const InterfaceName &other) const
Comparison operator.
Definition CameraState.h:1599
static constexpr const char * path
The full path for this value.
Definition CameraState.h:1553
InterfaceName()=default
Default constructor.
std::string toString() const
Get the value as string.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:1550
bool operator!=(const InterfaceName &other) const
Comparison operator.
Definition CameraState.h:1593
bool operator>=(const InterfaceName &other) const
Comparison operator.
Definition CameraState.h:1617
static constexpr const char * name
The name of this value.
Definition CameraState.h:1556
static constexpr const char * description
The description for this value.
Definition CameraState.h:1559
Current state of the computer's local network interface.
Definition CameraState.h:405
const CameraState::Network::LocalInterface::IPV4::Subnets & get() const
Definition CameraState.h:1865
static constexpr const char * path
The full path for this value.
Definition CameraState.h:411
const CameraState::Network::LocalInterface::Ethernet & get() const
Definition CameraState.h:1836
Ethernet & ethernet()
Get Ethernet.
Definition CameraState.h:1767
const CameraState::Network::LocalInterface::Ethernet::LinkSpeed & get() const
Definition CameraState.h:1846
bool operator!=(const LocalInterface &other) const
Inequality operator.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:408
LocalInterface()
Default constructor.
InterfaceName & interfaceName()
Get InterfaceName.
Definition CameraState.h:1819
bool operator==(const LocalInterface &other) const
Equality operator.
LocalInterface & set(const IPV4::Subnets &value)
Set IPV4::Subnets.
Definition CameraState.h:1806
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:1909
LocalInterface copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:1740
std::string toString() const
Get the value as string.
const InterfaceName & interfaceName() const
Get InterfaceName.
Definition CameraState.h:1813
const Ethernet & ethernet() const
Get Ethernet.
Definition CameraState.h:1761
const IPV4 & ipv4() const
Get IPV4.
Definition CameraState.h:1787
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:1900
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:1703
friend std::ostream & operator<<(std::ostream &stream, const LocalInterface &value)
Operator to send the value as string to a stream.
Definition CameraState.h:1926
const CameraState::Network::LocalInterface::IPV4 & get() const
Definition CameraState.h:1855
LocalInterface & set(const Ethernet &value)
Set Ethernet.
Definition CameraState.h:1773
static constexpr const char * description
The description for this value.
Definition CameraState.h:417
LocalInterface & set(const Ethernet::LinkSpeed &value)
Set Ethernet::LinkSpeed.
Definition CameraState.h:1780
LocalInterface & set(const InterfaceName &value)
Set InterfaceName.
Definition CameraState.h:1825
static constexpr const char * name
The name of this value.
Definition CameraState.h:414
std::tuple< CameraState::Network::LocalInterface::Ethernet, CameraState::Network::LocalInterface::Ethernet::LinkSpeed, CameraState::Network::LocalInterface::IPV4, CameraState::Network::LocalInterface::IPV4::Subnets, CameraState::Network::LocalInterface::InterfaceName > Descendants
Definition CameraState.h:1636
IPV4 & ipv4()
Get IPV4.
Definition CameraState.h:1793
const CameraState::Network::LocalInterface::InterfaceName & get() const
Definition CameraState.h:1875
LocalInterface & set(const IPV4 &value)
Set IPV4.
Definition CameraState.h:1799
List of the computer's local network interfaces that discovered the camera. In the most common scenar...
Definition CameraState.h:2554
std::vector< CameraState::Network::LocalInterface >::iterator Iterator
Iterator type for LocalInterfaces.
Definition CameraState.h:2670
bool operator!=(const LocalInterfaces &other) const
Comparison operator.
Definition CameraState.h:2700
bool isEmpty() const noexcept
Check if the list is empty.
const std::vector< CameraState::Network::LocalInterface > & value() const
Get the value.
ConstIterator cbegin() const noexcept
Returns a constant iterator to the first element of the list.
CameraState::Network::LocalInterface & operator[](std::size_t pos)
Returns a reference to the element at position pos in the list.
std::string toString() const
Get the value as string.
LocalInterfaces()=default
Default constructor.
static constexpr const char * description
The description for this value.
Definition CameraState.h:2566
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:2557
Iterator end() noexcept
Returns an iterator to the element following the last element of the list.
std::vector< CameraState::Network::LocalInterface > ValueType
The type of the underlying value.
Definition CameraState.h:2577
LocalInterfaces(std::initializer_list< CameraState::Network::LocalInterface > value)
Constructor.
Definition CameraState.h:2594
const CameraState::Network::LocalInterface & operator[](std::size_t pos) const
Returns a const reference to the element at position pos in the list.
void emplaceBack(Args &&...args)
Appends a new element to the end of the list.
Definition CameraState.h:2616
static constexpr Range< ValueType::size_type > validSize()
The valid sizes for LocalInterfaces.
Definition CameraState.h:2580
Iterator begin() noexcept
Returns an iterator to the first element of the list.
const CameraState::Network::LocalInterface & at(std::size_t pos) const
Returns a const reference to the element at position pos in the list.
LocalInterfaces(std::vector< CameraState::Network::LocalInterface > value)
Constructor.
Definition CameraState.h:2589
ConstIterator cend() const noexcept
Returns a constant iterator to the element following the last element of the list.
void forEach(const F &f) const
Run the given function on each element in the list.
Definition CameraState.h:2661
std::vector< CameraState::Network::LocalInterface >::const_iterator ConstIterator
Constant iterator type for LocalInterfaces.
Definition CameraState.h:2679
static constexpr const char * name
The name of this value.
Definition CameraState.h:2563
void forEach(const F &f)
Run the given function on each element in the list.
Definition CameraState.h:2651
static constexpr const char * path
The full path for this value.
Definition CameraState.h:2560
CameraState::Network::LocalInterface & at(std::size_t pos)
Returns a reference to the element at position pos in the list.
std::size_t size() const noexcept
Get the size of the list.
friend std::ostream & operator<<(std::ostream &stream, const LocalInterfaces &value)
Operator to serialize the value to a stream.
Definition CameraState.h:2706
Current network state.
Definition CameraState.h:386
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:2786
const LocalInterfaces & localInterfaces() const
Get LocalInterfaces.
Definition CameraState.h:2894
Network & set(const Ethernet::LinkSpeed &value)
Set Ethernet::LinkSpeed.
Definition CameraState.h:2861
std::tuple< CameraState::Network::Ethernet, CameraState::Network::Ethernet::LinkSpeed, CameraState::Network::IPV4, CameraState::Network::IPV4::Address, CameraState::Network::LocalInterfaces > Descendants
Definition CameraState.h:2719
static constexpr const char * path
The full path for this value.
Definition CameraState.h:392
std::string toString() const
Get the value as string.
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:389
friend std::ostream & operator<<(std::ostream &stream, const Network &value)
Operator to send the value as string to a stream.
Definition CameraState.h:2999
Network & set(const Ethernet &value)
Set Ethernet.
Definition CameraState.h:2854
const Ethernet & ethernet() const
Get Ethernet.
Definition CameraState.h:2842
const CameraState::Network::Ethernet & get() const
Definition CameraState.h:2915
const CameraState::Network::LocalInterfaces & get() const
Definition CameraState.h:2948
const CameraState::Network::Ethernet::LinkSpeed & get() const
Definition CameraState.h:2924
Ethernet & ethernet()
Get Ethernet.
Definition CameraState.h:2848
bool operator==(const Network &other) const
Equality operator.
LocalInterfaces & localInterfaces()
Get LocalInterfaces.
Definition CameraState.h:2900
static constexpr const char * description
The description for this value.
Definition CameraState.h:398
Network()
Default constructor.
Network & set(const IPV4 &value)
Set IPV4.
Definition CameraState.h:2880
Network copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:2822
const CameraState::Network::IPV4::Address & get() const
Definition CameraState.h:2940
Network & set(const LocalInterfaces &value)
Set LocalInterfaces.
Definition CameraState.h:2906
const CameraState::Network::IPV4 & get() const
Definition CameraState.h:2932
Network & set(const IPV4::Address &value)
Set IPV4::Address.
Definition CameraState.h:2887
static constexpr const char * name
The name of this value.
Definition CameraState.h:395
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:2982
IPV4 & ipv4()
Get IPV4.
Definition CameraState.h:2874
bool operator!=(const Network &other) const
Inequality operator.
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:2973
const IPV4 & ipv4() const
Get IPV4.
Definition CameraState.h:2868
This enum describes the current status of this camera. The enum can have the following values:
Definition CameraState.h:3055
constexpr Status(ValueType value)
Constructor.
Definition CameraState.h:3148
static std::set< ValueType > validValues()
All valid values of Status.
Definition CameraState.h:3130
static const Status connected
connected
Definition CameraState.h:3125
static const Status disconnecting
disconnecting
Definition CameraState.h:3126
static const Status inaccessible
inaccessible
Definition CameraState.h:3118
std::string toString() const
Get the value as string.
ValueType
The type of the underlying value.
Definition CameraState.h:3106
@ connected
Definition CameraState.h:3114
@ disconnecting
Definition CameraState.h:3115
@ firmwareUpdateRequired
Definition CameraState.h:3110
@ updatingFirmware
Definition CameraState.h:3111
@ inaccessible
Definition CameraState.h:3107
@ busy
Definition CameraState.h:3108
@ connecting
Definition CameraState.h:3113
@ disappeared
Definition CameraState.h:3116
@ available
Definition CameraState.h:3112
@ applyingNetworkConfiguration
Definition CameraState.h:3109
static const Status applyingNetworkConfiguration
applyingNetworkConfiguration
Definition CameraState.h:3120
friend std::ostream & operator<<(std::ostream &stream, const Status &value)
Operator to serialize the value to a stream.
Definition CameraState.h:3177
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3058
static const Status firmwareUpdateRequired
firmwareUpdateRequired
Definition CameraState.h:3121
ValueType value() const
Get the value.
bool operator!=(const Status &other) const
Comparison operator.
Definition CameraState.h:3171
static const Status connecting
connecting
Definition CameraState.h:3124
bool operator==(const Status &other) const
Comparison operator.
Definition CameraState.h:3165
static const Status busy
busy
Definition CameraState.h:3119
Status()=default
Default constructor.
static const Status available
available
Definition CameraState.h:3123
static const Status updatingFirmware
updatingFirmware
Definition CameraState.h:3122
static constexpr const char * description
The description for this value.
Definition CameraState.h:3067
static const Status disappeared
disappeared
Definition CameraState.h:3127
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3061
static constexpr const char * name
The name of this value.
Definition CameraState.h:3064
friend std::ostream & operator<<(std::ostream &stream, const Status::ValueType &value)
Operator to serialize ValueType to a stream.
Definition CameraState.h:3159
DMD temperature.
Definition CameraState.h:3227
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3230
bool operator>(const DMD &other) const
Comparison operator.
Definition CameraState.h:3283
std::string toString() const
Get the value as string.
static constexpr const char * description
The description for this value.
Definition CameraState.h:3239
double value() const
Get the value.
bool operator!=(const DMD &other) const
Comparison operator.
Definition CameraState.h:3271
bool operator<(const DMD &other) const
Comparison operator.
Definition CameraState.h:3277
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3233
bool operator>=(const DMD &other) const
Comparison operator.
Definition CameraState.h:3295
double ValueType
The type of the underlying value.
Definition CameraState.h:3242
bool operator<=(const DMD &other) const
Comparison operator.
Definition CameraState.h:3289
friend std::ostream & operator<<(std::ostream &stream, const DMD &value)
Operator to serialize the value to a stream.
Definition CameraState.h:3301
constexpr DMD(double value)
Constructor.
Definition CameraState.h:3254
bool operator==(const DMD &other) const
Comparison operator.
Definition CameraState.h:3265
static constexpr const char * name
The name of this value.
Definition CameraState.h:3236
static constexpr Range< double > validRange()
The range of valid values for DMD.
Definition CameraState.h:3245
DMD()=default
Default constructor.
General temperature.
Definition CameraState.h:3318
double ValueType
The type of the underlying value.
Definition CameraState.h:3333
static constexpr const char * name
The name of this value.
Definition CameraState.h:3327
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3321
std::string toString() const
Get the value as string.
double value() const
Get the value.
bool operator<(const General &other) const
Comparison operator.
Definition CameraState.h:3368
constexpr General(double value)
Constructor.
Definition CameraState.h:3345
static constexpr Range< double > validRange()
The range of valid values for General.
Definition CameraState.h:3336
bool operator==(const General &other) const
Comparison operator.
Definition CameraState.h:3356
General()=default
Default constructor.
bool operator<=(const General &other) const
Comparison operator.
Definition CameraState.h:3380
bool operator!=(const General &other) const
Comparison operator.
Definition CameraState.h:3362
bool operator>(const General &other) const
Comparison operator.
Definition CameraState.h:3374
static constexpr const char * description
The description for this value.
Definition CameraState.h:3330
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3324
friend std::ostream & operator<<(std::ostream &stream, const General &value)
Operator to serialize the value to a stream.
Definition CameraState.h:3392
bool operator>=(const General &other) const
Comparison operator.
Definition CameraState.h:3386
LED temperature.
Definition CameraState.h:3409
bool operator<=(const LED &other) const
Comparison operator.
Definition CameraState.h:3471
std::string toString() const
Get the value as string.
bool operator<(const LED &other) const
Comparison operator.
Definition CameraState.h:3459
double value() const
Get the value.
LED()=default
Default constructor.
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3415
constexpr LED(double value)
Constructor.
Definition CameraState.h:3436
friend std::ostream & operator<<(std::ostream &stream, const LED &value)
Operator to serialize the value to a stream.
Definition CameraState.h:3483
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3412
static constexpr const char * name
The name of this value.
Definition CameraState.h:3418
bool operator!=(const LED &other) const
Comparison operator.
Definition CameraState.h:3453
bool operator==(const LED &other) const
Comparison operator.
Definition CameraState.h:3447
bool operator>=(const LED &other) const
Comparison operator.
Definition CameraState.h:3477
bool operator>(const LED &other) const
Comparison operator.
Definition CameraState.h:3465
static constexpr const char * description
The description for this value.
Definition CameraState.h:3421
static constexpr Range< double > validRange()
The range of valid values for LED.
Definition CameraState.h:3427
double ValueType
The type of the underlying value.
Definition CameraState.h:3424
Lens temperature.
Definition CameraState.h:3500
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3503
double ValueType
The type of the underlying value.
Definition CameraState.h:3515
static constexpr const char * name
The name of this value.
Definition CameraState.h:3509
bool operator==(const Lens &other) const
Comparison operator.
Definition CameraState.h:3538
Lens()=default
Default constructor.
bool operator<=(const Lens &other) const
Comparison operator.
Definition CameraState.h:3562
double value() const
Get the value.
bool operator>(const Lens &other) const
Comparison operator.
Definition CameraState.h:3556
bool operator!=(const Lens &other) const
Comparison operator.
Definition CameraState.h:3544
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3506
bool operator>=(const Lens &other) const
Comparison operator.
Definition CameraState.h:3568
static constexpr const char * description
The description for this value.
Definition CameraState.h:3512
std::string toString() const
Get the value as string.
constexpr Lens(double value)
Constructor.
Definition CameraState.h:3527
static constexpr Range< double > validRange()
The range of valid values for Lens.
Definition CameraState.h:3518
bool operator<(const Lens &other) const
Comparison operator.
Definition CameraState.h:3550
friend std::ostream & operator<<(std::ostream &stream, const Lens &value)
Operator to serialize the value to a stream.
Definition CameraState.h:3574
PCB temperature.
Definition CameraState.h:3591
bool operator!=(const PCB &other) const
Comparison operator.
Definition CameraState.h:3635
constexpr PCB(double value)
Constructor.
Definition CameraState.h:3618
static constexpr Range< double > validRange()
The range of valid values for PCB.
Definition CameraState.h:3609
bool operator>=(const PCB &other) const
Comparison operator.
Definition CameraState.h:3659
PCB()=default
Default constructor.
bool operator<=(const PCB &other) const
Comparison operator.
Definition CameraState.h:3653
friend std::ostream & operator<<(std::ostream &stream, const PCB &value)
Operator to serialize the value to a stream.
Definition CameraState.h:3665
static constexpr const char * name
The name of this value.
Definition CameraState.h:3600
bool operator==(const PCB &other) const
Comparison operator.
Definition CameraState.h:3629
static constexpr const char * description
The description for this value.
Definition CameraState.h:3603
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3597
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3594
double value() const
Get the value.
bool operator>(const PCB &other) const
Comparison operator.
Definition CameraState.h:3647
double ValueType
The type of the underlying value.
Definition CameraState.h:3606
std::string toString() const
Get the value as string.
bool operator<(const PCB &other) const
Comparison operator.
Definition CameraState.h:3641
Current temperature(s)
Definition CameraState.h:3209
DMD & dmd()
Get DMD.
Definition CameraState.h:3807
Temperature & set(const General &value)
Set General.
Definition CameraState.h:3832
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:3212
const PCB & pcb() const
Get PCB.
Definition CameraState.h:3877
const CameraState::Temperature::Lens & get() const
Definition CameraState.h:3922
static constexpr const char * name
The name of this value.
Definition CameraState.h:3218
Temperature & set(const Lens &value)
Set Lens.
Definition CameraState.h:3870
const CameraState::Temperature::DMD & get() const
Definition CameraState.h:3898
static constexpr const char * path
The full path for this value.
Definition CameraState.h:3215
const CameraState::Temperature::PCB & get() const
Definition CameraState.h:3930
const CameraState::Temperature::General & get() const
Definition CameraState.h:3906
Temperature & set(const PCB &value)
Set PCB.
Definition CameraState.h:3889
const General & general() const
Get General.
Definition CameraState.h:3820
bool operator!=(const Temperature &other) const
Inequality operator.
const LED & led() const
Get LED.
Definition CameraState.h:3839
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:3967
friend std::ostream & operator<<(std::ostream &stream, const Temperature &value)
Operator to send the value as string to a stream.
Definition CameraState.h:3997
Temperature & set(const LED &value)
Set LED.
Definition CameraState.h:3851
std::string toString() const
Get the value as string.
LED & led()
Get LED.
Definition CameraState.h:3845
bool operator==(const Temperature &other) const
Equality operator.
const Lens & lens() const
Get Lens.
Definition CameraState.h:3858
Temperature copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:3781
General & general()
Get General.
Definition CameraState.h:3826
std::tuple< CameraState::Temperature::DMD, CameraState::Temperature::General, CameraState::Temperature::LED, CameraState::Temperature::Lens, CameraState::Temperature::PCB > Descendants
Definition CameraState.h:3678
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:3745
const DMD & dmd() const
Get DMD.
Definition CameraState.h:3801
static constexpr const char * description
The description for this value.
Definition CameraState.h:3221
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:3978
const CameraState::Temperature::LED & get() const
Definition CameraState.h:3914
Lens & lens()
Get Lens.
Definition CameraState.h:3864
Temperature()
Default constructor.
Temperature & set(const DMD &value)
Set DMD.
Definition CameraState.h:3813
PCB & pcb()
Get PCB.
Definition CameraState.h:3883
Information about camera connection state, temperatures, etc.
Definition CameraState.h:79
CameraState & set(const Network::Ethernet::LinkSpeed &value)
Set Network::Ethernet::LinkSpeed.
Definition CameraState.h:4283
const Temperature & temperature() const
Get Temperature.
Definition CameraState.h:4330
CameraState copyWith(Args &&...args) const
Returns a copy of this object with the given argument(s) set to the new value(s)
Definition CameraState.h:4181
const CameraState::Network::IPV4 & get() const
Definition CameraState.h:4426
const CameraState::Temperature::Lens & get() const
Definition CameraState.h:4486
void load(const std::string &fileName)
Load from the given file.
CameraState(const std::string &fileName)
Construct CameraState by loading from file.
std::string serialize() const
Serialize to a string.
CameraState & set(const Temperature &value)
Set Temperature.
Definition CameraState.h:4342
static constexpr const char * description
The description for this value.
Definition CameraState.h:91
const CameraState::Connected & get() const
Definition CameraState.h:4390
Temperature & temperature()
Get Temperature.
Definition CameraState.h:4336
const CameraState::Temperature::General & get() const
Definition CameraState.h:4470
std::string toString() const
Get the value as string.
CameraState & set(const Network &value)
Set Network.
Definition CameraState.h:4269
const CameraState::Status & get() const
Definition CameraState.h:4448
const CameraState::InaccessibleReason & get() const
Definition CameraState.h:4398
const CameraState::Available & get() const
Definition CameraState.h:4384
const CameraState::Network::Ethernet::LinkSpeed & get() const
Definition CameraState.h:4420
const CameraState::Network::IPV4::Address & get() const
Definition CameraState.h:4434
void forEach(const F &f)
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:4549
void save(const std::string &fileName) const
Save to the given file.
const CameraState::Network & get() const
Definition CameraState.h:4404
const CameraState::Temperature::PCB & get() const
Definition CameraState.h:4494
CameraState & set(const Temperature::PCB &value)
Set Temperature::PCB.
Definition CameraState.h:4377
const InaccessibleReason & inaccessibleReason() const
Get InaccessibleReason.
Definition CameraState.h:4238
const CameraState::Temperature::LED & get() const
Definition CameraState.h:4478
std::tuple< CameraState::Available, CameraState::Connected, CameraState::InaccessibleReason, CameraState::Network, CameraState::Network::Ethernet, CameraState::Network::Ethernet::LinkSpeed, CameraState::Network::IPV4, CameraState::Network::IPV4::Address, CameraState::Network::LocalInterfaces, CameraState::Status, CameraState::Temperature, CameraState::Temperature::DMD, CameraState::Temperature::General, CameraState::Temperature::LED, CameraState::Temperature::Lens, CameraState::Temperature::PCB > Descendants
Definition CameraState.h:4018
static constexpr size_t version
Definition CameraState.h:95
CameraState & set(const Temperature::General &value)
Set Temperature::General.
Definition CameraState.h:4356
friend std::ostream & operator<<(std::ostream &stream, const CameraState &value)
Operator to send the value as string to a stream.
Definition CameraState.h:4569
bool operator!=(const CameraState &other) const
Inequality operator.
CameraState & set(const Network::IPV4 &value)
Set Network::IPV4.
Definition CameraState.h:4290
CameraState & set(const Network::IPV4::Address &value)
Set Network::IPV4::Address.
Definition CameraState.h:4297
static constexpr DataModel::NodeType nodeType
The type of this node.
Definition CameraState.h:82
Status & status()
Get Status.
Definition CameraState.h:4317
const Available & isAvailable() const
Get Available.
Definition CameraState.h:4200
const Status & status() const
Get Status.
Definition CameraState.h:4311
const CameraState::Network::LocalInterfaces & get() const
Definition CameraState.h:4442
Connected & isConnected()
Get Connected.
Definition CameraState.h:4225
CameraState & set(const Temperature::Lens &value)
Set Temperature::Lens.
Definition CameraState.h:4370
CameraState & set(const Available &value)
Set Available.
Definition CameraState.h:4212
CameraState & set(const Temperature::DMD &value)
Set Temperature::DMD.
Definition CameraState.h:4349
static constexpr const char * path
The full path for this value.
Definition CameraState.h:85
bool operator==(const CameraState &other) const
Equality operator.
CameraState()
Default constructor.
CameraState & set(const Status &value)
Set Status.
Definition CameraState.h:4323
CameraState & set(const InaccessibleReason &value)
Set InaccessibleReason.
Definition CameraState.h:4250
CameraState & set(const Connected &value)
Set Connected.
Definition CameraState.h:4231
Network & network()
Get Network.
Definition CameraState.h:4263
static constexpr const char * name
The name of this value.
Definition CameraState.h:88
CameraState(Args &&...args)
Constructor taking variadic number of arguments.
Definition CameraState.h:4092
const CameraState::Temperature & get() const
Definition CameraState.h:4454
void forEach(const F &f) const
Run the given function on each direct member with the value of the member as parameter.
Definition CameraState.h:4537
static CameraState fromSerialized(const std::string &value)
Construct a new CameraState instance from a previously serialized string.
void set(Args &&...args)
Set multiple arguments.
Definition CameraState.h:4134
const CameraState::Network::Ethernet & get() const
Definition CameraState.h:4412
InaccessibleReason & inaccessibleReason()
Get InaccessibleReason.
Definition CameraState.h:4244
CameraState & set(const Network::Ethernet &value)
Set Network::Ethernet.
Definition CameraState.h:4276
CameraState & set(const Temperature::LED &value)
Set Temperature::LED.
Definition CameraState.h:4363
const CameraState::Temperature::DMD & get() const
Definition CameraState.h:4462
const Network & network() const
Get Network.
Definition CameraState.h:4257
const Connected & isConnected() const
Get Connected.
Definition CameraState.h:4219
Available & isAvailable()
Get Available.
Definition CameraState.h:4206
CameraState & set(const Network::LocalInterfaces &value)
Set Network::LocalInterfaces.
Definition CameraState.h:4304
Class describing a range of values for a given type T.
Definition Range.h:75
NodeType
Definition NodeType.h:49
@ leafDataModelList
Definition NodeType.h:51
@ leafValue
Definition NodeType.h:52
@ group
Definition NodeType.h:50
Definition EnvironmentInfo.h:74
Get version information for the library.
Definition Version.h:58
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:85