Remove `skip-string-normalization` in Python formatter config
[babeltrace.git] / src / bindings / python / bt2 / bt2 / mip.py
CommitLineData
0235b0db 1# SPDX-License-Identifier: MIT
f1f74173
PP
2#
3# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
f1f74173 4
6a4dbecc 5from bt2 import native_bt, utils
f1f74173
PP
6import bt2
7
8
9def get_greatest_operative_mip_version(
10 component_descriptors, log_level=bt2.LoggingLevel.NONE
11):
12 utils._check_log_level(log_level)
13 comp_descr_set_ptr = native_bt.component_descriptor_set_create()
14
15 if comp_descr_set_ptr is None:
f5567ea8 16 raise bt2._MemoryError("cannot create component descriptor set object")
f1f74173
PP
17
18 if len(component_descriptors) == 0:
f5567ea8 19 raise ValueError("no component descriptors")
f1f74173
PP
20
21 try:
22 for descr in component_descriptors:
23 if type(descr) is not bt2.ComponentDescriptor:
24 raise TypeError("'{}' is not a component descriptor".format(descr))
25
26 base_cc_ptr = descr.component_class._bt_component_class_ptr()
27 params_ptr = None
28
29 if descr.params is not None:
30 params_ptr = descr.params._ptr
31
21a9f056 32 status = native_bt.bt2_component_descriptor_set_add_descriptor_with_initialize_method_data(
f1f74173
PP
33 comp_descr_set_ptr, base_cc_ptr, params_ptr, descr.obj
34 )
35 utils._handle_func_status(
f5567ea8 36 status, "cannot add descriptor to component descriptor set"
f1f74173
PP
37 )
38
39 status, version = native_bt.get_greatest_operative_mip_version(
40 comp_descr_set_ptr, log_level
41 )
42
43 if status == native_bt.__BT_FUNC_STATUS_NO_MATCH:
44 return None
45
f5567ea8 46 utils._handle_func_status(status, "cannot get greatest operative MIP version")
f1f74173
PP
47 return version
48 finally:
49 native_bt.component_descriptor_set_put_ref(comp_descr_set_ptr)
50
51
52def get_maximal_mip_version():
53 return native_bt.get_maximal_mip_version()
This page took 0.050315 seconds and 4 git commands to generate.