summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/metrics/TestAMDI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/metrics/TestAMDI.cpp')
-rw-r--r--cpp/test/Ice/metrics/TestAMDI.cpp73
1 files changed, 71 insertions, 2 deletions
diff --git a/cpp/test/Ice/metrics/TestAMDI.cpp b/cpp/test/Ice/metrics/TestAMDI.cpp
index 5253adb7585..bc1309c3bc2 100644
--- a/cpp/test/Ice/metrics/TestAMDI.cpp
+++ b/cpp/test/Ice/metrics/TestAMDI.cpp
@@ -10,6 +10,74 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
+using namespace std;
+
+#ifdef ICE_CPP11_MAPPING
+void
+MetricsI::opAsync(function<void()> response, function<void(exception_ptr)>, const Ice::Current&)
+{
+ response();
+}
+
+void
+MetricsI::failAsync(function<void()> response, function<void(exception_ptr)>, const Ice::Current& current)
+{
+ current.con->close(Ice::ICE_SCOPED_ENUM(ConnectionClose, Forcefully));
+ response();
+}
+
+void
+MetricsI::opWithUserExceptionAsync(function<void()>, function<void(exception_ptr)> error, const Ice::Current&)
+{
+ try
+ {
+ throw Test::UserEx();
+ }
+ catch(...)
+ {
+ error(current_exception());
+ }
+}
+
+void
+MetricsI::opWithRequestFailedExceptionAsync(function<void()>, function<void(exception_ptr)> error,
+ const Ice::Current&)
+{
+ try
+ {
+ throw Ice::ObjectNotExistException(__FILE__, __LINE__);
+ }
+ catch(...)
+ {
+ error(current_exception());
+ }
+}
+
+void
+MetricsI::opWithLocalExceptionAsync(function<void()>, function<void(exception_ptr)> error, const Ice::Current&)
+{
+ try
+ {
+ throw Ice::SyscallException(__FILE__, __LINE__);
+ }
+ catch(...)
+ {
+ error(current_exception());
+ }
+}
+
+void
+MetricsI::opWithUnknownExceptionAsync(function<void()>, function<void(exception_ptr)>, const Ice::Current&)
+{
+ throw "Test";
+}
+
+void
+MetricsI::opByteSAsync(Test::ByteSeq, function<void()> response, function<void(exception_ptr)>, const Ice::Current&)
+{
+ response();
+}
+#else
void
MetricsI::op_async(const Test::AMD_Metrics_opPtr& cb, const Ice::Current&)
{
@@ -19,7 +87,7 @@ MetricsI::op_async(const Test::AMD_Metrics_opPtr& cb, const Ice::Current&)
void
MetricsI::fail_async(const Test::AMD_Metrics_failPtr& cb, const Ice::Current& current)
{
- current.con->close(true);
+ current.con->close(Ice::ICE_SCOPED_ENUM(ConnectionClose, Forcefully));
cb->ice_response();
}
@@ -53,8 +121,9 @@ MetricsI::opByteS_async(const Test::AMD_Metrics_opByteSPtr& cb, const Test::Byte
{
cb->ice_response();
}
+#endif
-Ice::ObjectPrx
+Ice::ObjectPrxPtr
MetricsI::getAdmin(const Ice::Current& current)
{
return current.adapter->getCommunicator()->getAdmin();