1 # SPDX-License-Identifier: MIT
3 # Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
7 from bt2
.mip
import get_maximal_mip_version
, get_greatest_operative_mip_version
8 from bt2
.error
import (
14 _ComponentClassErrorCause
,
15 _MessageIteratorErrorCause
,
17 from bt2
.field
import (
40 _UnsignedIntegerField
,
41 _EnumerationFieldConst
,
42 _StaticArrayFieldConst
,
43 _DynamicArrayFieldConst
,
44 _SignedEnumerationField
,
45 _SignedIntegerFieldConst
,
46 _DoublePrecisionRealField
,
47 _SinglePrecisionRealField
,
48 _UnsignedEnumerationField
,
49 _UnsignedIntegerFieldConst
,
50 _SignedEnumerationFieldConst
,
51 _DoublePrecisionRealFieldConst
,
52 _SinglePrecisionRealFieldConst
,
53 _UnsignedEnumerationFieldConst
,
55 from bt2
.graph
import Graph
56 from bt2
.utils
import Stop
, TryAgain
, UnknownObject
, _OverflowError
57 from bt2
.value
import (
73 _SignedIntegerValueConst
,
74 _UnsignedIntegerValueConst
,
76 from bt2
.plugin
import find_plugin
, find_plugins
, find_plugins_in_path
77 from bt2
.logging
import (
79 get_global_logging_level
,
80 set_global_logging_level
,
81 get_minimal_logging_level
,
83 from bt2
.message
import (
88 _PacketEndMessageConst
,
89 _StreamEndMessageConst
,
90 _DiscardedEventsMessage
,
91 _PacketBeginningMessage
,
92 _StreamBeginningMessage
,
93 _DiscardedPacketsMessage
,
94 _DiscardedEventsMessageConst
,
95 _PacketBeginningMessageConst
,
96 _StreamBeginningMessageConst
,
97 _DiscardedPacketsMessageConst
,
98 _MessageIteratorInactivityMessage
,
99 _MessageIteratorInactivityMessageConst
,
101 from bt2
.version
import __version__
102 from bt2
.component
import (
105 _IncompleteUserClass
,
106 _UserFilterComponent
,
107 _UserSourceComponent
,
108 _FilterComponentConst
,
109 _SourceComponentConst
,
110 _SinkComponentClassConst
,
111 _FilterComponentClassConst
,
112 _SourceComponentClassConst
,
114 from bt2
.py_plugin
import register_plugin
, plugin_component_class
115 from bt2
.field_path
import (
118 _CurrentArrayElementFieldPathItem
,
119 _CurrentOptionContentFieldPathItem
,
122 # import all public names
123 from bt2
.clock_class
import ClockClassOffset
124 from bt2
.event_class
import EventClassLogLevel
125 from bt2
.field_class
import (
135 _BoolFieldClassConst
,
136 _RealFieldClassConst
,
137 _StructureFieldClass
,
138 _ArrayFieldClassConst
,
139 _EnumerationFieldClass
,
140 _OptionFieldClassConst
,
141 _StaticArrayFieldClass
,
142 _StringFieldClassConst
,
143 _DynamicArrayFieldClass
,
144 _IntegerFieldClassConst
,
145 _VariantFieldClassConst
,
146 _BitArrayFieldClassConst
,
147 _SignedIntegerFieldClass
,
148 _StructureFieldClassConst
,
149 _UnsignedIntegerFieldClass
,
150 _EnumerationFieldClassConst
,
151 _StaticArrayFieldClassConst
,
152 _DynamicArrayFieldClassConst
,
153 _SignedEnumerationFieldClass
,
154 _OptionWithSelectorFieldClass
,
155 _SignedIntegerFieldClassConst
,
156 _UnsignedEnumerationFieldClass
,
157 _UnsignedIntegerFieldClassConst
,
158 _OptionWithBoolSelectorFieldClass
,
159 _SignedEnumerationFieldClassConst
,
160 _VariantFieldClassWithoutSelector
,
161 _OptionWithSelectorFieldClassConst
,
162 _UnsignedEnumerationFieldClassConst
,
163 _OptionWithIntegerSelectorFieldClass
,
164 _VariantFieldClassWithIntegerSelector
,
165 _DynamicArrayWithLengthFieldFieldClass
,
166 _OptionWithBoolSelectorFieldClassConst
,
167 _VariantFieldClassWithoutSelectorConst
,
168 _OptionWithIntegerSelectorFieldClassConst
,
169 _OptionWithSignedIntegerSelectorFieldClass
,
170 _VariantFieldClassWithIntegerSelectorConst
,
171 _DynamicArrayWithLengthFieldFieldClassConst
,
172 _VariantFieldClassWithSignedIntegerSelector
,
173 _OptionWithUnsignedIntegerSelectorFieldClass
,
174 _VariantFieldClassWithUnsignedIntegerSelector
,
175 _OptionWithSignedIntegerSelectorFieldClassConst
,
176 _VariantFieldClassWithSignedIntegerSelectorConst
,
177 _OptionWithUnsignedIntegerSelectorFieldClassConst
,
178 _VariantFieldClassWithUnsignedIntegerSelectorConst
,
180 from bt2
.interrupter
import Interrupter
181 from bt2
.clock_snapshot
import _ClockSnapshotConst
, _UnknownClockSnapshot
182 from bt2
.query_executor
import QueryExecutor
183 from bt2
.message_iterator
import _UserMessageIterator
184 from bt2
.integer_range_set
import (
186 UnsignedIntegerRange
,
187 SignedIntegerRangeSet
,
188 UnsignedIntegerRangeSet
,
189 _SignedIntegerRangeConst
,
190 _UnsignedIntegerRangeConst
,
191 _SignedIntegerRangeSetConst
,
192 _UnsignedIntegerRangeSetConst
,
194 from bt2
.component_descriptor
import ComponentDescriptor
195 from bt2
.trace_collection_message_iterator
import (
197 AutoSourceComponentSpec
,
198 TraceCollectionMessageIterator
,
201 if (sys
.version_info
.major
, sys
.version_info
.minor
) != (3, 4):
203 def _del_global_name(name
):
204 if name
in globals():
207 # remove private module names from the package
208 _del_global_name("_native_bt")
209 _del_global_name("clock_class")
210 _del_global_name("clock_snapshot")
211 _del_global_name("component")
212 _del_global_name("connection")
213 _del_global_name("error")
214 _del_global_name("event")
215 _del_global_name("event_class")
216 _del_global_name("field")
217 _del_global_name("field_class")
218 _del_global_name("field_path")
219 _del_global_name("graph")
220 _del_global_name("integer_range_set")
221 _del_global_name("interrupter")
222 _del_global_name("logging")
223 _del_global_name("message")
224 _del_global_name("message_iterator")
225 _del_global_name("native_bt")
226 _del_global_name("object")
227 _del_global_name("packet")
228 _del_global_name("plugin")
229 _del_global_name("port")
230 _del_global_name("py_plugin")
231 _del_global_name("query_executor")
232 _del_global_name("stream")
233 _del_global_name("stream_class")
234 _del_global_name("trace")
235 _del_global_name("trace_class")
236 _del_global_name("trace_collection_message_iterator")
237 _del_global_name("utils")
238 _del_global_name("value")
239 _del_global_name("version")
241 # remove private `_del_global_name` name from the package
245 # remove sys module name from the package
249 def _init_and_register_exit():
252 from bt2
import native_bt
254 atexit
.register(native_bt
.bt2_exit_handler
)
255 native_bt
.bt2_init_from_bt2()
258 _init_and_register_exit()
260 # remove private `_init_and_register_exit` name from the package
261 del _init_and_register_exit