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 {
8 namespace sdk {
9
14 class IDeviceInfo: public nx::sdk::Interface<IDeviceInfo>
15 {
16 public:
17 static auto interfaceId() { return makeId("nx::sdk::IDeviceInfo"); }
18
19 /* @return Unique id of the device. */
20 virtual const char* id() const = 0;
21
22 /* @return Human-readable name of the device vendor, in UTF-8. */
23 virtual const char* vendor() const = 0;
24
25 /* @return Model of the device, in UTF-8. */
26 virtual const char* model() const = 0;
27
28 /* @return Version of the firmware installed on the device, in UTF-8. */
29 virtual const char* firmware() const = 0;
30
31 /* @return Human-readable name of the device assigned by a VMS user, in UTF-8. */
32 virtual const char* name() const = 0;
33
34 /* @return URL of the device. */
35 virtual const char* url() const = 0;
36
37 /* @return Login of the device. */
38 virtual const char* login() const = 0;
39
40 /* @return Password of the device, to be used with login(). */
41 virtual const char* password() const = 0;
42
47 virtual const char* sharedId() const = 0;
48
53 virtual const char* logicalId() const = 0;
54
58 virtual int channelNumber() const = 0;
59 };
60
61 } // namespace sdk
62 } // namespace nx
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:28
nx::sdk::IDeviceInfo::sharedId
virtual const char * sharedId() const =0
nx::sdk::IDeviceInfo
Definition: i_device_info.h:14
nx
Definition: apple_utils.h:6
nx::sdk::IRefCountable::makeId
static constexpr const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:78