summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/IncomingAsync.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Ice/IncomingAsync.h')
-rw-r--r--cpp/include/Ice/IncomingAsync.h39
1 files changed, 36 insertions, 3 deletions
diff --git a/cpp/include/Ice/IncomingAsync.h b/cpp/include/Ice/IncomingAsync.h
index b9e5d34ba25..8f9a78d8430 100644
--- a/cpp/include/Ice/IncomingAsync.h
+++ b/cpp/include/Ice/IncomingAsync.h
@@ -17,13 +17,25 @@
namespace Ice
{
+/**
+ * Base class for generated AMD callback classes.
+ * \headerfile Ice/Ice.h
+ */
class ICE_API AMDCallback : public Ice::LocalObject
{
public:
virtual ~AMDCallback();
- virtual void ice_exception(const ::std::exception&) = 0;
+ /**
+ * Completes the asynchronous request with the given exception.
+ * @param ex The exception that completed the request.
+ */
+ virtual void ice_exception(const ::std::exception& ex) = 0;
+
+ /**
+ * Completes the asynchronous request with an UnknownException.
+ */
virtual void ice_exception() = 0;
};
@@ -112,18 +124,38 @@ private:
namespace Ice
{
+/**
+ * Base class for the AMD callback for BlobjectAsync::ice_invoke_async.
+ * \headerfile Ice/Ice.h
+ */
class ICE_API AMD_Object_ice_invoke : public virtual Ice::AMDCallback
{
public:
virtual ~AMD_Object_ice_invoke();
- virtual void ice_response(bool, const std::vector<Ice::Byte>&) = 0;
- virtual void ice_response(bool, const std::pair<const Ice::Byte*, const Ice::Byte*>&) = 0;
+ /**
+ * Completes the request.
+ * @param ok True if the request completed successfully, in which case bytes contains an encapsulation
+ * of the marshaled results. False if the request completed with a user exception, in which case bytes
+ * contains an encapsulation of the marshaled user exception.
+ * @param bytes An encapsulation of the results or user exception.
+ */
+ virtual void ice_response(bool ok, const std::vector<Ice::Byte>& bytes) = 0;
+
+ /**
+ * Completes the request.
+ * @param ok True if the request completed successfully, in which case bytes contains an encapsulation
+ * of the marshaled results. False if the request completed with a user exception, in which case bytes
+ * contains an encapsulation of the marshaled user exception.
+ * @param bytes An encapsulation of the results or user exception.
+ */
+ virtual void ice_response(bool ok, const std::pair<const Ice::Byte*, const Ice::Byte*>& bytes) = 0;
};
}
+/// \cond INTERNAL
namespace IceAsync
{
@@ -143,6 +175,7 @@ public:
}
}
+/// \endcond
#endif
#endif