diff options
Diffstat (limited to 'py/modules/IcePy/Operation.h')
-rw-r--r-- | py/modules/IcePy/Operation.h | 23 |
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 |