IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
MacAddress.h
1 // MacAddress.h:
3 // -------------
4 //
14 
15 #ifndef __IPSDKHARDWARE_MACADDRESS_H__
16 #define __IPSDKHARDWARE_MACADDRESS_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::hard::MacAddress::_macAddress' : class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'ipsdk::hard::MacAddress'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
26 
27 namespace ipsdk {
28 namespace hard {
29 
32 
34 {
35  // declare serial class
37 
38 public:
41  MacAddress();
42  ~MacAddress();
44 
45 // methods
46 public:
48  bool isInit() const;
49 
53  void init(const UInt8Vector& macAddress);
54 
57  const UInt8Vector& getAddress() const;
58 
60  void clear();
61 
63  std::string to_string() const;
64 
66  bool from_string(const std::string& str);
67 
68 // attributes
69 protected:
72 };
73 
76 
77 inline bool
79 {
80  return _macAddress.empty() == false;
81 }
82 
85 
86 } // end of namespace hard
87 } // end of namespace ipsdk
88 
89 #pragma warning (pop)
90 
91 #endif // __IPSDKHARDWARE_MACADDRESS_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
std::vector< ipUInt8 > UInt8Vector
stl vector collections
Definition: BaseCollections.h:29
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
UInt8Vector _macAddress
adapter mac address
Definition: MacAddress.h:71
bool isInit() const
retrieve object initialization flag
Definition: MacAddress.h:78
Predefined base collection types for library.
Structure encapsulating a network adapter mac address.
Definition: MacAddress.h:33
#define IPSDKHARDWARE_API
Import/Export macro for library IPSDKHardware.
Definition: IPSDKHardwareExports.h:25
Definition of import/export macro for library.
Base class for serializable class.
Definition: BaseSerializationObject.h:33