summaryrefslogtreecommitdiff
path: root/csharp/src/IceSSL/PluginI.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/src/IceSSL/PluginI.cs')
-rw-r--r--csharp/src/IceSSL/PluginI.cs12
1 files changed, 7 insertions, 5 deletions
diff --git a/csharp/src/IceSSL/PluginI.cs b/csharp/src/IceSSL/PluginI.cs
index a7470596b74..9c0e3825a47 100644
--- a/csharp/src/IceSSL/PluginI.cs
+++ b/csharp/src/IceSSL/PluginI.cs
@@ -41,12 +41,14 @@ namespace IceSSL
_engine = new SSLEngine(facade);
//
- // Register the endpoint factory. We have to do this now, rather than
- // in initialize, because the communicator may need to interpret
- // proxies before the plug-in is fully initialized.
+ // SSL based on TCP
//
- EndpointFactoryI factory = new EndpointFactoryI(new Instance(_engine, IceSSL.EndpointType.value, "ssl"));
- facade.addEndpointFactory(factory);
+ IceInternal.EndpointFactory tcp = facade.getEndpointFactory(Ice.TCPEndpointType.value);
+ if(tcp != null)
+ {
+ Instance instance = new Instance(_engine, Ice.SSLEndpointType.value, "ssl");
+ facade.addEndpointFactory(new EndpointFactoryI(instance, tcp.clone(instance, null)));
+ }
}
public override void initialize()