X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Fcomponent.py;h=a68da615f1b542f187cc0637c83f4b7f325d94f1;hb=056deb59eb33e87c06c0067907768ab08aff74a2;hp=72376ef97a5445f33b577594e2d36860f40b6dc3;hpb=7c14d64103ff43ddeb43aaa04df17beb107f1f78;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/component.py b/src/bindings/python/bt2/bt2/component.py index 72376ef9..a68da615 100644 --- a/src/bindings/python/bt2/bt2/component.py +++ b/src/bindings/python/bt2/bt2/component.py @@ -27,11 +27,9 @@ from bt2 import value as bt2_value from bt2 import trace_class as bt2_trace_class from bt2 import clock_class as bt2_clock_class from bt2 import query_executor as bt2_query_executor -import traceback from bt2 import port as bt2_port import sys import bt2 -import os # This class wraps a component class pointer. This component class could @@ -573,9 +571,29 @@ class _UserComponentType(type): def addr(cls): return int(cls._bt_cc_ptr) + def _bt_get_supported_mip_versions_from_native(cls, params_ptr, obj, log_level): + # this can raise, but the native side checks the exception + if params_ptr is not None: + params = bt2_value._create_from_ptr_and_get_ref(params_ptr) + else: + params = None + + # this can raise, but the native side checks the exception + range_set = cls._user_get_supported_mip_versions(params, obj, log_level) + + if type(range_set) is not bt2.UnsignedIntegerRangeSet: + # this can raise, but the native side checks the exception + range_set = bt2.UnsignedIntegerRangeSet(range_set) + + # return new reference + range_set._get_ref(range_set._ptr) + return int(range_set._ptr) + + def _user_get_supported_mip_versions(cls, params, obj, log_level): + return [0] + def _bt_query_from_native(cls, priv_query_exec_ptr, object, params_ptr, method_obj): - # this can raise, in which case the native call to - # bt_component_class_query() returns NULL + # this can raise, but the native side checks the exception if params_ptr is not None: params = bt2_value._create_from_ptr_and_get_ref(params_ptr) else: @@ -659,6 +677,11 @@ class _UserComponent(metaclass=_UserComponentType): def addr(self): return int(self._bt_ptr) + @property + def _graph_mip_version(self): + ptr = self._bt_as_self_component_ptr(self._bt_ptr) + return native_bt.self_component_get_graph_mip_version(ptr) + def __init__(self, params=None, obj=None): pass @@ -872,7 +895,7 @@ class _UserSinkComponent(_UserComponent, _SinkComponent): ) if msg_iter_ptr is None: - raise bt2.CreationError('cannot create message iterator object') + raise bt2._MemoryError('cannot create message iterator object') return bt2_message_iterator._UserComponentInputPortMessageIterator(msg_iter_ptr)