IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
EndPoint.h
1 // EndPoint.h:
3 // -----------
4 //
14 
15 #ifndef __IPSDKCOMM_ENDPOINT_H__
16 #define __IPSDKCOMM_ENDPOINT_H__
17 
19 #include <IPSDKComm/TcpIp/Types.h>
20 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
21 
22 // --- Includes boost
23 #include <boost/asio/ip/tcp.hpp>
24 
25 #pragma warning(push)
26 #pragma warning(disable : 4251 4267)
27 
28 namespace ipsdk {
29 namespace tcpip {
30 
33 
35 {
36  // declare dynamic serializable class
38 
39 public:
42  EndPoint();
43  EndPoint(const boost::asio::ip::tcp::endpoint& asioEndPoint);
44  EndPoint(const AddressV4& addressV4, unsigned short portNumber);
45  EndPoint(const AddressV6& addressV6, unsigned short portNumber);
46  ~EndPoint();
48 
49 
50 // methods
51 public:
53  boost::asio::ip::tcp::endpoint toAsio() const;
54 
57  std::string toString() const;
58 
59 // attributes
60 protected:
62  boost::asio::ip::tcp::endpoint _asioEP;
63 
64 };
65 
68 
69 } // end of namespace tcpip
70 } // end of namespace ipsdk
71 
72 #endif // __IPSDKCOMM_ENDPOINT_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
serializable overlay of boost::asio::endpoint
Definition: EndPoint.h:34
boost::asio::ip::address_v4 AddressV4
ip v4 address type
Definition: Types.h:99
boost::asio::ip::tcp::endpoint _asioEP
Underlying asio endpoint.
Definition: EndPoint.h:62
boost::asio::ip::address_v6 AddressV6
ip v6 address type
Definition: Types.h:102
Definition of import/export macro for library.
PYIPSDKBASE_API std::string toString(const BaseDataItem &dataItem)
function allowing to convert an IPSDK data item to a string representation
Predefined types for ip addresses management.
#define IPSDKCOMM_API
Import/Export macro for library IPSDKComm.
Definition: IPSDKCommExports.h:25
Base class for serializable class.
Definition: BaseSerializationObject.h:33