from bt2 import native_bt, utils, object
import bt2.stream_class
import bt2.field_class
+import bt2.trace
import collections.abc
import functools
trace_ptr = native_bt.trace_create(self._ptr)
if trace_ptr is None:
- raise bt2.CreationError('cannot create trace class object')
+ raise bt2._MemoryError('cannot create trace class object')
trace = bt2.trace._Trace._create_from_ptr(trace_ptr)
def _check_create_status(self, ptr, type_name):
if ptr is None:
- raise bt2.CreationError('cannot create {} field class'.format(type_name))
+ raise bt2._MemoryError('cannot create {} field class'.format(type_name))
def _create_integer_field_class(
self, create_func, py_cls, type_name, field_value_range, preferred_display_base
_trace_class_destruction_listener_from_native, listener
)
- listener_id = fn(self._ptr, listener_from_native)
- if listener_id is None:
- utils._raise_bt2_error(
- 'cannot add destruction listener to trace class object'
- )
+ status, listener_id = fn(self._ptr, listener_from_native)
+ utils._handle_func_status(
+ status, 'cannot add destruction listener to trace class object'
+ )
return bt2._ListenerHandle(listener_id, self)