summaryrefslogtreecommitdiff
path: root/py/modules/IcePy/Operation.h
diff options
context:
space:
mode:
Diffstat (limited to 'py/modules/IcePy/Operation.h')
-rw-r--r--py/modules/IcePy/Operation.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/py/modules/IcePy/Operation.h b/py/modules/IcePy/Operation.h
index 98d20f23463..e9691c63f8f 100644
--- a/py/modules/IcePy/Operation.h
+++ b/py/modules/IcePy/Operation.h
@@ -14,6 +14,7 @@
#include <Ice/Current.h>
#include <Ice/Object.h>
#include <Ice/OutgoingAsyncF.h>
+#include <Ice/CommunicatorF.h>
namespace IcePy
{
@@ -40,6 +41,28 @@ PyObject* createAsyncResult(const Ice::AsyncResultPtr&, PyObject*, PyObject*, Py
Ice::AsyncResultPtr getAsyncResult(PyObject*);
//
+// Used as the callback for getConnection operation.
+//
+class GetConnectionCallback : public IceUtil::Shared
+{
+public:
+
+ GetConnectionCallback(const Ice::CommunicatorPtr&, PyObject*, PyObject*, const std::string&);
+ ~GetConnectionCallback();
+
+ void response(const Ice::ConnectionPtr&);
+ void exception(const Ice::Exception&);
+
+protected:
+
+ Ice::CommunicatorPtr _communicator;
+ PyObject* _response;
+ PyObject* _ex;
+ std::string _op;
+};
+typedef IceUtil::Handle<GetConnectionCallback> GetConnectionCallbackPtr;
+
+//
// Used as the callback for the various flushBatchRequest operations.
//
class FlushCallback : public IceUtil::Shared