bt2: pass custom Python object to Python component's __init__()
[babeltrace.git] / src / bindings / python / bt2 / bt2 / trace_collection_message_iterator.py
index f7b819d9af1c59c6579abd855fe5ca66f944a94f..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):
@@ -160,10 +166,10 @@ class TraceCollectionMessageIterator(bt2_message_iterator._MessageIterator):
         # query the port's component for the `babeltrace.trace-info`
         # object which contains the stream intersection range for each
         # exposed trace
-        query_exec = bt2.QueryExecutor()
-        trace_info_res = query_exec.query(
+        query_exec = bt2.QueryExecutor(
             src_comp_and_spec.comp.cls, 'babeltrace.trace-info', params
         )
+        trace_info_res = query_exec.query()
         begin = None
         end = None
 
@@ -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.024933 seconds and 4 git commands to generate.