lib: remove bt_query_executor_interrupt, add bt_query_executor_borrow_default_interrupter
[babeltrace.git] / src / bindings / python / bt2 / bt2 / query_executor.py
index 8e51f82522d1149efc5540a32ed5953ed9598ec4..57c325890e80d0548065152dd3f0033a5b7dbd89 100644 (file)
 
 from bt2 import native_bt, object, utils
 from bt2 import interrupter as bt2_interrupter
-from bt2 import component as bt2_component
 from bt2 import value as bt2_value
 import bt2
 
 
+def _bt2_component():
+    from bt2 import component as bt2_component
+
+    return bt2_component
+
+
 class _QueryExecutorCommon:
     @property
     def _common_ptr(self):
@@ -50,11 +55,11 @@ class QueryExecutor(object._SharedObject, _QueryExecutorCommon):
         return self._ptr
 
     def __init__(self, component_class, object, params=None, method_obj=None):
-        if not isinstance(component_class, bt2_component._ComponentClass):
+        if not isinstance(component_class, _bt2_component()._ComponentClassConst):
             err = False
 
             try:
-                if not issubclass(component_class, bt2_component._UserComponent):
+                if not issubclass(component_class, _bt2_component()._UserComponent):
                     err = True
             except TypeError:
                 err = True
@@ -99,8 +104,10 @@ class QueryExecutor(object._SharedObject, _QueryExecutorCommon):
         utils._check_type(interrupter, bt2_interrupter.Interrupter)
         native_bt.query_executor_add_interrupter(self._ptr, interrupter._ptr)
 
-    def interrupt(self):
-        native_bt.query_executor_interrupt(self._ptr)
+    @property
+    def default_interrupter(self):
+        ptr = native_bt.query_executor_borrow_default_interrupter(self._ptr)
+        return bt2_interrupter.Interrupter._create_from_ptr_and_get_ref(ptr)
 
     def _set_logging_level(self, log_level):
         utils._check_log_level(log_level)
@@ -120,7 +127,7 @@ class QueryExecutor(object._SharedObject, _QueryExecutorCommon):
         status, result_ptr = native_bt.query_executor_query(self._ptr)
         utils._handle_func_status(status, 'cannot query component class')
         assert result_ptr is not None
-        return bt2_value._create_from_ptr(result_ptr)
+        return bt2_value._create_from_const_ptr(result_ptr)
 
 
 class _PrivateQueryExecutor(_QueryExecutorCommon):
This page took 0.023949 seconds and 4 git commands to generate.