X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Ftrace.py;h=7f98ac8698f39a7f9aeb615e33c901a28b941152;hb=5783664e46332216fd38a7b287258a7c9543af57;hp=8a7e0d4426736fb06a9417e39b80262b69b7b214;hpb=3fb99a226ccb40c79de6b55b5a249d93b9c5262e;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/trace.py b/src/bindings/python/bt2/bt2/trace.py index 8a7e0d44..7f98ac86 100644 --- a/src/bindings/python/bt2/bt2/trace.py +++ b/src/bindings/python/bt2/bt2/trace.py @@ -21,7 +21,6 @@ # THE SOFTWARE. from bt2 import native_bt, object, utils -from bt2 import field_class as bt2_field_class import collections.abc from bt2 import value as bt2_value from bt2 import stream as bt2_stream @@ -116,6 +115,19 @@ class _Trace(object._SharedObject, collections.abc.Mapping): assert trace_class_ptr is not None return bt2_trace_class._TraceClass._create_from_ptr_and_get_ref(trace_class_ptr) + @property + def user_attributes(self): + ptr = native_bt.trace_borrow_user_attributes(self._ptr) + assert ptr is not None + return bt2_value._create_from_ptr_and_get_ref(ptr) + + def _user_attributes(self, user_attributes): + value = bt2_value.create_value(user_attributes) + utils._check_type(value, bt2_value.MapValue) + native_bt.trace_set_user_attributes(self._ptr, value._ptr) + + _user_attributes = property(fset=_user_attributes) + @property def name(self): return native_bt.trace_get_name(self._ptr) @@ -145,7 +157,7 @@ class _Trace(object._SharedObject, collections.abc.Mapping): def env(self): return _TraceEnv(self) - def create_stream(self, stream_class, id=None, name=None): + def create_stream(self, stream_class, id=None, name=None, user_attributes=None): utils._check_type(stream_class, bt2_stream_class._StreamClass) if stream_class.assigns_automatic_stream_id: @@ -174,6 +186,9 @@ class _Trace(object._SharedObject, collections.abc.Mapping): if name is not None: stream._name = name + if user_attributes is not None: + stream._user_attributes = user_attributes + return stream def add_destruction_listener(self, listener):