diff options
Diffstat (limited to 'cpp/test/Ice/metrics/TestAMDI.cpp')
-rw-r--r-- | cpp/test/Ice/metrics/TestAMDI.cpp | 73 |
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(); |