bt2: pass custom Python object to Python component's __init__()
[babeltrace.git] / src / bindings / python / bt2 / bt2 / trace_collection_message_iterator.py
index fd579068e10abab6538c559fc80d546951158f4c..4e7361e7ee877e4df02b1e5e005f20c74df3cc25 100644 (file)
@@ -41,6 +41,7 @@ class ComponentSpec:
         plugin_name,
         class_name,
         params=None,
+        obj=None,
         logging_level=bt2_logging.LoggingLevel.NONE,
     ):
         utils._check_str(plugin_name)
@@ -49,6 +50,7 @@ class ComponentSpec:
         self._plugin_name = plugin_name
         self._class_name = class_name
         self._logging_level = logging_level
+        self._obj = obj
 
         if type(params) is str:
             self._params = bt2.create_value({'inputs': [params]})
@@ -71,6 +73,10 @@ class ComponentSpec:
     def params(self):
         return self._params
 
+    @property
+    def obj(self):
+        return self._obj
+
 
 # datetime.datetime or integral to nanoseconds
 def _get_ns(obj):
@@ -262,7 +268,7 @@ class TraceCollectionMessageIterator(bt2_message_iterator._MessageIterator):
         comp_cls = comp_classes[comp_spec.class_name]
         name = self._get_unique_comp_name(comp_spec)
         comp = self._graph.add_component(
-            comp_cls, name, comp_spec.params, comp_spec.logging_level
+            comp_cls, name, comp_spec.params, comp_spec.obj, comp_spec.logging_level
         )
         return comp
 
This page took 0.025021 seconds and 4 git commands to generate.