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 };
60 
61 } // namespace nx::sdk
virtual int channelNumber() const =0
virtual const char * logicalId() const =0
Definition: interface.h:48
virtual const char * sharedId() const =0
Definition: i_device_info.h:13
Definition: device_agent.h:12
static constexpr const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:76