diff options
Diffstat (limited to 'csharp/src/IceSSL/PluginI.cs')
-rw-r--r-- | csharp/src/IceSSL/PluginI.cs | 12 |
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() |