IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
NetworkAdapterDescription.h
1 // NetworkAdapterDescription.h:
3 // ----------------------------
4 //
14 
15 #ifndef __IPSDKHARDWARE_NETWORKADAPTERDESCRIPTION_H__
16 #define __IPSDKHARDWARE_NETWORKADAPTERDESCRIPTION_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::hard::NetworkAdapterDescription::_adapterName' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'ipsdk::hard::NetworkAdapterDescription'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
25 #include <IPSDKUtil/BaseTypes.h>
27 #include <IPSDKHardware/Network/MacAddress.h>
28 
29 namespace ipsdk {
30 namespace hard {
31 
34 
36 {
37  // declare serial class
39 
40 public:
46 
47 // methods
48 public:
50  bool isInit() const;
51 
53  void init(const std::string& adapterName,
54  const std::string& friendlyAdapterName,
55  const std::string& controllerDescription,
56  const MacAddress& macAddress,
57  const tcpip::AddressV4& ipV4Address,
58  const tcpip::AddressV6& ipV6Address);
59 
62  const std::string& getAdapterName() const;
63 
66  const std::string& getFriendlyAdapterName() const;
67 
70  const std::string& getControllerDescription() const;
71 
74  const MacAddress& getMacAddress() const;
75 
78  const tcpip::AddressV4& getIpV4Address() const;
79 
82  const tcpip::AddressV6& getIpV6Address() const;
83 
84 // attributes
85 protected:
87  std::string _adapterName;
88 
90  std::string _friendlyAdapterName;
91 
94 
97 
100 
103 
105  bool _bInit;
106 };
107 
110 
111 inline bool
113 {
114  return _bInit;
115 }
116 
119 
120 } // end of namespace hard
121 } // end of namespace ipsdk
122 
123 #pragma warning (pop)
124 
125 #endif // __IPSDKHARDWARE_NETWORKADAPTERDESCRIPTION_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
std::string _controllerDescription
hardware controller description
Definition: NetworkAdapterDescription.h:93
Description associated to a network adapter resource.
Definition: NetworkAdapterDescription.h:35
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::asio::ip::address_v4 AddressV4
ip v4 address type
Definition: Types.h:99
std::string _friendlyAdapterName
friendly adapter name
Definition: NetworkAdapterDescription.h:90
boost::asio::ip::address_v6 AddressV6
ip v6 address type
Definition: Types.h:102
tcpip::AddressV6 _ipV6Address
ip v6 address associated to network adapter
Definition: NetworkAdapterDescription.h:102
Base types for multiplatform compatibility.
tcpip::AddressV4 _ipV4Address
ip v4 address associated to network adapter
Definition: NetworkAdapterDescription.h:99
MacAddress _macAddress
adapter mac address
Definition: NetworkAdapterDescription.h:96
std::string _adapterName
adapter name
Definition: NetworkAdapterDescription.h:87
bool isInit() const
recovery of object initialization flag
Definition: NetworkAdapterDescription.h:112
bool _bInit
object initialization flag
Definition: NetworkAdapterDescription.h:105
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
Predefined types for network adapters management.