diff options
Diffstat (limited to 'python/modules/IcePy/BatchRequestInterceptor.cpp')
-rw-r--r-- | python/modules/IcePy/BatchRequestInterceptor.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/python/modules/IcePy/BatchRequestInterceptor.cpp b/python/modules/IcePy/BatchRequestInterceptor.cpp index 95e7ed1345a..83577944689 100644 --- a/python/modules/IcePy/BatchRequestInterceptor.cpp +++ b/python/modules/IcePy/BatchRequestInterceptor.cpp @@ -237,6 +237,12 @@ IcePy::initBatchRequest(PyObject* module) IcePy::BatchRequestInterceptor::BatchRequestInterceptor(PyObject* interceptor) : _interceptor(interceptor) { + if(!PyCallable_Check(interceptor) && !PyObject_HasAttrString(interceptor, STRCAST("enqueue"))) + { + throw Ice::InitializationException(__FILE__, __LINE__, + "batch request interceptor must either be a callable or an object with an 'enqueue' method"); + } + Py_INCREF(interceptor); } |