diff options
Diffstat (limited to 'cpp/test/Ice/background/EndpointFactory.cpp')
-rw-r--r-- | cpp/test/Ice/background/EndpointFactory.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/cpp/test/Ice/background/EndpointFactory.cpp b/cpp/test/Ice/background/EndpointFactory.cpp new file mode 100644 index 00000000000..70af767492a --- /dev/null +++ b/cpp/test/Ice/background/EndpointFactory.cpp @@ -0,0 +1,53 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#include <Ice/Instance.h> +#include <Ice/EndpointFactoryManager.h> + +#include <EndpointFactory.h> +#include <EndpointI.h> + +using namespace std; + +EndpointFactory::EndpointFactory(const IceInternal::EndpointFactoryPtr& factory) : + _factory(factory) +{ +} + +Ice::Short +EndpointFactory::type() const +{ + return (Ice::Short)(EndpointI::TYPE_BASE + _factory->type()); +} + +string +EndpointFactory::protocol() const +{ + return "test-" + _factory->protocol(); +} + +IceInternal::EndpointIPtr +EndpointFactory::create(const string& str, bool server) const +{ + return new EndpointI(_factory->create(str, server)); +} + +IceInternal::EndpointIPtr +EndpointFactory::read(IceInternal::BasicStream* s) const +{ + short type; + s->read(type); + assert(type == _factory->type()); + return new EndpointI(_factory->read(s)); +} + +void +EndpointFactory::destroy() +{ +} |