nx_metadata_sdk 1.0 Metadata SDK

i_device_info.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2
3 #pragma once
4
5 #include <nx/sdk/interface.h>
6
7 namespace nx::sdk {
8
13 class IDeviceInfo: public nx::sdk::Interface<IDeviceInfo>
14 {
15 public:
16 static auto interfaceId() { return makeId("nx::sdk::IDeviceInfo"); }
17
18 /* @return Unique id of the device. */
19 virtual const char* id() const = 0;
20
21 /* @return Human-readable name of the device vendor, in UTF-8. */
22 virtual const char* vendor() const = 0;
23
24 /* @return Model of the device, in UTF-8. */
25 virtual const char* model() const = 0;
26
27 /* @return Version of the firmware installed on the device, in UTF-8. */
28 virtual const char* firmware() const = 0;
29
30 /* @return Human-readable name of the device assigned by a VMS user, in UTF-8. */
31 virtual const char* name() const = 0;
32
33 /* @return URL of the device. */
34 virtual const char* url() const = 0;
35
36 /* @return Login of the device. */
37 virtual const char* login() const = 0;
38
39 /* @return Password of the device, to be used with login(). */
40 virtual const char* password() const = 0;
41
46 virtual const char* sharedId() const = 0;
47
52 virtual const char* logicalId() const = 0;
53
57 virtual int channelNumber() const = 0;
58 };
59 using IDeviceInfo0 = IDeviceInfo;
60
61 } // namespace nx::sdk
nx::sdk::IDeviceInfo::channelNumber
virtual int channelNumber() const =0
nx::sdk::IDeviceInfo::logicalId
virtual const char * logicalId() const =0
nx::sdk::Interface
Definition: interface.h:48
nx::sdk::IDeviceInfo::sharedId
virtual const char * sharedId() const =0
nx::sdk::IDeviceInfo
Definition: i_device_info.h:13
nx::sdk
Definition: device_agent.h:12
nx::sdk::IRefCountable::makeId
static const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:77