16#ifndef __Ice_Endpoint_h__
17#define __Ice_Endpoint_h__
34#ifndef ICE_IGNORE_VERSION
35# if ICE_INT_VERSION / 100 != 307
36# error Ice version mismatch!
38# if ICE_INT_VERSION % 100 >= 50
39# error Beta header file detected
41# if ICE_INT_VERSION % 100 < 11
42# error Ice patch level mismatch!
47# if defined(ICE_STATIC_LIBS)
49# elif defined(ICE_API_EXPORTS)
50# define ICE_API ICE_DECLSPEC_EXPORT
52# define ICE_API ICE_DECLSPEC_IMPORT
56#ifdef ICE_CPP11_MAPPING
128class ICE_CLASS(ICE_API) EndpointInfo
134 EndpointInfo() =
default;
136 EndpointInfo(
const EndpointInfo&) =
default;
137 EndpointInfo(EndpointInfo&&) =
default;
138 EndpointInfo& operator=(
const EndpointInfo&) =
default;
139 EndpointInfo& operator=(EndpointInfo&&) =
default;
147 EndpointInfo(const ::std::shared_ptr<::Ice::EndpointInfo>& underlying,
int timeout,
bool compress) :
148 underlying(underlying),
158 virtual short type() const noexcept = 0;
164 virtual
bool datagram() const noexcept = 0;
170 virtual
bool secure() const noexcept = 0;
176 ::std::shared_ptr<::Ice::EndpointInfo> underlying;
199 virtual bool operator==(
const Endpoint&)
const = 0;
200 virtual bool operator<(
const Endpoint&)
const = 0;
206 virtual ::std::string toString() const noexcept = 0;
212 virtual ::std::shared_ptr<::Ice::EndpointInfo> getInfo() const noexcept = 0;
226 IPEndpointInfo() =
default;
228 IPEndpointInfo(
const IPEndpointInfo&) =
default;
229 IPEndpointInfo(IPEndpointInfo&&) =
default;
230 IPEndpointInfo& operator=(
const IPEndpointInfo&) =
default;
231 IPEndpointInfo& operator=(IPEndpointInfo&&) =
default;
242 IPEndpointInfo(const ::std::shared_ptr<::Ice::EndpointInfo>& underlying,
int timeout,
bool compress, const ::std::string& host,
int port, const ::std::string& sourceAddress) :
243 EndpointInfo(underlying, timeout, compress),
246 sourceAddress(sourceAddress)
261 ::std::string sourceAddress;
269class ICE_CLASS(ICE_API) TCPEndpointInfo :
public ::Ice::IPEndpointInfo
275 TCPEndpointInfo() =
default;
277 TCPEndpointInfo(
const TCPEndpointInfo&) =
default;
278 TCPEndpointInfo(TCPEndpointInfo&&) =
default;
279 TCPEndpointInfo& operator=(
const TCPEndpointInfo&) =
default;
280 TCPEndpointInfo& operator=(TCPEndpointInfo&&) =
default;
291 TCPEndpointInfo(const ::std::shared_ptr<::Ice::EndpointInfo>& underlying,
int timeout,
bool compress, const ::std::string& host,
int port, const ::std::string& sourceAddress) :
292 IPEndpointInfo(underlying, timeout, compress, host, port, sourceAddress)
302class ICE_CLASS(ICE_API) UDPEndpointInfo :
public ::Ice::IPEndpointInfo
308 UDPEndpointInfo() =
default;
310 UDPEndpointInfo(
const UDPEndpointInfo&) =
default;
311 UDPEndpointInfo(UDPEndpointInfo&&) =
default;
312 UDPEndpointInfo& operator=(
const UDPEndpointInfo&) =
default;
313 UDPEndpointInfo& operator=(UDPEndpointInfo&&) =
default;
326 UDPEndpointInfo(const ::std::shared_ptr<::Ice::EndpointInfo>& underlying,
int timeout,
bool compress, const ::std::string& host,
int port, const ::std::string& sourceAddress, const ::std::string& mcastInterface,
int mcastTtl) :
327 IPEndpointInfo(underlying, timeout, compress, host, port, sourceAddress),
328 mcastInterface(mcastInterface),
336 ::std::string mcastInterface;
347class ICE_CLASS(ICE_API) WSEndpointInfo :
public ::Ice::EndpointInfo
353 WSEndpointInfo() =
default;
355 WSEndpointInfo(
const WSEndpointInfo&) =
default;
356 WSEndpointInfo(WSEndpointInfo&&) =
default;
357 WSEndpointInfo& operator=(
const WSEndpointInfo&) =
default;
358 WSEndpointInfo& operator=(WSEndpointInfo&&) =
default;
367 WSEndpointInfo(const ::std::shared_ptr<::Ice::EndpointInfo>& underlying,
int timeout,
bool compress, const ::std::string& resource) :
368 EndpointInfo(underlying, timeout, compress),
376 ::std::string resource;
384class ICE_CLASS(ICE_API) OpaqueEndpointInfo :
public ::Ice::EndpointInfo
390 OpaqueEndpointInfo() =
default;
392 OpaqueEndpointInfo(
const OpaqueEndpointInfo&) =
default;
393 OpaqueEndpointInfo(OpaqueEndpointInfo&&) =
default;
394 OpaqueEndpointInfo& operator=(
const OpaqueEndpointInfo&) =
default;
395 OpaqueEndpointInfo& operator=(OpaqueEndpointInfo&&) =
default;
405 OpaqueEndpointInfo(const ::std::shared_ptr<::Ice::EndpointInfo>& underlying,
int timeout,
bool compress, const ::Ice::EncodingVersion& rawEncoding, const ::Ice::ByteSeq& rawBytes) :
406 EndpointInfo(underlying, timeout, compress),
407 rawEncoding(rawEncoding),
416 ::Ice::EncodingVersion rawEncoding;
584#ifdef ICE_CPP11_COMPILER
648#ifdef ICE_CPP11_COMPILER
713#ifdef ICE_CPP11_COMPILER
738inline bool operator<(
const IPEndpointInfo& lhs,
const IPEndpointInfo& rhs)
740 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
775#ifdef ICE_CPP11_COMPILER
782inline bool operator==(
const TCPEndpointInfo& lhs,
const TCPEndpointInfo& rhs)
784 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
787inline bool operator<(
const TCPEndpointInfo& lhs,
const TCPEndpointInfo& rhs)
789 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
828#ifdef ICE_CPP11_COMPILER
849inline bool operator<(
const UDPEndpointInfo& lhs,
const UDPEndpointInfo& rhs)
851 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
884#ifdef ICE_CPP11_COMPILER
901inline bool operator<(
const WSEndpointInfo& lhs,
const WSEndpointInfo& rhs)
903 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
939#ifdef ICE_CPP11_COMPILER
961inline bool operator<(
const OpaqueEndpointInfo& lhs,
const OpaqueEndpointInfo& rhs)
963 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);
#define ICE_API
Definition Config.h:197
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
#define ICE_CLASS(API)
Definition Config.h:176
Shared & operator=(const Shared &)
Definition Shared.h:94
Base class providing access to the endpoint details.
Definition Endpoint.h:560
EndpointInfoPtr PointerType
Definition Endpoint.h:563
virtual bool datagram() const =0
Returns true if this endpoint is a datagram endpoint.
virtual bool secure() const =0
Returns true if this endpoint is a secure endpoint.
bool compress
Specifies whether or not compression should be used if available when using this endpoint.
Definition Endpoint.h:621
EndpointInfo()
Definition Endpoint.h:567
virtual Short type() const =0
Returns the type of the endpoint.
::Ice::Int timeout
The timeout for the endpoint in milliseconds.
Definition Endpoint.h:616
EndpointInfo(const ::Ice::EndpointInfoPtr &underlying, ::Ice::Int timeout, bool compress)
One-shot constructor to initialize all data members.
Definition Endpoint.h:577
::Ice::EndpointInfoPtr underlying
The information of the underyling endpoint of null if there's no underlying endpoint.
Definition Endpoint.h:611
The user-level interface to an endpoint.
Definition Endpoint.h:641
virtual::std::string toString() const =0
Return a string representation of the endpoint.
EndpointPtr PointerType
Definition Endpoint.h:644
virtual EndpointInfoPtr getInfo() const =0
Returns the endpoint information.
Provides access to the address details of a IP endpoint.
Definition Endpoint.h:685
::Ice::Int port
The port number.
Definition Endpoint.h:725
IPEndpointInfo(const ::Ice::EndpointInfoPtr &underlying, ::Ice::Int timeout, bool compress, const ::std::string &host, ::Ice::Int port, const ::std::string &sourceAddress)
One-shot constructor to initialize all data members.
Definition Endpoint.h:705
IPEndpointInfoPtr PointerType
Definition Endpoint.h:688
IPEndpointInfo()
Definition Endpoint.h:692
::std::string sourceAddress
The source IP address.
Definition Endpoint.h:729
::std::string host
The host or address configured with the endpoint.
Definition Endpoint.h:721
virtual ~IPEndpointInfo()
Base class for local Slice classes and interfaces.
Definition LocalObject.h:25
Provides access to the details of an opaque endpoint.
Definition Endpoint.h:913
::Ice::ByteSeq rawBytes
The raw encoding of the opaque endpoint.
Definition Endpoint.h:952
::Ice::EncodingVersion rawEncoding
The encoding version of the opaque endpoint (to decode or encode the rawBytes).
Definition Endpoint.h:948
OpaqueEndpointInfoPtr PointerType
Definition Endpoint.h:916
OpaqueEndpointInfo(const ::Ice::EndpointInfoPtr &underlying, ::Ice::Int timeout, bool compress, const ::Ice::EncodingVersion &rawEncoding, const ::Ice::ByteSeq &rawBytes)
One-shot constructor to initialize all data members.
Definition Endpoint.h:932
OpaqueEndpointInfo()
Definition Endpoint.h:920
virtual ~OpaqueEndpointInfo()
Provides access to a TCP endpoint information.
Definition Endpoint.h:750
virtual ~TCPEndpointInfo()
TCPEndpointInfo()
Definition Endpoint.h:757
TCPEndpointInfo(const ::Ice::EndpointInfoPtr &underlying, ::Ice::Int timeout, bool compress, const ::std::string &host, ::Ice::Int port, const ::std::string &sourceAddress)
One-shot constructor to initialize all data members.
Definition Endpoint.h:770
TCPEndpointInfoPtr PointerType
Definition Endpoint.h:753
Provides access to an UDP endpoint information.
Definition Endpoint.h:799
UDPEndpointInfo(const ::Ice::EndpointInfoPtr &underlying, ::Ice::Int timeout, bool compress, const ::std::string &host, ::Ice::Int port, const ::std::string &sourceAddress, const ::std::string &mcastInterface, ::Ice::Int mcastTtl)
One-shot constructor to initialize all data members.
Definition Endpoint.h:821
::std::string mcastInterface
The multicast interface.
Definition Endpoint.h:836
UDPEndpointInfo()
Definition Endpoint.h:806
virtual ~UDPEndpointInfo()
::Ice::Int mcastTtl
The multicast time-to-live (or hops).
Definition Endpoint.h:840
UDPEndpointInfoPtr PointerType
Definition Endpoint.h:802
Provides access to a WebSocket endpoint information.
Definition Endpoint.h:860
WSEndpointInfoPtr PointerType
Definition Endpoint.h:863
::std::string resource
The URI configured with the endpoint.
Definition Endpoint.h:892
WSEndpointInfo(const ::Ice::EndpointInfoPtr &underlying, ::Ice::Int timeout, bool compress, const ::std::string &resource)
One-shot constructor to initialize all data members.
Definition Endpoint.h:878
virtual ~WSEndpointInfo()
WSEndpointInfo()
Definition Endpoint.h:867
Definition BuiltinSequences.h:113
const Short WSSEndpointType
Uniquely identifies SSL-based WebSocket endpoints.
Definition Endpoint.h:528
const Short iAPSEndpointType
Uniquely identifies SSL iAP-based endpoints.
Definition Endpoint.h:548
int Int
The mapping for the Slice int type.
Definition Config.h:54
::IceInternal::Handle< WSEndpointInfo > WSEndpointInfoPtr
Definition Endpoint.h:492
const Short TCPEndpointType
Uniquely identifies TCP endpoints.
Definition Endpoint.h:508
::IceInternal::Handle< TCPEndpointInfo > TCPEndpointInfoPtr
Definition Endpoint.h:480
const Short BTSEndpointType
Uniquely identifies SSL Bluetooth endpoints.
Definition Endpoint.h:538
const Short UDPEndpointType
Uniquely identifies UDP endpoints.
Definition Endpoint.h:518
::IceInternal::Handle< UDPEndpointInfo > UDPEndpointInfoPtr
Definition Endpoint.h:486
const Short BTEndpointType
Uniquely identifies Bluetooth endpoints.
Definition Endpoint.h:533
const Short SSLEndpointType
Uniquely identifies SSL endpoints.
Definition Endpoint.h:513
::IceInternal::Handle< EndpointInfo > EndpointInfoPtr
Definition Endpoint.h:462
::std::vector< Byte > ByteSeq
A sequence of bytes.
Definition BuiltinSequences.h:123
const Short WSEndpointType
Uniquely identifies TCP-based WebSocket endpoints.
Definition Endpoint.h:523
short Short
The mapping for the Slice short type.
Definition Config.h:52
::IceInternal::Handle< OpaqueEndpointInfo > OpaqueEndpointInfoPtr
Definition Endpoint.h:498
::IceInternal::Handle< IPEndpointInfo > IPEndpointInfoPtr
Definition Endpoint.h:474
::IceInternal::Handle< Endpoint > EndpointPtr
Definition Endpoint.h:468
IceUtil::Shared * upCast(::Ice::AsyncResult *)
const Short iAPEndpointType
Uniquely identifies iAP-based endpoints.
Definition Endpoint.h:543
A version structure for the encoding version.
Definition Version.h:225