summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/background/EndpointFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/background/EndpointFactory.cpp')
-rw-r--r--cpp/test/Ice/background/EndpointFactory.cpp53
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()
+{
+}