projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tap-driver.sh: flush stdout after each test result
[babeltrace.git]
/
bindings
/
python
/
bt2
/
bt2
/
query_executor.py
diff --git
a/bindings/python/bt2/bt2/query_executor.py
b/bindings/python/bt2/bt2/query_executor.py
index 00644166e20f2f248fc7ba599c3f28ed802547a2..a87713ff1c8a4f2c540fb35fabd81592cd910692 100644
(file)
--- a/
bindings/python/bt2/bt2/query_executor.py
+++ b/
bindings/python/bt2/bt2/query_executor.py
@@
-25,15
+25,18
@@
import bt2.component
import bt2
import bt2
-class QueryExecutor(object._Object):
+class QueryExecutor(object._SharedObject):
+ _get_ref = staticmethod(native_bt.query_executor_get_ref)
+ _put_ref = staticmethod(native_bt.query_executor_put_ref)
+
def _handle_status(self, status, gen_error_msg):
def _handle_status(self, status, gen_error_msg):
- if status == native_bt.QUERY_STATUS_AGAIN:
+ if status == native_bt.QUERY_
EXECUTOR_
STATUS_AGAIN:
raise bt2.TryAgain
raise bt2.TryAgain
- elif status == native_bt.QUERY_
STATUS_EXECUTOR
_CANCELED:
+ elif status == native_bt.QUERY_
EXECUTOR_STATUS
_CANCELED:
raise bt2.QueryExecutorCanceled
raise bt2.QueryExecutorCanceled
- elif status == native_bt.QUERY_STATUS_INVALID_OBJECT:
+ elif status == native_bt.QUERY_
EXECUTOR_
STATUS_INVALID_OBJECT:
raise bt2.InvalidQueryObject
raise bt2.InvalidQueryObject
- elif status == native_bt.QUERY_STATUS_INVALID_PARAMS:
+ elif status == native_bt.QUERY_
EXECUTOR_
STATUS_INVALID_PARAMS:
raise bt2.InvalidQueryParams
elif status < 0:
raise bt2.Error(gen_error_msg)
raise bt2.InvalidQueryParams
elif status < 0:
raise bt2.Error(gen_error_msg)
@@
-57,6
+60,9
@@
class QueryExecutor(object._Object):
return is_canceled > 0
def query(self, component_class, object, params=None):
return is_canceled > 0
def query(self, component_class, object, params=None):
+ if self.is_canceled:
+ raise bt2.QueryExecutorCanceled
+
if not isinstance(component_class, bt2.component._GenericComponentClass):
err = False
if not isinstance(component_class, bt2.component._GenericComponentClass):
err = False
@@
-78,19
+84,10
@@
class QueryExecutor(object._Object):
params = bt2.create_value(params)
params_ptr = params._ptr
params = bt2.create_value(params)
params_ptr = params._ptr
- if isinstance(component_class, bt2.component._GenericComponentClass):
- cc_ptr = component_class._ptr
- else:
- cc_ptr = component_class._cc_ptr
+ cc_ptr = component_class._component_class_ptr()
status, result_ptr = native_bt.query_executor_query(self._ptr, cc_ptr,
object, params_ptr)
self._handle_status(status, 'cannot query component class')
assert(result_ptr)
status, result_ptr = native_bt.query_executor_query(self._ptr, cc_ptr,
object, params_ptr)
self._handle_status(status, 'cannot query component class')
assert(result_ptr)
- return bt2.values._create_from_ptr(result_ptr)
-
- def __eq__(self, other):
- if type(other) is not type(self):
- return False
-
- return self.addr == other.addr
+ return bt2.value._create_from_ptr(result_ptr)
This page took
0.030872 seconds
and
4
git commands to generate.