diff options
Diffstat (limited to 'cpp/src/IceSSL/EndpointI.cpp')
-rw-r--r-- | cpp/src/IceSSL/EndpointI.cpp | 43 |
1 files changed, 12 insertions, 31 deletions
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp index 69705dcbcd8..099818f8fbc 100644 --- a/cpp/src/IceSSL/EndpointI.cpp +++ b/cpp/src/IceSSL/EndpointI.cpp @@ -347,51 +347,32 @@ IceSSL::EndpointI::checkOption(const string& option, const string& argument, con return false; } -IceSSL::EndpointFactoryI::EndpointFactoryI(const InstancePtr& instance, - const IceInternal::EndpointFactoryPtr& delegate) : - _instance(instance), _delegate(delegate) +IceSSL::EndpointFactoryI::EndpointFactoryI(const InstancePtr& instance, Short type) : + IceInternal::EndpointFactoryWithUnderlying(instance, type), _instance(instance.get()) { } -IceSSL::EndpointFactoryI::~EndpointFactoryI() -{ -} - -Short -IceSSL::EndpointFactoryI::type() const +void +IceSSL::EndpointFactoryI::destroy() { - return _instance->type(); + _instance = 0; } -string -IceSSL::EndpointFactoryI::protocol() const +IceInternal::EndpointFactoryPtr +IceSSL::EndpointFactoryI::cloneWithUnderlying(const IceInternal::ProtocolInstancePtr& instance, Short underlying) const { - return _instance->protocol(); + return new EndpointFactoryI(new Instance(_instance->engine(), instance->type(), instance->protocol()), underlying); } IceInternal::EndpointIPtr -IceSSL::EndpointFactoryI::create(vector<string>& args, bool oaEndpoint) const +IceSSL::EndpointFactoryI::createWithUnderlying(const IceInternal::EndpointIPtr& underlying, vector<string>&, bool) const { - return ICE_MAKE_SHARED(EndpointI, _instance, _delegate->create(args, oaEndpoint)); + return ICE_MAKE_SHARED(EndpointI, _instance, underlying); } IceInternal::EndpointIPtr -IceSSL::EndpointFactoryI::read(Ice::InputStream* s) const +IceSSL::EndpointFactoryI::readWithUnderlying(const IceInternal::EndpointIPtr& underlying, Ice::InputStream* s) const { - return ICE_MAKE_SHARED(EndpointI, _instance, _delegate->read(s)); + return ICE_MAKE_SHARED(EndpointI, _instance, underlying); } -void -IceSSL::EndpointFactoryI::destroy() -{ - _delegate->destroy(); - _instance = 0; -} - -IceInternal::EndpointFactoryPtr -IceSSL::EndpointFactoryI::clone(const IceInternal::ProtocolInstancePtr& inst, - const IceInternal::EndpointFactoryPtr& delegate) const -{ - InstancePtr instance = new Instance(_instance->engine(), inst->type(), inst->protocol()); - return new EndpointFactoryI(instance, delegate ? delegate : _delegate->clone(instance, 0)); -} |