summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/background/EndpointFactory.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-11-27 11:58:35 +0100
committerBenoit Foucher <benoit@zeroc.com>2007-11-27 11:58:35 +0100
commit47f800495093fd7679a315e2d730fea22f6135b7 (patch)
treea7b8d3488f3841367dd03d10cae293f36fd10481 /cpp/test/Ice/background/EndpointFactory.cpp
parentFixed SystemException to no longer derive from LocalException (diff)
downloadice-47f800495093fd7679a315e2d730fea22f6135b7.tar.bz2
ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.xz
ice-47f800495093fd7679a315e2d730fea22f6135b7.zip
- Added support for non-blocking AMI/batch requests, connection
creation. - Added support for AMI oneway requests. - Changed collocation optimization to not perform any DNS lookups.
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()
+{
+}