diff options
Diffstat (limited to 'cpp/src/IceSSL/EndpointI.h')
-rw-r--r-- | cpp/src/IceSSL/EndpointI.h | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/cpp/src/IceSSL/EndpointI.h b/cpp/src/IceSSL/EndpointI.h index beda3b5b915..f75194ea640 100644 --- a/cpp/src/IceSSL/EndpointI.h +++ b/cpp/src/IceSSL/EndpointI.h @@ -10,9 +10,9 @@ #ifndef ICE_SSL_ENDPOINT_I_H #define ICE_SSL_ENDPOINT_I_H +#include <Ice/EndpointI.h> #include <Ice/IPEndpointI.h> #include <Ice/EndpointFactory.h> -#include <Ice/WSEndpoint.h> #include <IceSSL/InstanceF.h> #include <IceSSL/EndpointInfo.h> #include <Ice/Network.h> @@ -20,54 +20,60 @@ namespace IceSSL { -class EndpointI : public IceInternal::IPEndpointI, public IceInternal::WSEndpointDelegate +class EndpointI : public IceInternal::EndpointI +#ifdef ICE_CPP11_MAPPING + , public std::enable_shared_from_this<EndpointI> +#endif { public: - EndpointI(const InstancePtr&, const std::string&, Ice::Int, const IceInternal::Address&, Ice::Int, - const std::string&, bool); - EndpointI(const InstancePtr&); - EndpointI(const InstancePtr&, IceInternal::BasicStream*); + EndpointI(const InstancePtr&, const IceInternal::EndpointIPtr&); + + virtual void streamWriteImpl(Ice::OutputStream*) const; virtual Ice::EndpointInfoPtr getInfo() const; - virtual Ice::EndpointInfoPtr getWSInfo(const std::string&) const; + virtual Ice::Short type() const; + virtual const std::string& protocol() const; virtual Ice::Int timeout() const; virtual IceInternal::EndpointIPtr timeout(Ice::Int) const; + virtual const std::string& connectionId() const; + virtual IceInternal::EndpointIPtr connectionId(const ::std::string&) const; virtual bool compress() const; virtual IceInternal::EndpointIPtr compress(bool) const; virtual bool datagram() const; + virtual bool secure() const; virtual IceInternal::TransceiverPtr transceiver() const; + virtual void connectors_async(Ice::EndpointSelectionType, const IceInternal::EndpointI_connectorsPtr&) const; virtual IceInternal::AcceptorPtr acceptor(const std::string&) const; + + virtual std::vector<IceInternal::EndpointIPtr> expand() const; + virtual bool equivalent(const IceInternal::EndpointIPtr&) const; + virtual ::Ice::Int hash() const; virtual std::string options() const; + EndpointIPtr endpoint(const IceInternal::EndpointIPtr&) const; + +#ifdef ICE_CPP11_MAPPING + virtual bool operator==(const Ice::Endpoint&) const; + virtual bool operator<(const Ice::Endpoint&) const; +#else virtual bool operator==(const Ice::LocalObject&) const; virtual bool operator<(const Ice::LocalObject&) const; - - virtual EndpointIPtr endpoint(const AcceptorIPtr&) const; - - using IceInternal::IPEndpointI::connectionId; +#endif protected: - virtual void streamWriteImpl(IceInternal::BasicStream*) const; - virtual void hashInit(Ice::Int&) const; - virtual void fillEndpointInfo(Ice::IPEndpointInfo*) const; virtual bool checkOption(const std::string&, const std::string&, const std::string&); - virtual IceInternal::ConnectorPtr createConnector(const IceInternal::Address&, - const IceInternal::NetworkProxyPtr&) const; - virtual IceInternal::IPEndpointIPtr createEndpoint(const std::string&, int, const std::string&) const; - private: // // All members are const, because endpoints are immutable. // const InstancePtr _instance; - const Ice::Int _timeout; - const bool _compress; + const IceInternal::EndpointIPtr _delegate; }; class EndpointFactoryI : public IceInternal::EndpointFactory @@ -79,17 +85,19 @@ public: virtual Ice::Short type() const; virtual std::string protocol() const; virtual IceInternal::EndpointIPtr create(std::vector<std::string>&, bool) const; - virtual IceInternal::EndpointIPtr read(IceInternal::BasicStream*) const; + virtual IceInternal::EndpointIPtr read(Ice::InputStream*) const; virtual void destroy(); - virtual IceInternal::EndpointFactoryPtr clone(const IceInternal::ProtocolInstancePtr&) const; + virtual IceInternal::EndpointFactoryPtr clone(const IceInternal::ProtocolInstancePtr&, + const IceInternal::EndpointFactoryPtr&) const; private: - EndpointFactoryI(const InstancePtr&); + EndpointFactoryI(const InstancePtr&, const IceInternal::EndpointFactoryPtr&); friend class PluginI; InstancePtr _instance; + const IceInternal::EndpointFactoryPtr _delegate; }; } |