summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/EndpointI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceSSL/EndpointI.h')
-rw-r--r--cpp/src/IceSSL/EndpointI.h54
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;
};
}