CameraState

Live telemetry: temperatures, network link state, available, connected, …

class CameraState

Information about camera connection state, temperatures, etc.

Public Functions

CameraState()

Default constructor.

explicit CameraState(const std::string &fileName)

Construct CameraState by loading from file.

std::string serialize() const

Serialize to a string.

See also fromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using save.

template<typename ...Args>
inline explicit CameraState(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing CameraState then invoking set(args).

The provided arguments must be descendants of CameraState. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of CameraState. These types can be provided:

template<typename ...Args>
inline CameraState copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this CameraState object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of CameraState. These types can be provided:

inline const Available &isAvailable() const

Get Available.

inline Available &isAvailable()

Get Available.

inline CameraState &set(const Available &value)

Set Available.

inline const Connected &isConnected() const

Get Connected.

inline Connected &isConnected()

Get Connected.

inline CameraState &set(const Connected &value)

Set Connected.

inline const InaccessibleReason &inaccessibleReason() const

Get InaccessibleReason.

inline InaccessibleReason &inaccessibleReason()

Get InaccessibleReason.

inline CameraState &set(const InaccessibleReason &value)

Set InaccessibleReason.

inline const Network &network() const

Get Network.

inline Network &network()

Get Network.

inline CameraState &set(const Network &value)

Set Network.

inline CameraState &set(const Network::Ethernet &value)

Set Network::Ethernet.

inline CameraState &set(const Network::Ethernet::LinkSpeed &value)

Set Network::Ethernet::LinkSpeed.

inline CameraState &set(const Network::IPV4 &value)

Set Network::IPV4.

inline CameraState &set(const Network::IPV4::Address &value)

Set Network::IPV4::Address.

inline CameraState &set(const Network::LocalInterfaces &value)

Set Network::LocalInterfaces.

inline const Status &status() const

Get Status.

inline Status &status()

Get Status.

inline CameraState &set(const Status &value)

Set Status.

inline const Temperature &temperature() const

Get Temperature.

inline Temperature &temperature()

Get Temperature.

inline CameraState &set(const Temperature &value)

Set Temperature.

inline CameraState &set(const Temperature::DMD &value)

Set Temperature::DMD.

inline CameraState &set(const Temperature::General &value)

Set Temperature::General.

inline CameraState &set(const Temperature::LED &value)

Set Temperature::LED.

inline CameraState &set(const Temperature::Lens &value)

Set Temperature::Lens.

inline CameraState &set(const Temperature::PCB &value)

Set Temperature::PCB.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const CameraState &other) const

Equality operator.

bool operator!=(const CameraState &other) const

Inequality operator.

std::string toString() const

Get the value as string.

void save(const std::string &fileName) const

Save to the given file.

void load(const std::string &fileName)

Load from the given file.

Public Static Functions

static CameraState fromSerialized(const std::string &value)

Construct a new CameraState instance from a previously serialized string.

See also serialize.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {""}

The full path for this value.

static constexpr const char *name = {"CameraState"}

The name of this value.

static constexpr const char * description  {R"description(Information about camera connection state, temperatures, etc.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const CameraState &value)

Operator to send the value as string to a stream.

class Available

Flag if camera is physically connected to the computer and is available for use, but not connected in software.

This corresponds to the Status enums available or firmwareUpdateRequired. Zivid recommends to use the Status enum instead of this bool.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Available() = default

Default constructor.

inline explicit constexpr Available(bool value)

Constructor.

bool value() const

Get the value.

std::string toString() const

Get the value as string.

inline explicit operator bool() const

Convert to bool where appropriate.

inline bool operator==(const Available &other) const

Comparison operator.

inline bool operator!=(const Available &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Available.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Available"}

The full path for this value.

static constexpr const char *name = {"Available"}

The name of this value.

static constexpr const char * description  {R"description(Flag if camera is physically connected to the computer and is available for use, but not connected insoftware. This corresponds to theStatusenums `available` or `firmwareUpdateRequired`. Zividrecommends to use theStatusenum instead of this bool.)description"}

The description for this value.

static const Available yes

On/enabled.

static const Available no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Available &value)

Operator to serialize the value to a stream.

class Connected

Flag if camera is connected in software.

This bool is true when the Status value is connected. Zivid recommends to use the Status enum instead of this bool.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Connected() = default

Default constructor.

inline explicit constexpr Connected(bool value)

Constructor.

bool value() const

Get the value.

std::string toString() const

Get the value as string.

inline explicit operator bool() const

Convert to bool where appropriate.

inline bool operator==(const Connected &other) const

Comparison operator.

inline bool operator!=(const Connected &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Connected.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Connected"}

The full path for this value.

static constexpr const char *name = {"Connected"}

The name of this value.

static constexpr const char * description  {R"description(Flag if camera is connected in software. This bool is true when theStatus valueis `connected`. Zividrecommends to use theStatusenum instead of this bool.)description"}

The description for this value.

static const Connected yes

On/enabled.

static const Connected no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Connected &value)

Operator to serialize the value to a stream.

class InaccessibleReason

If the camera status is inaccessible, then this enum value will give you the reason.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator ipConflictWithAnotherCamera
enumerator ipConflictWithLocalNetworkAdapter
enumerator ipNotInLocalSubnet
enumerator ipInMultipleLocalSubnets

Public Functions

InaccessibleReason() = default

Default constructor.

inline explicit constexpr InaccessibleReason(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const InaccessibleReason &other) const

Comparison operator.

inline bool operator!=(const InaccessibleReason &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of InaccessibleReason.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"InaccessibleReason"}

The full path for this value.

static constexpr const char *name = {"InaccessibleReason"}

The name of this value.

static constexpr const char * description  {R"description(If the camerastatus is `inaccessible`, then this enum valuewill give you the reason.)description"}

The description for this value.

static const InaccessibleReason ipConflictWithAnotherCamera

ipConflictWithAnotherCamera

static const InaccessibleReason ipConflictWithLocalNetworkAdapter

ipConflictWithLocalNetworkAdapter

static const InaccessibleReason ipNotInLocalSubnet

ipNotInLocalSubnet

static const InaccessibleReason ipInMultipleLocalSubnets

ipInMultipleLocalSubnets

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const InaccessibleReason::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const InaccessibleReason &value)

Operator to serialize the value to a stream.

class Network

Current network state.

Public Functions

Network()

Default constructor.

template<typename ...Args>
inline explicit Network(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Network then invoking set(args).

The provided arguments must be descendants of Network. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Network. These types can be provided:

template<typename ...Args>
inline Network copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Network object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Network. These types can be provided:

inline const Ethernet &ethernet() const

Get Ethernet.

inline Ethernet &ethernet()

Get Ethernet.

inline Network &set(const Ethernet &value)

Set Ethernet.

inline Network &set(const Ethernet::LinkSpeed &value)

Set Ethernet::LinkSpeed.

inline const IPV4 &ipv4() const

Get IPV4.

inline IPV4 &ipv4()

Get IPV4.

inline Network &set(const IPV4 &value)

Set IPV4.

inline Network &set(const IPV4::Address &value)

Set IPV4::Address.

inline const LocalInterfaces &localInterfaces() const

Get LocalInterfaces.

inline LocalInterfaces &localInterfaces()

Get LocalInterfaces.

inline Network &set(const LocalInterfaces &value)

Set LocalInterfaces.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Network &other) const

Equality operator.

bool operator!=(const Network &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network"}

The full path for this value.

static constexpr const char *name = {"Network"}

The name of this value.

static constexpr const char * description   = { R"description(Current network state)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Network &value)

Operator to send the value as string to a stream.

class Ethernet

Current Ethernet state.

Public Functions

Ethernet()

Default constructor.

template<typename ...Args>
inline explicit Ethernet(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Ethernet then invoking set(args).

The provided arguments must be descendants of Ethernet. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Ethernet. These types can be provided:

template<typename ...Args>
inline Ethernet copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Ethernet object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Ethernet. These types can be provided:

inline const LinkSpeed &linkSpeed() const

Get LinkSpeed.

inline LinkSpeed &linkSpeed()

Get LinkSpeed.

inline Ethernet &set(const LinkSpeed &value)

Set LinkSpeed.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Ethernet &other) const

Equality operator.

bool operator!=(const Ethernet &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network/Ethernet"}

The full path for this value.

static constexpr const char *name = {"Ethernet"}

The name of this value.

static constexpr const char * description   = { R"description(Current Ethernet state)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Ethernet &value)

Operator to send the value as string to a stream.

class LinkSpeed

The link speed that the camera’s Ethernet interface is operating at.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator unknown
enumerator link10Mbps
enumerator link100Mbps
enumerator link1Gbps
enumerator link2_5Gbps
enumerator link5Gbps
enumerator link10Gbps

Public Functions

LinkSpeed() = default

Default constructor.

inline explicit constexpr LinkSpeed(ValueType value)

Constructor.

ValueType value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const LinkSpeed &other) const

Comparison operator.

inline bool operator!=(const LinkSpeed &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of LinkSpeed.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Network/Ethernet/LinkSpeed"}

The full path for this value.

static constexpr const char *name = {"LinkSpeed"}

The name of this value.

static constexpr const char * description  {R"description(The link speed that the camera'sEthernetinterface is operating at.)description"}

The description for this value.

static const LinkSpeed unknown

unknown

static const LinkSpeed link10Mbps

link10Mbps

static const LinkSpeed link100Mbps

link100Mbps

static const LinkSpeed link1Gbps

link1Gbps

static const LinkSpeed link2_5Gbps

link2_5Gbps

static const LinkSpeed link5Gbps

link5Gbps

static const LinkSpeed link10Gbps

link10Gbps

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const LinkSpeed::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const LinkSpeed &value)

Operator to serialize the value to a stream.

class IPV4

Current IPv4 protocol state.

Public Functions

IPV4()

Default constructor.

template<typename ...Args>
inline explicit IPV4(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing IPV4 then invoking set(args).

The provided arguments must be descendants of IPV4. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of IPV4. These types can be provided:

template<typename ...Args>
inline IPV4 copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this IPV4 object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of IPV4. These types can be provided:

inline const Address &address() const

Get Address.

inline Address &address()

Get Address.

inline IPV4 &set(const Address &value)

Set Address.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const IPV4 &other) const

Equality operator.

bool operator!=(const IPV4 &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network/IPV4"}

The full path for this value.

static constexpr const char *name = {"IPV4"}

The name of this value.

static constexpr const char * description   = { R"description(Current IPv4 protocol state)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const IPV4 &value)

Operator to send the value as string to a stream.

class Address

Current IPv4 address.

Public Types

using ValueType = std::string

The type of the underlying value.

Public Functions

Address() = default

Default constructor.

inline explicit Address(std::string value)

Constructor.

const std::string &value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const Address &other) const

Comparison operator.

inline bool operator!=(const Address &other) const

Comparison operator.

inline bool operator<(const Address &other) const

Comparison operator.

inline bool operator>(const Address &other) const

Comparison operator.

inline bool operator<=(const Address &other) const

Comparison operator.

inline bool operator>=(const Address &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for Address.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Network/IPV4/Address"}

The full path for this value.

static constexpr const char *name = {"Address"}

The name of this value.

static constexpr const char * description   = { R"description(Current IPv4 address)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Address &value)

Operator to serialize the value to a stream.

class LocalInterface

Current state of the computer’s local network interface.

Public Functions

LocalInterface()

Default constructor.

template<typename ...Args>
inline explicit LocalInterface(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing LocalInterface then invoking set(args).

The provided arguments must be descendants of LocalInterface. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of LocalInterface. These types can be provided:

template<typename ...Args>
inline LocalInterface copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this LocalInterface object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of LocalInterface. These types can be provided:

inline const Ethernet &ethernet() const

Get Ethernet.

inline Ethernet &ethernet()

Get Ethernet.

inline LocalInterface &set(const Ethernet &value)

Set Ethernet.

inline LocalInterface &set(const Ethernet::LinkSpeed &value)

Set Ethernet::LinkSpeed.

inline const IPV4 &ipv4() const

Get IPV4.

inline IPV4 &ipv4()

Get IPV4.

inline LocalInterface &set(const IPV4 &value)

Set IPV4.

inline LocalInterface &set(const IPV4::Subnets &value)

Set IPV4::Subnets.

inline const InterfaceName &interfaceName() const

Get InterfaceName.

inline InterfaceName &interfaceName()

Get InterfaceName.

inline LocalInterface &set(const InterfaceName &value)

Set InterfaceName.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const LocalInterface &other) const

Equality operator.

bool operator!=(const LocalInterface &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network/LocalInterface"}

The full path for this value.

static constexpr const char *name = {"LocalInterface"}

The name of this value.

static constexpr const char * description  {R"description(Current state of the computer's localnetworkinterface.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const LocalInterface &value)

Operator to send the value as string to a stream.

class Ethernet

Current Ethernet state.

Public Functions

Ethernet()

Default constructor.

template<typename ...Args>
inline explicit Ethernet(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Ethernet then invoking set(args).

The provided arguments must be descendants of Ethernet. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Ethernet. These types can be provided:

template<typename ...Args>
inline Ethernet copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Ethernet object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Ethernet. These types can be provided:

inline const LinkSpeed &linkSpeed() const

Get LinkSpeed.

inline LinkSpeed &linkSpeed()

Get LinkSpeed.

inline Ethernet &set(const LinkSpeed &value)

Set LinkSpeed.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Ethernet &other) const

Equality operator.

bool operator!=(const Ethernet &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/Ethernet"}

The full path for this value.

static constexpr const char *name = {"Ethernet"}

The name of this value.

static constexpr const char * description   = { R"description(Current Ethernet state)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Ethernet &value)

Operator to send the value as string to a stream.

class LinkSpeed

The link speed that the computer’s Ethernet interface is operating at.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator unknown
enumerator link10Mbps
enumerator link100Mbps
enumerator link1Gbps
enumerator link2_5Gbps
enumerator link5Gbps
enumerator link10Gbps

Public Functions

LinkSpeed() = default

Default constructor.

inline explicit constexpr LinkSpeed(ValueType value)

Constructor.

ValueType value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const LinkSpeed &other) const

Comparison operator.

inline bool operator!=(const LinkSpeed &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of LinkSpeed.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/Ethernet/LinkSpeed"}

The full path for this value.

static constexpr const char *name = {"LinkSpeed"}

The name of this value.

static constexpr const char * description  {R"description(The link speed that the computer'sEthernetinterface is operating at.)description"}

The description for this value.

static const LinkSpeed unknown

unknown

static const LinkSpeed link10Mbps

link10Mbps

static const LinkSpeed link100Mbps

link100Mbps

static const LinkSpeed link1Gbps

link1Gbps

static const LinkSpeed link2_5Gbps

link2_5Gbps

static const LinkSpeed link5Gbps

link5Gbps

static const LinkSpeed link10Gbps

link10Gbps

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const LinkSpeed::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const LinkSpeed &value)

Operator to serialize the value to a stream.

class InterfaceName

Name of the computer’s local network interface.

Public Types

using ValueType = std::string

The type of the underlying value.

Public Functions

InterfaceName() = default

Default constructor.

inline explicit InterfaceName(std::string value)

Constructor.

const std::string &value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const InterfaceName &other) const

Comparison operator.

inline bool operator!=(const InterfaceName &other) const

Comparison operator.

inline bool operator<(const InterfaceName &other) const

Comparison operator.

inline bool operator>(const InterfaceName &other) const

Comparison operator.

inline bool operator<=(const InterfaceName &other) const

Comparison operator.

inline bool operator>=(const InterfaceName &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for InterfaceName.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/InterfaceName"}

The full path for this value.

static constexpr const char *name = {"InterfaceName"}

The name of this value.

static constexpr const char * description  {R"description(Name of the computer's localnetworkinterface.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const InterfaceName &value)

Operator to serialize the value to a stream.

class IPV4

Current IPv4 protocol state of the computer’s local network interface.

Public Functions

IPV4()

Default constructor.

template<typename ...Args>
inline explicit IPV4(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing IPV4 then invoking set(args).

The provided arguments must be descendants of IPV4. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of IPV4. These types can be provided:

template<typename ...Args>
inline IPV4 copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this IPV4 object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of IPV4. These types can be provided:

inline const Subnets &subnets() const

Get Subnets.

inline Subnets &subnets()

Get Subnets.

inline IPV4 &set(const Subnets &value)

Set Subnets.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const IPV4 &other) const

Equality operator.

bool operator!=(const IPV4 &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/IPV4"}

The full path for this value.

static constexpr const char *name = {"IPV4"}

The name of this value.

static constexpr const char * description  {R"description(Current IPv4 protocol state of the computer's localnetworkinterface.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const IPV4 &value)

Operator to send the value as string to a stream.

class Subnet

An IPv4 subnet that the local network interface is connected to.

Public Functions

Subnet()

Default constructor.

template<typename ...Args>
inline explicit Subnet(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Subnet then invoking set(args).

The provided arguments must be descendants of Subnet. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Subnet. These types can be provided:

template<typename ...Args>
inline Subnet copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Subnet object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Subnet. These types can be provided:

inline const Address &address() const

Get Address.

inline Address &address()

Get Address.

inline Subnet &set(const Address &value)

Set Address.

inline const Mask &mask() const

Get Mask.

inline Mask &mask()

Get Mask.

inline Subnet &set(const Mask &value)

Set Mask.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Subnet &other) const

Equality operator.

bool operator!=(const Subnet &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/IPV4/Subnet"}

The full path for this value.

static constexpr const char *name = {"Subnet"}

The name of this value.

static constexpr const char * description  {R"description(An IPv4 subnet that the localnetworkinterface is connected to.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Subnet &value)

Operator to send the value as string to a stream.

class Address

IP address of the computer’s local network interface.

Public Types

using ValueType = std::string

The type of the underlying value.

Public Functions

Address() = default

Default constructor.

inline explicit Address(std::string value)

Constructor.

const std::string &value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const Address &other) const

Comparison operator.

inline bool operator!=(const Address &other) const

Comparison operator.

inline bool operator<(const Address &other) const

Comparison operator.

inline bool operator>(const Address &other) const

Comparison operator.

inline bool operator<=(const Address &other) const

Comparison operator.

inline bool operator>=(const Address &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for Address.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/IPV4/Subnet/Address"}

The full path for this value.

static constexpr const char *name = {"Address"}

The name of this value.

static constexpr const char * description  {R"description(IPaddress of the computer's local networkinterface.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Address &value)

Operator to serialize the value to a stream.

class Mask

Subnet mask of the computer’s local network interface.

Public Types

using ValueType = std::string

The type of the underlying value.

Public Functions

Mask() = default

Default constructor.

inline explicit Mask(std::string value)

Constructor.

const std::string &value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const Mask &other) const

Comparison operator.

inline bool operator!=(const Mask &other) const

Comparison operator.

inline bool operator<(const Mask &other) const

Comparison operator.

inline bool operator>(const Mask &other) const

Comparison operator.

inline bool operator<=(const Mask &other) const

Comparison operator.

inline bool operator>=(const Mask &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for Mask.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/IPV4/Subnet/Mask"}

The full path for this value.

static constexpr const char *name = {"Mask"}

The name of this value.

static constexpr const char * description  {R"description(Subnet mask of the computer's local networkinterface.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Mask &value)

Operator to serialize the value to a stream.

class Subnets

List of IPv4 addresses and subnet masks that the interface is configured with.

This list can contain multiple entries if the local network interface is configured with multiple IPv4 addresses.

Public Types

using ValueType = std::vector<CameraState::Network::LocalInterface::IPV4::Subnet>

The type of the underlying value.

using Iterator = std::vector<CameraState::Network::LocalInterface::IPV4::Subnet>::iterator

Iterator type for Subnets.

using ConstIterator = std::vector<CameraState::Network::LocalInterface::IPV4::Subnet>::const_iterator

Constant iterator type for Subnets.

Public Functions

Subnets() = default

Default constructor.

inline explicit Subnets(std::vector<CameraState::Network::LocalInterface::IPV4::Subnet> value)

Constructor.

inline explicit Subnets(std::initializer_list<CameraState::Network::LocalInterface::IPV4::Subnet> value)

Constructor.

const std::vector<CameraState::Network::LocalInterface::IPV4::Subnet> &value() const

Get the value.

std::string toString() const

Get the value as string.

std::size_t size() const noexcept

Get the size of the list.

bool isEmpty() const noexcept

Check if the list is empty.

template<typename ...Args>
inline void emplaceBack(Args&&... args)

Appends a new element to the end of the list.

The new element is constructed in-place. The provided arguments Args are forwarded to the constructor of CameraState::Network::LocalInterface::IPV4::Subnet. Invoking this method may invalidate all references to elements in the list.

CameraState::Network::LocalInterface::IPV4::Subnet &at(std::size_t pos)

Returns a reference to the element at position pos in the list.

This function checks that pos is within the bounds (from 0 to size - 1). If pos is not within bounds an exception is thrown.

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.

This function checks that pos is within the bounds (from 0 to size - 1). If pos is not within bounds an exception is thrown.

CameraState::Network::LocalInterface::IPV4::Subnet &operator[](std::size_t pos)

Returns a reference to the element at position pos in the list.

pos must be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) will check the bounds and throw an exception if pos it out of bounds.

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.

pos must be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) const will check the bounds and throw an exception if pos it out of bounds.

template<typename F>
inline void forEach(const F &f)

Run the given function on each element in the list.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each element in the list.

Iterator begin() noexcept

Returns an iterator to the first element of the list.

Iterator end() noexcept

Returns an iterator to the element following the last element of the list.

ConstIterator begin() const noexcept

Returns a constant iterator to the first element of the list.

ConstIterator end() const noexcept

Returns a constant 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.

ConstIterator cend() const noexcept

Returns a constant iterator to the element following the last element of the list.

inline bool operator==(const Subnets &other) const

Comparison operator.

inline bool operator!=(const Subnets &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for Subnets.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafDataModelList

The type of this node.

static constexpr const char *path = {"Network/LocalInterface/IPV4/Subnets"}

The full path for this value.

static constexpr const char *name = {"Subnets"}

The name of this value.

static constexpr const char * description  {R"description(List of IPv4 addresses and subnet masks that the interface is configured with. This list cancontain multiple entries if the localnetworkinterface is configured with multiple IPv4addresses.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Subnets &value)

Operator to serialize the value to a stream.

class LocalInterfaces

List of the computer’s local network interfaces that discovered the camera.

In the most common scenario with the camera connected to the computer with an Ethernet cable, this list will contain only the network interface for that Ethernet port. In more complex network scenarios it can be the case that the camera is discovered by multiple interfaces, and in that case this list will contain multiple network interfaces. However, when CameraState::Status is connected, only the one network interface that has the active TCP/IP connection to the camera will be listed.

Public Types

using ValueType = std::vector<CameraState::Network::LocalInterface>

The type of the underlying value.

using Iterator = std::vector<CameraState::Network::LocalInterface>::iterator

Iterator type for LocalInterfaces.

using ConstIterator = std::vector<CameraState::Network::LocalInterface>::const_iterator

Constant iterator type for LocalInterfaces.

Public Functions

LocalInterfaces() = default

Default constructor.

inline explicit LocalInterfaces(std::vector<CameraState::Network::LocalInterface> value)

Constructor.

inline explicit LocalInterfaces(std::initializer_list<CameraState::Network::LocalInterface> value)

Constructor.

const std::vector<CameraState::Network::LocalInterface> &value() const

Get the value.

std::string toString() const

Get the value as string.

std::size_t size() const noexcept

Get the size of the list.

bool isEmpty() const noexcept

Check if the list is empty.

template<typename ...Args>
inline void emplaceBack(Args&&... args)

Appends a new element to the end of the list.

The new element is constructed in-place. The provided arguments Args are forwarded to the constructor of CameraState::Network::LocalInterface. Invoking this method may invalidate all references to elements in the list.

CameraState::Network::LocalInterface &at(std::size_t pos)

Returns a reference to the element at position pos in the list.

This function checks that pos is within the bounds (from 0 to size - 1). If pos is not within bounds an exception is thrown.

const CameraState::Network::LocalInterface &at(std::size_t pos) const

Returns a const reference to the element at position pos in the list.

This function checks that pos is within the bounds (from 0 to size - 1). If pos is not within bounds an exception is thrown.

CameraState::Network::LocalInterface &operator[](std::size_t pos)

Returns a reference to the element at position pos in the list.

pos must be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) will check the bounds and throw an exception if pos it out of bounds.

const CameraState::Network::LocalInterface &operator[](std::size_t pos) const

Returns a const reference to the element at position pos in the list.

pos must be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) const will check the bounds and throw an exception if pos it out of bounds.

template<typename F>
inline void forEach(const F &f)

Run the given function on each element in the list.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each element in the list.

Iterator begin() noexcept

Returns an iterator to the first element of the list.

Iterator end() noexcept

Returns an iterator to the element following the last element of the list.

ConstIterator begin() const noexcept

Returns a constant iterator to the first element of the list.

ConstIterator end() const noexcept

Returns a constant 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.

ConstIterator cend() const noexcept

Returns a constant iterator to the element following the last element of the list.

inline bool operator==(const LocalInterfaces &other) const

Comparison operator.

inline bool operator!=(const LocalInterfaces &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for LocalInterfaces.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafDataModelList

The type of this node.

static constexpr const char *path = {"Network/LocalInterfaces"}

The full path for this value.

static constexpr const char *name = {"LocalInterfaces"}

The name of this value.

static constexpr const char * description  {R"description(List of the computer's localnetworkinterfaces that discovered the camera. In the most common scenariowith the camera connected to the computer with anEthernet cable, this list will contain only the network interface for that Ethernet port. In more complex networkscenarios it can be the case that thecamera is discovered by multiple interfaces, and in that case this list will contain multiplenetwork interfaces. However, when `CameraState::Status` is `connected`, only the one networkinterface that hasthe active TCP/IP connection to the camera will be listed.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const LocalInterfaces &value)

Operator to serialize the value to a stream.

class Status

This enum describes the current status of this camera.

The enum can have the following values:

  • inaccessible: The camera was discovered, but the SDK is not able to connect to this camera. This can be because the IP settings of the camera and the PC are not compatible, or because there are several cameras with the same IP connected to your PC. The InaccessibleReason enum will give you more details about why this camera is not accessible. The network configuration of the camera can be changed using the ZividNetworkCameraConfigurator CLI tool. See the knowledge base for more information.

  • busy: The camera is currently in use by another process. This can be a different process on the same PC, or on a different PC if the camera is shared on a network.

  • applyingNetworkConfiguration: The camera network configuration is being changed by the current process.

  • firmwareUpdateRequired: The camera is accessible, but requires a firmware update before you can connect to it.

  • updatingFirmware: The camera firmware is currently being updated in the current process.

  • available: The camera is available for use by the current process. This means that you can invoke camera.connect() on this camera.

  • connecting: The camera is currently connecting in the current process.

  • connected: The camera is connected in the current process. This means camera.connect() has successfully completed and you can capture using this camera.

  • disconnecting: The camera is currently disconnecting in the current process. When disconnection has completed, the camera will normally go back to the available state.

  • disappeared: The camera was found earlier, but it can no longer be found. The connection between the PC and the camera may be disrupted, or the camera may have lost power. When in disappeared state, the camera will not be returned from Application::cameras(). The camera will go back to one of the other states if the camera is later found again.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator inaccessible
enumerator busy
enumerator applyingNetworkConfiguration
enumerator firmwareUpdateRequired
enumerator updatingFirmware
enumerator available
enumerator connecting
enumerator connected
enumerator disconnecting
enumerator disappeared

Public Functions

Status() = default

Default constructor.

inline explicit constexpr Status(ValueType value)

Constructor.

ValueType value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const Status &other) const

Comparison operator.

inline bool operator!=(const Status &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Status.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Status"}

The full path for this value.

static constexpr const char *name = {"Status"}

The name of this value.

static constexpr const char *description

The description for this value.

static const Status inaccessible

inaccessible

static const Status busy

busy

static const Status applyingNetworkConfiguration

applyingNetworkConfiguration

static const Status firmwareUpdateRequired

firmwareUpdateRequired

static const Status updatingFirmware

updatingFirmware

static const Status available

available

static const Status connecting

connecting

static const Status connected

connected

static const Status disconnecting

disconnecting

static const Status disappeared

disappeared

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Status::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Status &value)

Operator to serialize the value to a stream.

class Temperature

Current temperature(s)

Public Functions

Temperature()

Default constructor.

template<typename ...Args>
inline explicit Temperature(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Temperature then invoking set(args).

The provided arguments must be descendants of Temperature. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Temperature. These types can be provided:

template<typename ...Args>
inline Temperature copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Temperature object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Temperature. These types can be provided:

inline const DMD &dmd() const

Get DMD.

inline DMD &dmd()

Get DMD.

inline Temperature &set(const DMD &value)

Set DMD.

inline const General &general() const

Get General.

inline General &general()

Get General.

inline Temperature &set(const General &value)

Set General.

inline const LED &led() const

Get LED.

inline LED &led()

Get LED.

inline Temperature &set(const LED &value)

Set LED.

inline const Lens &lens() const

Get Lens.

inline Lens &lens()

Get Lens.

inline Temperature &set(const Lens &value)

Set Lens.

inline const PCB &pcb() const

Get PCB.

inline PCB &pcb()

Get PCB.

inline Temperature &set(const PCB &value)

Set PCB.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Temperature &other) const

Equality operator.

bool operator!=(const Temperature &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Temperature"}

The full path for this value.

static constexpr const char *name = {"Temperature"}

The name of this value.

static constexpr const char * description   = { R"description(Current temperature(s))description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Temperature &value)

Operator to send the value as string to a stream.

class DMD

DMD temperature.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

DMD() = default

Default constructor.

inline explicit constexpr DMD(double value)

Constructor.

double value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const DMD &other) const

Comparison operator.

inline bool operator!=(const DMD &other) const

Comparison operator.

inline bool operator<(const DMD &other) const

Comparison operator.

inline bool operator>(const DMD &other) const

Comparison operator.

inline bool operator<=(const DMD &other) const

Comparison operator.

inline bool operator>=(const DMD &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for DMD.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Temperature/DMD"}

The full path for this value.

static constexpr const char *name = {"DMD"}

The name of this value.

static constexpr const char * description   = { R"description(DMD temperature)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const DMD &value)

Operator to serialize the value to a stream.

class General

General temperature.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

General() = default

Default constructor.

inline explicit constexpr General(double value)

Constructor.

double value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const General &other) const

Comparison operator.

inline bool operator!=(const General &other) const

Comparison operator.

inline bool operator<(const General &other) const

Comparison operator.

inline bool operator>(const General &other) const

Comparison operator.

inline bool operator<=(const General &other) const

Comparison operator.

inline bool operator>=(const General &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for General.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Temperature/General"}

The full path for this value.

static constexpr const char *name = {"General"}

The name of this value.

static constexpr const char * description   = { R"description(General temperature)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const General &value)

Operator to serialize the value to a stream.

class LED

LED temperature.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

LED() = default

Default constructor.

inline explicit constexpr LED(double value)

Constructor.

double value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const LED &other) const

Comparison operator.

inline bool operator!=(const LED &other) const

Comparison operator.

inline bool operator<(const LED &other) const

Comparison operator.

inline bool operator>(const LED &other) const

Comparison operator.

inline bool operator<=(const LED &other) const

Comparison operator.

inline bool operator>=(const LED &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for LED.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Temperature/LED"}

The full path for this value.

static constexpr const char *name = {"LED"}

The name of this value.

static constexpr const char * description   = { R"description(LED temperature)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const LED &value)

Operator to serialize the value to a stream.

class Lens

Lens temperature.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Lens() = default

Default constructor.

inline explicit constexpr Lens(double value)

Constructor.

double value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const Lens &other) const

Comparison operator.

inline bool operator!=(const Lens &other) const

Comparison operator.

inline bool operator<(const Lens &other) const

Comparison operator.

inline bool operator>(const Lens &other) const

Comparison operator.

inline bool operator<=(const Lens &other) const

Comparison operator.

inline bool operator>=(const Lens &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Lens.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Temperature/Lens"}

The full path for this value.

static constexpr const char *name = {"Lens"}

The name of this value.

static constexpr const char * description   = { R"description(Lens temperature)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Lens &value)

Operator to serialize the value to a stream.

class PCB

PCB temperature.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

PCB() = default

Default constructor.

inline explicit constexpr PCB(double value)

Constructor.

double value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const PCB &other) const

Comparison operator.

inline bool operator!=(const PCB &other) const

Comparison operator.

inline bool operator<(const PCB &other) const

Comparison operator.

inline bool operator>(const PCB &other) const

Comparison operator.

inline bool operator<=(const PCB &other) const

Comparison operator.

inline bool operator>=(const PCB &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for PCB.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Temperature/PCB"}

The full path for this value.

static constexpr const char *name = {"PCB"}

The name of this value.

static constexpr const char * description   = { R"description(PCB temperature)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const PCB &value)

Operator to serialize the value to a stream.

struct CameraState

Information about camera connection state, temperatures, etc.

Public Types

enum class InaccessibleReasonOption : std::underlying_type<Zivid::CameraState::InaccessibleReason::ValueType>::type

If the camera status is inaccessible, then this enum value will give you the reason.

Values:

enumerator IpConflictWithAnotherCamera
enumerator IpConflictWithLocalNetworkAdapter
enumerator IpNotInLocalSubnet
enumerator IpInMultipleLocalSubnets
enum class StatusOption : std::underlying_type<Zivid::CameraState::Status::ValueType>::type

This enum describes the current status of this camera.

The enum can have the following values:

  • inaccessible: The camera was discovered, but the SDK is not able to connect to this camera. This can be because the IP settings of the camera and the PC are not compatible, or because there are several cameras with the same IP connected to your PC. The InaccessibleReason enum will give you more details about why this camera is not accessible. The network configuration of the camera can be changed using the ZividNetworkCameraConfigurator CLI tool. See the knowledge base for more information.

  • busy: The camera is currently in use by another process. This can be a different process on the same PC, or on a different PC if the camera is shared on a network.

  • applyingNetworkConfiguration: The camera network configuration is being changed by the current process.

  • firmwareUpdateRequired: The camera is accessible, but requires a firmware update before you can connect to it.

  • updatingFirmware: The camera firmware is currently being updated in the current process.

  • available: The camera is available for use by the current process. This means that you can invoke camera.connect() on this camera.

  • connecting: The camera is currently connecting in the current process.

  • connected: The camera is connected in the current process. This means camera.connect() has successfully completed and you can capture using this camera.

  • disconnecting: The camera is currently disconnecting in the current process. When disconnection has completed, the camera will normally go back to the available state.

  • disappeared: The camera was found earlier, but it can no longer be found. The connection between the PC and the camera may be disrupted, or the camera may have lost power. When in disappeared state, the camera will not be returned from Application::cameras(). The camera will go back to one of the other states if the camera is later found again.

Values:

enumerator Inaccessible
enumerator Busy
enumerator ApplyingNetworkConfiguration
enumerator FirmwareUpdateRequired
enumerator UpdatingFirmware
enumerator Available
enumerator Connecting
enumerator Connected
enumerator Disconnecting
enumerator Disappeared

Public Functions

System::String ^ Serialize ()

Serialize to a string.

See also FromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using Save.

void Save (System::String ^ fileName)

Save to the given file.

void Load (System::String ^ fileName)

Load from the given file.

inline CameraState()

Constructor.

CameraState ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

CameraState ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

bool Available

Flag if camera is physically connected to the computer and is available for use, but not connected in software.

This corresponds to the Status enums available or firmwareUpdateRequired. Zivid recommends to use the Status enum instead of this bool.

bool Connected

Flag if camera is connected in software.

This bool is true when the Status value is connected. Zivid recommends to use the Status enum instead of this bool.

System::Nullable<InaccessibleReasonOption> InaccessibleReason

If the camera status is inaccessible, then this enum value will give you the reason.

StatusOption Status

This enum describes the current status of this camera.

The enum can have the following values:

  • inaccessible: The camera was discovered, but the SDK is not able to connect to this camera. This can be because the IP settings of the camera and the PC are not compatible, or because there are several cameras with the same IP connected to your PC. The InaccessibleReason enum will give you more details about why this camera is not accessible. The network configuration of the camera can be changed using the ZividNetworkCameraConfigurator CLI tool. See the knowledge base for more information.

  • busy: The camera is currently in use by another process. This can be a different process on the same PC, or on a different PC if the camera is shared on a network.

  • applyingNetworkConfiguration: The camera network configuration is being changed by the current process.

  • firmwareUpdateRequired: The camera is accessible, but requires a firmware update before you can connect to it.

  • updatingFirmware: The camera firmware is currently being updated in the current process.

  • available: The camera is available for use by the current process. This means that you can invoke camera.connect() on this camera.

  • connecting: The camera is currently connecting in the current process.

  • connected: The camera is connected in the current process. This means camera.connect() has successfully completed and you can capture using this camera.

  • disconnecting: The camera is currently disconnecting in the current process. When disconnection has completed, the camera will normally go back to the available state.

  • disappeared: The camera was found earlier, but it can no longer be found. The connection between the PC and the camera may be disrupted, or the camera may have lost power. When in disappeared state, the camera will not be returned from Application::cameras(). The camera will go back to one of the other states if the camera is later found again.

Public Static Attributes

static CameraState(System::String ^ fileName) CameraState FromSerialized )(System::String ^ value)

Construct CameraState by loading from file.

Construct a new CameraState instance from a previously serialized string

See also Serialize.

struct NetworkGroup

Current network state.

Public Functions

inline NetworkGroup()

Constructor.

NetworkGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

NetworkGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct EthernetGroup

Current Ethernet state.

Public Types

enum class LinkSpeedOption : std::underlying_type<Zivid::CameraState::Network::Ethernet::LinkSpeed::ValueType>::type

The link speed that the camera’s Ethernet interface is operating at.

Values:

enumerator Unknown
enumerator Link10Mbps
enumerator Link100Mbps
enumerator Link1Gbps
enumerator Link2_5Gbps
enumerator Link5Gbps
enumerator Link10Gbps

Public Functions

inline EthernetGroup()

Constructor.

EthernetGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

EthernetGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

LinkSpeedOption LinkSpeed

The link speed that the camera’s Ethernet interface is operating at.

struct IPV4Group

Current IPv4 protocol state.

Public Functions

inline IPV4Group()

Constructor.

IPV4Group ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

IPV4Group ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::String^ Address

Current IPv4 address.

struct LocalInterface

Current state of the computer’s local network interface.

Public Functions

inline LocalInterface()

Constructor.

LocalInterface ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

LocalInterface ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::String^ InterfaceName

Name of the computer’s local network interface.

struct EthernetGroup

Current Ethernet state.

Public Types

enum class LinkSpeedOption : std::underlying_type<Zivid::CameraState::Network::LocalInterface::Ethernet::LinkSpeed::ValueType>::type

The link speed that the computer’s Ethernet interface is operating at.

Values:

enumerator Unknown
enumerator Link10Mbps
enumerator Link100Mbps
enumerator Link1Gbps
enumerator Link2_5Gbps
enumerator Link5Gbps
enumerator Link10Gbps

Public Functions

inline EthernetGroup()

Constructor.

EthernetGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

EthernetGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

LinkSpeedOption LinkSpeed

The link speed that the computer’s Ethernet interface is operating at.

struct IPV4Group

Current IPv4 protocol state of the computer’s local network interface.

Public Functions

inline IPV4Group()

Constructor.

IPV4Group ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

IPV4Group ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct Subnet

An IPv4 subnet that the local network interface is connected to.

Public Functions

inline Subnet()

Constructor.

Subnet ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

Subnet ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::String^ Address

IP address of the computer’s local network interface.

System::String^ Mask

Subnet mask of the computer’s local network interface.

SubnetsList : public System::Collections::Generic::List< Subnet ^>

List of IPv4 addresses and subnet masks that the interface is configured with.

This list can contain multiple entries if the local network interface is configured with multiple IPv4 addresses.

Public Functions

SubnetsList ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

LocalInterfacesList : public System::Collections::Generic::List< LocalInterface ^>

List of the computer’s local network interfaces that discovered the camera.

In the most common scenario with the camera connected to the computer with an Ethernet cable, this list will contain only the network interface for that Ethernet port. In more complex network scenarios it can be the case that the camera is discovered by multiple interfaces, and in that case this list will contain multiple network interfaces. However, when CameraState::Status is connected, only the one network interface that has the active TCP/IP connection to the camera will be listed.

Public Functions

LocalInterfacesList ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct TemperatureGroup

Current temperature(s)

Public Functions

inline TemperatureGroup()

Constructor.

TemperatureGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

TemperatureGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

double DMD

DMD temperature.

double General

General temperature.

double LED

LED temperature.

double Lens

Lens temperature.

double PCB

PCB temperature.

See zivid.CameraState in zivid-python.