ItalaApi  1.3.3
DeviceInfo.h
1 
2 /***********************************************************************************
3  *
4  * ItalaApi - Copyright (C) 2022 Opto Engineering
5  *
6  * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
7  * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
8  * FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT
9  * HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY SUFFERED BY LICENSE AS
10  * A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
11  *
12  ***********************************************************************************/
13 
14 #ifndef ITALA_API_DEVICEINFO_H
15 #define ITALA_API_DEVICEINFO_H
16 
17 #include "ItalaApi/InterfaceInfo.h"
18 #include "ItalaApi/ItalaDefs.h"
19 
20 namespace Itala {
21 
22 struct DeviceInfoData;
23 
31 class ITALA_API DeviceInfo {
32 public:
42  GenICam::gcstring ID() const;
43 
49  GenICam::gcstring Vendor() const;
50 
56  GenICam::gcstring Model() const;
57 
63  GenICam::gcstring DisplayName() const;
64 
71  GenICam::gcstring UserDefinedName() const;
72 
78  GenICam::gcstring SerialNumber() const;
79 
85  GenICam::gcstring Version() const;
86 
96  DeviceAccessStatus AccessStatus() const;
97 
109  uint32_t IpAddress() const;
110 
119  uint32_t SubnetMask() const;
120 
129  uint32_t DefaultGateway() const;
130 
139  uint64_t MacAddress() const;
140 
147  InterfaceInfo ParentInterfaceInfo() const;
148 
149 private:
150  DeviceInfoData* op;
151 
152 public:
153  DeviceInfo();
154  DeviceInfo(DeviceInfoData* data);
155  DeviceInfo(const DeviceInfo& other);
156  DeviceInfo(DeviceInfo&& other);
157  DeviceInfo& operator=(const DeviceInfo& other);
158  DeviceInfo& operator=(DeviceInfo&& other);
159  ~DeviceInfo();
160  bool operator==(const DeviceInfo& other);
161  DeviceInfoData& GetOp();
162 };
163 
164 typedef std::vector<DeviceInfo> DeviceInfoList;
165 } // namespace Itala
166 
167 #endif
Definition: DeviceInfo.h:31
Definition: InterfaceInfo.h:32
Definition: DefectivePixel.h:23