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
virtual int channelNumber() const =0
virtual const char * logicalId() const =0
Definition: interface.h:28
virtual const char * sharedId() const =0
Definition: i_device_info.h:14
Definition: apple_utils.h:6
static constexpr const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:77