ItalaApi  1.3.3
InterfaceInfo.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_INTERFACEINFO_H
15 #define ITALA_API_INTERFACEINFO_H
16 
17 #include <vector>
18 #include "Base/GCString.h"
19 #include "ItalaApi/Export.h"
20 
21 namespace Itala {
22 
23 struct InterfaceInfoData;
24 
32 class ITALA_API InterfaceInfo {
33 public:
43  GenICam::gcstring ID() const;
44 
50  GenICam::gcstring DisplayName() const;
51 
63  uint32_t IpAddress() const;
64 
74  uint64_t MacAddress() const;
75 
84  uint32_t SubnetMask() const;
85 
86 public:
87  InterfaceInfo();
88  InterfaceInfo(InterfaceInfoData* data);
89  InterfaceInfo(const InterfaceInfo& other);
91  InterfaceInfo& operator=(const InterfaceInfo& other);
92  InterfaceInfo& operator=(InterfaceInfo&& other);
93  ~InterfaceInfo();
94  bool operator==(const InterfaceInfo& other);
95  InterfaceInfoData& GetOp();
96 
97 private:
98  InterfaceInfoData* op;
99 };
100 
101 typedef std::vector<InterfaceInfo> InterfaceInfoList;
102 } // namespace Itala
103 
104 #endif
Definition: InterfaceInfo.h:32
Definition: DefectivePixel.h:23