lib: have dedicated "dynamic array FC with/without length field" types
[babeltrace.git] / src / bindings / python / bt2 / bt2 / __init__.py
CommitLineData
81447b5b
PP
1# The MIT License (MIT)
2#
811644b8 3# Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
81447b5b
PP
4#
5# Permission is hereby granted, free of charge, to any person obtaining a copy
6# of this software and associated documentation files (the "Software"), to deal
7# in the Software without restriction, including without limitation the rights
8# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9# copies of the Software, and to permit persons to whom the Software is
10# furnished to do so, subject to the following conditions:
11#
12# The above copyright notice and this permission notice shall be included in
13# all copies or substantial portions of the Software.
14#
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21# THE SOFTWARE.
22
79935628
SM
23import sys
24
3fb99a22 25# import all public names
5290f876 26from bt2.clock_class import ClockClassOffset
eddea575 27from bt2.clock_snapshot import _ClockSnapshotConst
5290f876 28from bt2.clock_snapshot import _UnknownClockSnapshot
615238be
FD
29from bt2.component import _SourceComponentClassConst
30from bt2.component import _FilterComponentClassConst
31from bt2.component import _SinkComponentClassConst
32from bt2.component import _SourceComponentConst
33from bt2.component import _FilterComponentConst
34from bt2.component import _SinkComponentConst
5290f876 35from bt2.component import _UserSourceComponent
811644b8
PP
36from bt2.component import _UserFilterComponent
37from bt2.component import _UserSinkComponent
f865c2aa 38from bt2.component_descriptor import ComponentDescriptor
5290f876
PP
39from bt2.error import ComponentClassType
40from bt2.error import _ErrorCause
41from bt2.error import _ComponentErrorCause
42from bt2.error import _ComponentClassErrorCause
43from bt2.error import _MessageIteratorErrorCause
694c792b 44from bt2.error import _Error
5290f876 45from bt2.event_class import EventClassLogLevel
aae30e61 46from bt2.field import _BoolField
ead8c3d4 47from bt2.field import _BitArrayField
5290f876
PP
48from bt2.field import _IntegerField
49from bt2.field import _UnsignedIntegerField
50from bt2.field import _SignedIntegerField
51from bt2.field import _RealField
fe4df857
FD
52from bt2.field import _SinglePrecisionRealField
53from bt2.field import _DoublePrecisionRealField
5290f876
PP
54from bt2.field import _EnumerationField
55from bt2.field import _UnsignedEnumerationField
56from bt2.field import _SignedEnumerationField
57from bt2.field import _StringField
58from bt2.field import _StructureField
cec0261d 59from bt2.field import _OptionField
5290f876
PP
60from bt2.field import _VariantField
61from bt2.field import _ArrayField
62from bt2.field import _StaticArrayField
63from bt2.field import _DynamicArrayField
f0a42b33
FD
64from bt2.field import _BoolFieldConst
65from bt2.field import _BitArrayFieldConst
66from bt2.field import _IntegerFieldConst
67from bt2.field import _UnsignedIntegerFieldConst
68from bt2.field import _SignedIntegerFieldConst
69from bt2.field import _RealFieldConst
fe4df857
FD
70from bt2.field import _SinglePrecisionRealFieldConst
71from bt2.field import _DoublePrecisionRealFieldConst
f0a42b33
FD
72from bt2.field import _EnumerationFieldConst
73from bt2.field import _UnsignedEnumerationFieldConst
74from bt2.field import _SignedEnumerationFieldConst
75from bt2.field import _StringFieldConst
76from bt2.field import _StructureFieldConst
77from bt2.field import _OptionFieldConst
78from bt2.field import _VariantFieldConst
79from bt2.field import _ArrayFieldConst
80from bt2.field import _StaticArrayFieldConst
81from bt2.field import _DynamicArrayFieldConst
5290f876 82from bt2.field_class import IntegerDisplayBase
aae30e61 83from bt2.field_class import _BoolFieldClass
ead8c3d4 84from bt2.field_class import _BitArrayFieldClass
5290f876
PP
85from bt2.field_class import _IntegerFieldClass
86from bt2.field_class import _UnsignedIntegerFieldClass
87from bt2.field_class import _SignedIntegerFieldClass
88from bt2.field_class import _RealFieldClass
89from bt2.field_class import _EnumerationFieldClass
90from bt2.field_class import _UnsignedEnumerationFieldClass
91from bt2.field_class import _SignedEnumerationFieldClass
92from bt2.field_class import _StringFieldClass
93from bt2.field_class import _StructureFieldClass
cec0261d 94from bt2.field_class import _OptionFieldClass
0aa006b7
PP
95from bt2.field_class import _OptionWithSelectorFieldClass
96from bt2.field_class import _OptionWithBoolSelectorFieldClass
97from bt2.field_class import _OptionWithIntegerSelectorFieldClass
98from bt2.field_class import _OptionWithUnsignedIntegerSelectorFieldClass
99from bt2.field_class import _OptionWithSignedIntegerSelectorFieldClass
5290f876
PP
100from bt2.field_class import _VariantFieldClass
101from bt2.field_class import _VariantFieldClassWithoutSelector
fabfe034
PP
102from bt2.field_class import _VariantFieldClassWithIntegerSelector
103from bt2.field_class import _VariantFieldClassWithUnsignedIntegerSelector
104from bt2.field_class import _VariantFieldClassWithSignedIntegerSelector
5290f876
PP
105from bt2.field_class import _ArrayFieldClass
106from bt2.field_class import _StaticArrayFieldClass
107from bt2.field_class import _DynamicArrayFieldClass
81b8fa44 108from bt2.field_class import _DynamicArrayWithLengthFieldFieldClass
f0a42b33
FD
109from bt2.field_class import _BoolFieldClassConst
110from bt2.field_class import _BitArrayFieldClassConst
111from bt2.field_class import _IntegerFieldClassConst
112from bt2.field_class import _UnsignedIntegerFieldClassConst
113from bt2.field_class import _SignedIntegerFieldClassConst
114from bt2.field_class import _RealFieldClassConst
115from bt2.field_class import _EnumerationFieldClassConst
116from bt2.field_class import _UnsignedEnumerationFieldClassConst
117from bt2.field_class import _SignedEnumerationFieldClassConst
118from bt2.field_class import _StringFieldClassConst
119from bt2.field_class import _StructureFieldClassConst
120from bt2.field_class import _OptionFieldClassConst
0aa006b7
PP
121from bt2.field_class import _OptionWithSelectorFieldClassConst
122from bt2.field_class import _OptionWithBoolSelectorFieldClassConst
123from bt2.field_class import _OptionWithIntegerSelectorFieldClassConst
124from bt2.field_class import _OptionWithUnsignedIntegerSelectorFieldClassConst
125from bt2.field_class import _OptionWithSignedIntegerSelectorFieldClassConst
f0a42b33
FD
126from bt2.field_class import _VariantFieldClassConst
127from bt2.field_class import _VariantFieldClassWithoutSelectorConst
fabfe034
PP
128from bt2.field_class import _VariantFieldClassWithIntegerSelectorConst
129from bt2.field_class import _VariantFieldClassWithUnsignedIntegerSelectorConst
130from bt2.field_class import _VariantFieldClassWithSignedIntegerSelectorConst
f0a42b33
FD
131from bt2.field_class import _ArrayFieldClassConst
132from bt2.field_class import _StaticArrayFieldClassConst
133from bt2.field_class import _DynamicArrayFieldClassConst
81b8fa44 134from bt2.field_class import _DynamicArrayWithLengthFieldFieldClassConst
e7ceb9df 135from bt2.field_path import FieldPathScope
5290f876
PP
136from bt2.field_path import _IndexFieldPathItem
137from bt2.field_path import _CurrentArrayElementFieldPathItem
cec0261d 138from bt2.field_path import _CurrentOptionContentFieldPathItem
5290f876
PP
139from bt2.graph import Graph
140from bt2.integer_range_set import SignedIntegerRange
141from bt2.integer_range_set import UnsignedIntegerRange
142from bt2.integer_range_set import SignedIntegerRangeSet
143from bt2.integer_range_set import UnsignedIntegerRangeSet
fc866000
FD
144from bt2.integer_range_set import _SignedIntegerRangeConst
145from bt2.integer_range_set import _UnsignedIntegerRangeConst
146from bt2.integer_range_set import _SignedIntegerRangeSetConst
147from bt2.integer_range_set import _UnsignedIntegerRangeSetConst
5290f876
PP
148from bt2.interrupter import Interrupter
149from bt2.logging import LoggingLevel
150from bt2.logging import get_minimal_logging_level
151from bt2.logging import get_global_logging_level
152from bt2.logging import set_global_logging_level
153from bt2.message import _EventMessage
154from bt2.message import _PacketBeginningMessage
155from bt2.message import _PacketEndMessage
156from bt2.message import _StreamBeginningMessage
157from bt2.message import _StreamEndMessage
158from bt2.message import _MessageIteratorInactivityMessage
5602ef81
SM
159from bt2.message import _DiscardedEventsMessage
160from bt2.message import _DiscardedPacketsMessage
f0a42b33
FD
161from bt2.message import _EventMessageConst
162from bt2.message import _PacketBeginningMessageConst
163from bt2.message import _PacketEndMessageConst
164from bt2.message import _StreamBeginningMessageConst
165from bt2.message import _StreamEndMessageConst
166from bt2.message import _MessageIteratorInactivityMessageConst
167from bt2.message import _DiscardedEventsMessageConst
168from bt2.message import _DiscardedPacketsMessageConst
5602ef81 169from bt2.message_iterator import _UserMessageIterator
f1f74173
PP
170from bt2.mip import get_greatest_operative_mip_version
171from bt2.mip import get_maximal_mip_version
5290f876
PP
172from bt2.plugin import find_plugins_in_path
173from bt2.plugin import find_plugins
174from bt2.plugin import find_plugin
175from bt2.py_plugin import plugin_component_class
176from bt2.py_plugin import register_plugin
177from bt2.query_executor import QueryExecutor
f3c9a159 178from bt2.trace_collection_message_iterator import AutoSourceComponentSpec
5290f876
PP
179from bt2.trace_collection_message_iterator import ComponentSpec
180from bt2.trace_collection_message_iterator import TraceCollectionMessageIterator
181from bt2.value import create_value
182from bt2.value import BoolValue
fdd3a2da 183from bt2.value import _IntegerValue
5290f876
PP
184from bt2.value import UnsignedIntegerValue
185from bt2.value import SignedIntegerValue
186from bt2.value import RealValue
187from bt2.value import StringValue
188from bt2.value import ArrayValue
189from bt2.value import MapValue
e42e1587
FD
190from bt2.value import _BoolValueConst
191from bt2.value import _IntegerValueConst
192from bt2.value import _UnsignedIntegerValueConst
193from bt2.value import _SignedIntegerValueConst
194from bt2.value import _RealValueConst
195from bt2.value import _StringValueConst
196from bt2.value import _ArrayValueConst
197from bt2.value import _MapValueConst
07041daf 198from bt2.version import __version__
81447b5b 199
79935628
SM
200if (sys.version_info.major, sys.version_info.minor) != (3, 4):
201
202 def _del_global_name(name):
203 if name in globals():
204 del globals()[name]
81447b5b 205
79935628
SM
206 # remove private module names from the package
207 _del_global_name('_native_bt')
208 _del_global_name('clock_class')
209 _del_global_name('clock_snapshot')
210 _del_global_name('component')
211 _del_global_name('connection')
212 _del_global_name('error')
213 _del_global_name('event')
214 _del_global_name('event_class')
215 _del_global_name('field')
216 _del_global_name('field_class')
217 _del_global_name('field_path')
218 _del_global_name('graph')
219 _del_global_name('integer_range_set')
220 _del_global_name('interrupter')
221 _del_global_name('logging')
222 _del_global_name('message')
223 _del_global_name('message_iterator')
224 _del_global_name('native_bt')
225 _del_global_name('object')
226 _del_global_name('packet')
227 _del_global_name('plugin')
228 _del_global_name('port')
229 _del_global_name('py_plugin')
230 _del_global_name('query_executor')
231 _del_global_name('stream')
232 _del_global_name('stream_class')
233 _del_global_name('trace')
234 _del_global_name('trace_class')
235 _del_global_name('trace_collection_message_iterator')
236 _del_global_name('utils')
237 _del_global_name('value')
238 _del_global_name('version')
3fb99a22 239
79935628
SM
240 # remove private `_del_global_name` name from the package
241 del _del_global_name
3fb99a22 242
3fb99a22 243
79935628
SM
244# remove sys module name from the package
245del sys
3fb99a22
PP
246
247
694c792b 248class _MemoryError(_Error):
4acc866e 249 '''Raised when an operation fails due to memory issues.'''
81447b5b
PP
250
251
76b6c2f7
SM
252class UnknownObject(Exception):
253 '''
254 Raised when a component class handles a query for an object it doesn't
255 know about.
256 '''
257
c7eee084
PP
258 pass
259
260
0ddaae90 261class _OverflowError(_Error, OverflowError):
81447b5b
PP
262 pass
263
264
d24d5663 265class TryAgain(Exception):
81447b5b
PP
266 pass
267
268
d24d5663
PP
269class Stop(StopIteration):
270 pass
271
272
cb06aa27 273class _IncompleteUserClass(Exception):
811644b8
PP
274 pass
275
276
0b03f63e 277def _init_and_register_exit():
3fb99a22 278 from bt2 import native_bt
0b03f63e
PP
279 import atexit
280
612a9870
PP
281 atexit.register(native_bt.bt2_exit_handler)
282 native_bt.bt2_init_from_bt2()
0b03f63e
PP
283
284
285_init_and_register_exit()
286
3fb99a22
PP
287# remove private `_init_and_register_exit` name from the package
288del _init_and_register_exit
This page took 0.063015 seconds and 4 git commands to generate.