diff options
Diffstat (limited to 'cpp/src/Ice/Instance.cpp')
-rw-r--r-- | cpp/src/Ice/Instance.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index e94781b3cf1..490327881d2 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -1351,20 +1351,10 @@ IceInternal::Instance::finishSetup(int& argc, const char* argv[], const Ice::Com pluginManagerImpl->loadPlugins(argc, argv); // - // Add WS and WSS endpoint factories if TCP/SSL factories are installed. + // Initialize the endpoint factories once all the plugins are loaded. This gives + // the opportunity for the endpoint factories to find underyling factories. // - EndpointFactoryPtr tcpFactory = _endpointFactoryManager->get(TCPEndpointType); - if(tcpFactory) - { - ProtocolInstancePtr instance = new ProtocolInstance(communicator, WSEndpointType, "ws", false); - _endpointFactoryManager->add(new WSEndpointFactory(instance, tcpFactory->clone(instance, 0))); - } - EndpointFactoryPtr sslFactory = _endpointFactoryManager->get(SSLEndpointType); - if(sslFactory) - { - ProtocolInstancePtr instance = new ProtocolInstance(communicator, WSSEndpointType, "wss", true); - _endpointFactoryManager->add(new WSEndpointFactory(instance, sslFactory->clone(instance, 0))); - } + _endpointFactoryManager->initialize(); // // Reset _stringConverter and _wstringConverter, in case a plugin changed them |