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):
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
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)
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):