X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Ftrace.py;h=7f98ac8698f39a7f9aeb615e33c901a28b941152;hb=5783664e46332216fd38a7b287258a7c9543af57;hp=e893b2d28bfabb24906b8735857b822b0bc728a0;hpb=48be9a9176ef8d3a81390d43769093d91e9d5227;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/trace.py b/src/bindings/python/bt2/bt2/trace.py index e893b2d2..7f98ac86 100644 --- a/src/bindings/python/bt2/bt2/trace.py +++ b/src/bindings/python/bt2/bt2/trace.py @@ -115,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) @@ -144,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: @@ -173,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):