IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Types.h
Go to the documentation of this file.
1 // Types.h:
3 // --------
4 //
14 
15 #ifndef __IPSDKCOMM_TYPES_H__
16 #define __IPSDKCOMM_TYPES_H__
17 
20 #include <IPSDKUtil/Tools/Guid.h>
21 #include <IPSDKUtil/BaseTypes.h>
23 #include <boost/asio/ip/tcp.hpp>
24 #include <boost/function.hpp>
25 #include <boost/system/error_code.hpp>
26 #include <set>
27 
28 namespace ipsdk {
29 namespace tcpip {
30 
31 class Acceptor;
32 class AcceptorCB;
33 class Client;
34 class CollPeers;
35 class CollPeersCB;
36 class EndPoint;
37 class Peer;
38 class Server;
39 class SocketDesc;
40 
43 
49  (eUndefined)
51  (eServer)
52 )
53 
59  (eV4)
60  (eV6)
61 )
62 
65 
67 typedef std::set<tcpip::EndPoint> EndPointSet;
68 
71 
75 class Address : public boost::asio::ip::address
76 {
77 public:
80  Address() {}
81  Address(const boost::asio::ip::address& a) : boost::asio::ip::address(a) {}
82  Address(const boost::asio::ip::address_v4& a) : boost::asio::ip::address(a) {}
83  Address(const boost::asio::ip::address_v6& a) : boost::asio::ip::address(a) {}
85 };
86 
88 typedef boost::asio::ip::address_v4 AddressV4;
89 
91 typedef boost::asio::ip::address_v6 AddressV6;
92 
95 typedef boost::shared_ptr<Acceptor> AcceptorPtr;
96 typedef boost::shared_ptr<AcceptorCB> AcceptorCBPtr;
97 typedef boost::shared_ptr<Client> ClientPtr;
98 typedef boost::shared_ptr<CollPeers> CollPeersPtr;
99 typedef boost::shared_ptr<CollPeersCB> CollPeersCBPtr;
100 typedef boost::shared_ptr<Peer> PeerPtr;
101 typedef boost::shared_ptr<Server> ServerPtr;
103 
105 typedef boost::function3<void, const Guid&, ipUInt64, bool> DlvCbFun;
108 typedef boost::function2<void, const SocketDesc&,
109  const boost::system::error_code&> CnxLossCbFun;
114 
115 } // end of namespace tcpip
116 } // end of namespace ipsdk
117 
118 #endif // __IPSDKCOMM_TYPES_H__
TCP/IP server.
Definition: Types.h:56
IPSDK_FORCEINLINE void set(T *buffer, T value, ipUInt64 nbElts)
set function; assigns a given value to the &#39;nbElts&#39; elements of a buffer
Definition: set.h:34
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< CollPeers > CollPeersPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:109
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::shared_ptr< Client > ClientPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:108
boost::asio::ip::address_v6 AddressV6
ip v6 address type
Definition: Types.h:102
Definition of import/export macro for library.
boost::shared_ptr< CollPeersCB > CollPeersCBPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:110
Definition: DataItemNodeHdrMacrosDetails.h:48
eIPAddressType
Enumerate TCP/IP ip address type.
Definition: Types.h:66
derived class of asio io address for ipsdk::tcpip namespace integration
Definition: Types.h:86
ePeerType
Enumerate TCP/IP peer type (client or serveur.
Definition: Types.h:50
Base types for multiplatform compatibility.
Definition: SocketDesc.h:35
boost::function3< void, const Guid &, ipUInt64, bool > DlvCbFun
function prototype associated to socket delivery callback
Definition: Types.h:116
TCP/IP client.
Definition: Types.h:54
undefined type
Definition: Types.h:52
boost::shared_ptr< AcceptorCB > AcceptorCBPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:107
Predefined types for serialization objectsn.
boost::shared_ptr< Server > ServerPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:112
boost::shared_ptr< Acceptor > AcceptorPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:106
boost::shared_ptr< Peer > PeerPtr
typedefs for shared_ptr on main tcpip classes
Definition: Types.h:111
IP v6 TCP/IP address.
Definition: Types.h:70
std::set< tcpip::EndPoint > EndPointSet
collection of end points
Definition: Types.h:78
STL namespace.
Predefined macros for enumerates management.
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26
IP v4 TCP/IP address.
Definition: Types.h:68
boost::function2< void, const SocketDesc &, const boost::system::error_code & > CnxLossCbFun
function prototype associated to socket connection loss callback
Definition: Types.h:120