babeltrace2 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/babeltrace2.gemspec +13 -0
- data/lib/babeltrace2.rb +49 -0
- data/lib/babeltrace2/error-reporting.rb +432 -0
- data/lib/babeltrace2/func-status.rb +26 -0
- data/lib/babeltrace2/graph/component-class-dev.rb +801 -0
- data/lib/babeltrace2/graph/component-class.rb +134 -0
- data/lib/babeltrace2/graph/component-descriptor-set.rb +78 -0
- data/lib/babeltrace2/graph/component.rb +362 -0
- data/lib/babeltrace2/graph/connection.rb +35 -0
- data/lib/babeltrace2/graph/graph.rb +523 -0
- data/lib/babeltrace2/graph/interrupter.rb +57 -0
- data/lib/babeltrace2/graph/message-iterator-class.rb +374 -0
- data/lib/babeltrace2/graph/message-iterator.rb +253 -0
- data/lib/babeltrace2/graph/message.rb +721 -0
- data/lib/babeltrace2/graph/port.rb +124 -0
- data/lib/babeltrace2/graph/private-query-executor.rb +4 -0
- data/lib/babeltrace2/graph/query-executor.rb +142 -0
- data/lib/babeltrace2/graph/self-component-class.rb +37 -0
- data/lib/babeltrace2/graph/self-component-port.rb +35 -0
- data/lib/babeltrace2/graph/self-component.rb +264 -0
- data/lib/babeltrace2/graph/self-message-iterator.rb +147 -0
- data/lib/babeltrace2/integer-range-set.rb +275 -0
- data/lib/babeltrace2/logging-defs.rb +19 -0
- data/lib/babeltrace2/logging.rb +77 -0
- data/lib/babeltrace2/plugin/plugin-dev.rb +335 -0
- data/lib/babeltrace2/plugin/plugin-loading.rb +459 -0
- data/lib/babeltrace2/trace-ir/clock-class.rb +258 -0
- data/lib/babeltrace2/trace-ir/clock-snapshot.rb +45 -0
- data/lib/babeltrace2/trace-ir/event-class.rb +292 -0
- data/lib/babeltrace2/trace-ir/event.rb +91 -0
- data/lib/babeltrace2/trace-ir/field-class.rb +1416 -0
- data/lib/babeltrace2/trace-ir/field-path.rb +123 -0
- data/lib/babeltrace2/trace-ir/field.rb +871 -0
- data/lib/babeltrace2/trace-ir/packet.rb +57 -0
- data/lib/babeltrace2/trace-ir/stream-class.rb +425 -0
- data/lib/babeltrace2/trace-ir/stream.rb +137 -0
- data/lib/babeltrace2/trace-ir/trace-class.rb +343 -0
- data/lib/babeltrace2/trace-ir/trace.rb +321 -0
- data/lib/babeltrace2/types.rb +667 -0
- data/lib/babeltrace2/util.rb +23 -0
- data/lib/babeltrace2/value.rb +869 -0
- data/lib/babeltrace2/version.rb +126 -0
- metadata +105 -0
@@ -0,0 +1,321 @@
|
|
1
|
+
module Babeltrace2
|
2
|
+
|
3
|
+
attach_function :bt_trace_create,
|
4
|
+
[ :bt_trace_class_handle ],
|
5
|
+
:bt_trace_handle
|
6
|
+
|
7
|
+
attach_function :bt_trace_borrow_class,
|
8
|
+
[ :bt_trace_handle ],
|
9
|
+
:bt_trace_class_handle
|
10
|
+
|
11
|
+
attach_function :bt_trace_borrow_class_const,
|
12
|
+
[ :bt_trace_handle ],
|
13
|
+
:bt_trace_class_handle
|
14
|
+
|
15
|
+
attach_function :bt_trace_get_stream_count,
|
16
|
+
[ :bt_trace_handle ],
|
17
|
+
:uint64
|
18
|
+
|
19
|
+
attach_function :bt_trace_borrow_stream_by_index,
|
20
|
+
[ :bt_trace_handle, :uint64 ],
|
21
|
+
:bt_stream_handle
|
22
|
+
|
23
|
+
attach_function :bt_trace_borrow_stream_by_index_const,
|
24
|
+
[ :bt_trace_handle, :uint64 ],
|
25
|
+
:bt_stream_handle
|
26
|
+
|
27
|
+
attach_function :bt_trace_borrow_stream_by_id,
|
28
|
+
[ :bt_trace_handle, :uint64 ],
|
29
|
+
:bt_stream_handle
|
30
|
+
|
31
|
+
attach_function :bt_trace_borrow_stream_by_id_const,
|
32
|
+
[ :bt_trace_handle, :uint64 ],
|
33
|
+
:bt_stream_handle
|
34
|
+
|
35
|
+
attach_function :bt_trace_get_name,
|
36
|
+
[ :bt_trace_handle ],
|
37
|
+
:string
|
38
|
+
|
39
|
+
BT_TRACE_SET_NAME_STATUS_OK = BT_FUNC_STATUS_OK
|
40
|
+
BT_TRACE_SET_NAME_STATUS_MEMORY_ERROR = BT_FUNC_STATUS_MEMORY_ERROR
|
41
|
+
BTTraceSetNameStatus = enum :bt_trace_set_name_status,
|
42
|
+
[ :BT_TRACE_SET_NAME_STATUS_OK,
|
43
|
+
BT_TRACE_SET_NAME_STATUS_OK,
|
44
|
+
:BT_TRACE_SET_NAME_STATUS_MEMORY_ERROR,
|
45
|
+
BT_TRACE_SET_NAME_STATUS_MEMORY_ERROR ]
|
46
|
+
|
47
|
+
attach_function :bt_trace_set_name,
|
48
|
+
[ :bt_trace_handle, :string ],
|
49
|
+
:bt_trace_set_name_status
|
50
|
+
|
51
|
+
attach_function :bt_trace_set_uuid,
|
52
|
+
[ :bt_trace_handle, :bt_uuid ],
|
53
|
+
:void
|
54
|
+
|
55
|
+
attach_function :bt_trace_get_uuid,
|
56
|
+
[ :bt_trace_handle ],
|
57
|
+
:bt_uuid
|
58
|
+
|
59
|
+
BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK = BT_FUNC_STATUS_OK
|
60
|
+
BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_MEMORY_ERROR = BT_FUNC_STATUS_MEMORY_ERROR
|
61
|
+
BTTraceSetEnvironmentEntryStatus = enum :bt_trace_set_environment_entry_status,
|
62
|
+
[ :BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK,
|
63
|
+
BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK,
|
64
|
+
:BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_MEMORY_ERROR,
|
65
|
+
BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_MEMORY_ERROR ]
|
66
|
+
|
67
|
+
attach_function :bt_trace_set_environment_entry_integer,
|
68
|
+
[ :bt_trace_handle, :string, :int64 ],
|
69
|
+
:bt_trace_set_environment_entry_status
|
70
|
+
|
71
|
+
attach_function :bt_trace_set_environment_entry_string,
|
72
|
+
[ :bt_trace_handle, :string, :string ],
|
73
|
+
:bt_trace_set_environment_entry_status
|
74
|
+
|
75
|
+
attach_function :bt_trace_get_environment_entry_count,
|
76
|
+
[ :bt_trace_handle ],
|
77
|
+
:uint64
|
78
|
+
|
79
|
+
attach_function :bt_trace_borrow_environment_entry_by_index_const,
|
80
|
+
[ :bt_trace_handle, :uint64, :pointer, :pointer ],
|
81
|
+
:void
|
82
|
+
|
83
|
+
attach_function :bt_trace_borrow_environment_entry_value_by_name_const,
|
84
|
+
[ :bt_trace_handle, :string ],
|
85
|
+
:bt_value_handle
|
86
|
+
|
87
|
+
attach_function :bt_trace_set_user_attributes,
|
88
|
+
[ :bt_trace_handle, :bt_value_map_handle ],
|
89
|
+
:void
|
90
|
+
|
91
|
+
attach_function :bt_trace_borrow_user_attributes,
|
92
|
+
[ :bt_trace_handle ],
|
93
|
+
:bt_value_map_handle
|
94
|
+
|
95
|
+
attach_function :bt_trace_borrow_user_attributes_const,
|
96
|
+
[ :bt_trace_handle ],
|
97
|
+
:bt_value_map_handle
|
98
|
+
|
99
|
+
callback :bt_trace_destruction_listener_func,
|
100
|
+
[ :bt_trace_handle, :pointer],
|
101
|
+
:void
|
102
|
+
|
103
|
+
def self._wrap_trace_destruction_listener_func(method)
|
104
|
+
method_wrapper = lambda { |trace, user_data|
|
105
|
+
begin
|
106
|
+
method.call(BTTrace.new(trace,
|
107
|
+
retain: false, auto_release: false), user_data)
|
108
|
+
rescue Exception => e
|
109
|
+
puts e
|
110
|
+
end
|
111
|
+
}
|
112
|
+
method_wrapper
|
113
|
+
end
|
114
|
+
|
115
|
+
BT_TRACE_ADD_LISTENER_STATUS_OK = BT_FUNC_STATUS_OK
|
116
|
+
BT_TRACE_ADD_LISTENER_STATUS_MEMORY_ERROR = BT_FUNC_STATUS_MEMORY_ERROR
|
117
|
+
BTTraceAddListenerStatus = enum :bt_trace_add_listener_status,
|
118
|
+
[ :BT_TRACE_ADD_LISTENER_STATUS_OK,
|
119
|
+
BT_TRACE_ADD_LISTENER_STATUS_OK,
|
120
|
+
:BT_TRACE_ADD_LISTENER_STATUS_MEMORY_ERROR,
|
121
|
+
BT_TRACE_ADD_LISTENER_STATUS_MEMORY_ERROR ]
|
122
|
+
|
123
|
+
attach_function :bt_trace_add_destruction_listener,
|
124
|
+
[ :bt_trace_handle, :bt_trace_destruction_listener_func,
|
125
|
+
:pointer, :pointer ],
|
126
|
+
:bt_trace_add_listener_status
|
127
|
+
|
128
|
+
BT_TRACE_REMOVE_LISTENER_STATUS_OK = BT_FUNC_STATUS_OK
|
129
|
+
BT_TRACE_REMOVE_LISTENER_STATUS_MEMORY_ERROR = BT_FUNC_STATUS_MEMORY_ERROR
|
130
|
+
BTTraceRemoveListenerStatus = enum :bt_trace_remove_listener_status,
|
131
|
+
[ :BT_TRACE_REMOVE_LISTENER_STATUS_OK,
|
132
|
+
BT_TRACE_REMOVE_LISTENER_STATUS_OK,
|
133
|
+
:BT_TRACE_REMOVE_LISTENER_STATUS_MEMORY_ERROR,
|
134
|
+
BT_TRACE_REMOVE_LISTENER_STATUS_MEMORY_ERROR ]
|
135
|
+
|
136
|
+
attach_function :bt_trace_remove_destruction_listener,
|
137
|
+
[ :bt_trace_handle, :bt_listener_id ],
|
138
|
+
:bt_trace_remove_listener_status
|
139
|
+
|
140
|
+
attach_function :bt_trace_get_ref,
|
141
|
+
[ :bt_trace_handle ],
|
142
|
+
:void
|
143
|
+
|
144
|
+
attach_function :bt_trace_put_ref,
|
145
|
+
[ :bt_trace_handle ],
|
146
|
+
:void
|
147
|
+
|
148
|
+
class BTTrace < BTSharedObject
|
149
|
+
SetNameStatus = BTTraceSetNameStatus
|
150
|
+
SetEnvironmentEntryStatus = BTTraceSetEnvironmentEntryStatus
|
151
|
+
AddListenerStatus = BTTraceAddListenerStatus
|
152
|
+
RemoveListenerStatus = BTTraceRemoveListenerStatus
|
153
|
+
@get_ref = :bt_trace_get_ref
|
154
|
+
@put_ref = :bt_trace_put_ref
|
155
|
+
|
156
|
+
def initialize(handle = nil, retain: true, auto_release: true,
|
157
|
+
trace_class: nil)
|
158
|
+
if(handle)
|
159
|
+
super(handle, retain: retain, auto_release: auto_release)
|
160
|
+
else
|
161
|
+
handle = Babeltrace2.bt_trace_create(trace_class)
|
162
|
+
raise Babeltrace2.process_error if handle.null?
|
163
|
+
super(handle, retain: false)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
def get_class
|
168
|
+
BTTraceClass.new(
|
169
|
+
Babeltrace2.bt_trace_borrow_class(@handle), retain: true)
|
170
|
+
end
|
171
|
+
|
172
|
+
def get_stream_count
|
173
|
+
Babeltrace2.bt_trace_get_stream_count(@handle)
|
174
|
+
end
|
175
|
+
alias stream_count get_stream_count
|
176
|
+
|
177
|
+
def get_stream_by_index(index)
|
178
|
+
return nil if index >= get_stream_count
|
179
|
+
BTStream.new(
|
180
|
+
Babeltrace2.bt_trace_borrow_stream_by_index(@handle, index), retain: true)
|
181
|
+
end
|
182
|
+
|
183
|
+
def get_stream_by_id(id)
|
184
|
+
handle = Babeltrace2.bt_trace_borrow_stream_by_id(@handle, id)
|
185
|
+
return nil if handle.null?
|
186
|
+
BTStream.new(handle, retain: true)
|
187
|
+
end
|
188
|
+
|
189
|
+
def set_name(name)
|
190
|
+
res = Babeltrace2.bt_trace_set_name(@handle, name)
|
191
|
+
raise Babeltrace2.process_error(res) if res != :BT_TRACE_SET_NAME_STATUS_OK
|
192
|
+
self
|
193
|
+
end
|
194
|
+
|
195
|
+
def name=(name)
|
196
|
+
set_name(name)
|
197
|
+
name
|
198
|
+
end
|
199
|
+
|
200
|
+
def get_name
|
201
|
+
Babeltrace2.bt_trace_get_name(@handle)
|
202
|
+
end
|
203
|
+
alias name get_name
|
204
|
+
|
205
|
+
def set_uuid(uuid)
|
206
|
+
Babeltrace2.bt_trace_set_uuid(@handle, uuid)
|
207
|
+
self
|
208
|
+
end
|
209
|
+
|
210
|
+
def uuid=(uuid)
|
211
|
+
set_uuid(uuid)
|
212
|
+
uuid
|
213
|
+
end
|
214
|
+
|
215
|
+
def get_uuid
|
216
|
+
uuid = Babeltrace2.bt_trace_get_uuid(@handle)
|
217
|
+
return nil if uuid.null?
|
218
|
+
uuid
|
219
|
+
end
|
220
|
+
alias uuid get_uuid
|
221
|
+
|
222
|
+
def set_environment_entry_integer(name, value)
|
223
|
+
res = Babeltrace2.bt_trace_set_environment_entry_integer(@handle, name, value)
|
224
|
+
raise Babeltrace2.process_error(res) if res != :BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK
|
225
|
+
self
|
226
|
+
end
|
227
|
+
|
228
|
+
def set_environment_entry_string(name, value)
|
229
|
+
res = Babeltrace2.bt_trace_set_environment_entry_string(@handle, name, value)
|
230
|
+
raise Babeltrace2.process_error(res) if res != :BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK
|
231
|
+
self
|
232
|
+
end
|
233
|
+
|
234
|
+
def get_environment_entry_count
|
235
|
+
Babeltrace2.bt_trace_get_environment_entry_count(@handle)
|
236
|
+
end
|
237
|
+
alias environment_entry_count get_environment_entry_count
|
238
|
+
|
239
|
+
def get_environement_entry_by_index(index)
|
240
|
+
return nil if index >= get_environment_entry_count
|
241
|
+
ptr1 = FFI::MemoryPointer.new(:pointer)
|
242
|
+
ptr2 = FFI::MemoryPointer.new(:pointer)
|
243
|
+
Babeltrace2.bt_trace_borrow_environment_entry_by_index_const(
|
244
|
+
@handle, index, ptr1, ptr2)
|
245
|
+
name = ptr1.read_pointer.read_string
|
246
|
+
value = BTValue.from_handle(BTValueHandle.new(ptr2.read_pointer))
|
247
|
+
return [name, value]
|
248
|
+
end
|
249
|
+
|
250
|
+
def get_environment_entry_value_by_name(name)
|
251
|
+
handle = Babeltrace2.bt_trace_borrow_environment_entry_value_by_name_const(
|
252
|
+
@handle, name)
|
253
|
+
return nil if handle.null?
|
254
|
+
BTValue.from_handle(handle)
|
255
|
+
end
|
256
|
+
|
257
|
+
def get_environment
|
258
|
+
get_environment_entry_count.times.collect { |index|
|
259
|
+
get_environement_entry_by_index(index)
|
260
|
+
}.collect { |name, value| [name, value.value] }.to_h
|
261
|
+
end
|
262
|
+
alias environment get_environment
|
263
|
+
|
264
|
+
def set_environement(hash)
|
265
|
+
hash.each { |k, v|
|
266
|
+
case v
|
267
|
+
when String
|
268
|
+
set_environment_entry_string(k, v)
|
269
|
+
when Integer
|
270
|
+
set_environment_entry_integer(k, v)
|
271
|
+
else
|
272
|
+
raise "invalid value type"
|
273
|
+
end
|
274
|
+
}
|
275
|
+
self
|
276
|
+
end
|
277
|
+
|
278
|
+
def environment=(hash)
|
279
|
+
set_environement(hash)
|
280
|
+
hash
|
281
|
+
end
|
282
|
+
|
283
|
+
def set_user_attributes(user_attributes)
|
284
|
+
Babeltrace2.bt_trace_set_user_attributes(@handle, BTValue.from_value(user_attributes))
|
285
|
+
self
|
286
|
+
end
|
287
|
+
|
288
|
+
def user_attributes=(user_attributes)
|
289
|
+
set_user_attributes(user_attributes)
|
290
|
+
user_attributes
|
291
|
+
end
|
292
|
+
|
293
|
+
def get_user_attributes
|
294
|
+
BTValueMap.new(Babeltrace2.bt_trace_borrow_user_attributes(@handle), retain: true)
|
295
|
+
end
|
296
|
+
alias user_attributes get_user_attributes
|
297
|
+
|
298
|
+
def add_destruction_listener(user_func, user_data: nil)
|
299
|
+
user_func = Babeltrace2._wrap_trace_destruction_listener_func(user_func)
|
300
|
+
id = @handle.to_i
|
301
|
+
ptr = FFI::MemoryPointer.new(:uint64)
|
302
|
+
res = Babeltrace2.bt_trace_add_destruction_listener(@handle, user_func, user_data, ptr)
|
303
|
+
raise Babeltrace2.process_error(res) if res != :BT_TRACE_ADD_LISTENER_STATUS_OK
|
304
|
+
listener_id = ptr.read_uint64
|
305
|
+
h = Babeltrace2._callbacks[id][:destruction_listener_funcs]
|
306
|
+
if h.nil?
|
307
|
+
h = {}
|
308
|
+
Babeltrace2._callbacks[id][:destruction_listener_funcs] = h
|
309
|
+
end
|
310
|
+
h[listener_id] = [user_func, user_data]
|
311
|
+
listener_id
|
312
|
+
end
|
313
|
+
|
314
|
+
def remove_destruction_listener(listener_id)
|
315
|
+
res = Babeltrace2.bt_trace_remove_destruction_listener(@handle, listener_id)
|
316
|
+
raise Babeltrace2.process_error(res) if res != :BT_TRACE_REMOVE_LISTENER_STATUS_OK
|
317
|
+
Babeltrace2._callbacks[@handle.to_i][:destruction_listener_funcs].delete(listener_id)
|
318
|
+
self
|
319
|
+
end
|
320
|
+
end
|
321
|
+
end
|
@@ -0,0 +1,667 @@
|
|
1
|
+
module Babeltrace2
|
2
|
+
|
3
|
+
class BTHandle < FFI::Pointer
|
4
|
+
extend FFI::DataConverter
|
5
|
+
class << self
|
6
|
+
def native_type
|
7
|
+
FFI::Type::POINTER
|
8
|
+
end
|
9
|
+
|
10
|
+
def from_native(value, context)
|
11
|
+
new(value) #value.null? ? nil : new(value)
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_native(value, context)
|
15
|
+
unless value.nil?
|
16
|
+
p = value.to_ptr
|
17
|
+
raise "invalid type #{p.class}, expected #{self}" unless p.kind_of?(self)
|
18
|
+
p
|
19
|
+
else
|
20
|
+
nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class BTClockClassHandle < BTHandle; end
|
27
|
+
typedef BTClockClassHandle, :bt_clock_class_handle
|
28
|
+
|
29
|
+
class BTClockSnapshotHandle < BTHandle; end
|
30
|
+
typedef BTClockSnapshotHandle, :bt_clock_snapshot_handle
|
31
|
+
|
32
|
+
class BTComponentClassHandle < BTHandle; end
|
33
|
+
typedef BTComponentClassHandle, :bt_component_class_handle
|
34
|
+
|
35
|
+
class BTComponentClassFilterHandle < BTComponentClassHandle; end
|
36
|
+
typedef BTComponentClassFilterHandle, :bt_component_class_filter_handle
|
37
|
+
|
38
|
+
class BTComponentClassSinkHandle < BTComponentClassHandle; end
|
39
|
+
typedef BTComponentClassSinkHandle, :bt_component_class_sink_handle
|
40
|
+
|
41
|
+
class BTComponentClassSourceHandle < BTComponentClassHandle; end
|
42
|
+
typedef BTComponentClassSourceHandle, :bt_component_class_source_handle
|
43
|
+
|
44
|
+
class BTComponentDescriptorSetHandle < BTHandle; end
|
45
|
+
typedef BTComponentDescriptorSetHandle, :bt_component_descriptor_set_handle
|
46
|
+
|
47
|
+
class BTComponentHandle < BTHandle; end
|
48
|
+
typedef BTComponentHandle, :bt_component_handle
|
49
|
+
|
50
|
+
class BTComponentFilterHandle < BTComponentHandle; end
|
51
|
+
typedef BTComponentFilterHandle, :bt_component_filter_handle
|
52
|
+
|
53
|
+
class BTComponentSinkHandle < BTComponentHandle; end
|
54
|
+
typedef BTComponentSinkHandle, :bt_component_sink_handle
|
55
|
+
|
56
|
+
class BTComponentSourceHandle < BTComponentHandle; end
|
57
|
+
typedef BTComponentSourceHandle, :bt_component_source_handle
|
58
|
+
|
59
|
+
class BTConnectionHandle < BTHandle; end
|
60
|
+
typedef BTConnectionHandle, :bt_connection_handle
|
61
|
+
|
62
|
+
class BTErrorHandle < BTHandle; end
|
63
|
+
typedef BTErrorHandle, :bt_error_handle
|
64
|
+
|
65
|
+
class BTErrorCauseHandle < BTHandle; end
|
66
|
+
typedef BTErrorCauseHandle, :bt_error_cause_handle
|
67
|
+
|
68
|
+
class BTEventHandle < BTHandle; end
|
69
|
+
typedef BTEventHandle, :bt_event_handle
|
70
|
+
|
71
|
+
class BTEventClassHandle < BTHandle; end
|
72
|
+
typedef BTEventClassHandle, :bt_event_class_handle
|
73
|
+
|
74
|
+
class BTEventHeaderFieldHandle < BTHandle; end
|
75
|
+
typedef BTEventHeaderFieldHandle, :bt_event_header_field_handle
|
76
|
+
|
77
|
+
class BTFieldHandle < BTHandle; end
|
78
|
+
typedef BTFieldHandle, :bt_field_handle
|
79
|
+
|
80
|
+
class BTFieldClassHandle < BTHandle; end
|
81
|
+
typedef BTFieldClassHandle, :bt_field_class_handle
|
82
|
+
|
83
|
+
class BTFieldClassEnumerationMappingHandle < BTHandle; end
|
84
|
+
typedef BTFieldClassEnumerationMappingHandle,
|
85
|
+
:bt_field_class_enumeration_mapping_handle
|
86
|
+
|
87
|
+
class BTFieldClassEnumerationSignedMappingHandle <
|
88
|
+
BTFieldClassEnumerationMappingHandle; end
|
89
|
+
typedef BTFieldClassEnumerationSignedMappingHandle,
|
90
|
+
:bt_field_class_enumeration_signed_mapping_handle
|
91
|
+
|
92
|
+
class BTFieldClassEnumerationUnsignedMappingHandle <
|
93
|
+
BTFieldClassEnumerationMappingHandle; end
|
94
|
+
typedef BTFieldClassEnumerationUnsignedMappingHandle,
|
95
|
+
:bt_field_class_enumeration_unsigned_mapping_handle
|
96
|
+
|
97
|
+
class BTFieldClassStructureMemberHandle < BTHandle; end
|
98
|
+
typedef BTFieldClassStructureMemberHandle, :bt_field_class_structure_member_handle
|
99
|
+
|
100
|
+
class BTFieldClassVariantOptionHandle < BTHandle; end
|
101
|
+
typedef BTFieldClassVariantOptionHandle, :bt_field_class_variant_option_handle
|
102
|
+
|
103
|
+
class BTFieldClassVariantWithSelectorFieldIntegerSignedOptionHandle <
|
104
|
+
BTFieldClassVariantOptionHandle; end
|
105
|
+
typedef BTFieldClassVariantWithSelectorFieldIntegerSignedOptionHandle,
|
106
|
+
:bt_field_class_variant_with_selector_field_integer_signed_option_handle
|
107
|
+
|
108
|
+
class BTFieldClassVariantWithSelectorFieldIntegerUnsignedOptionHandle <
|
109
|
+
BTFieldClassVariantOptionHandle; end
|
110
|
+
typedef BTFieldClassVariantWithSelectorFieldIntegerUnsignedOptionHandle,
|
111
|
+
:bt_field_class_variant_with_selector_field_integer_unsigned_option_handle
|
112
|
+
|
113
|
+
class BTFieldPathHandle < BTHandle; end
|
114
|
+
typedef BTFieldPathHandle, :bt_field_path_handle
|
115
|
+
|
116
|
+
class BTFieldPathItemHandle < BTHandle; end
|
117
|
+
typedef BTFieldPathItemHandle, :bt_field_path_item_handle
|
118
|
+
|
119
|
+
class BTGraphHandle < BTHandle; end
|
120
|
+
typedef BTGraphHandle, :bt_graph_handle
|
121
|
+
|
122
|
+
class BTIntegerRangeSetHandle < BTHandle; end
|
123
|
+
typedef BTIntegerRangeSetHandle, :bt_integer_range_set_handle
|
124
|
+
|
125
|
+
class BTIntegerRangeSetSignedHandle < BTIntegerRangeSetHandle; end
|
126
|
+
typedef BTIntegerRangeSetSignedHandle, :bt_integer_range_set_signed_handle
|
127
|
+
|
128
|
+
class BTIntegerRangeSetUnsignedHandle < BTIntegerRangeSetHandle; end
|
129
|
+
typedef BTIntegerRangeSetUnsignedHandle, :bt_integer_range_set_unsigned_handle
|
130
|
+
|
131
|
+
class BTIntegerRangeSignedHandle < BTHandle; end
|
132
|
+
typedef BTIntegerRangeSignedHandle, :bt_integer_range_signed_handle
|
133
|
+
|
134
|
+
class BTIntegerRangeUnsignedHandle < BTHandle; end
|
135
|
+
typedef BTIntegerRangeUnsignedHandle, :bt_integer_range_unsigned_handle
|
136
|
+
|
137
|
+
class BTInterrupterHandle < BTHandle; end
|
138
|
+
typedef BTInterrupterHandle, :bt_interrupter_handle
|
139
|
+
|
140
|
+
class BTMessageHandle < BTHandle; end
|
141
|
+
typedef BTMessageHandle, :bt_message_handle
|
142
|
+
|
143
|
+
class BTMessageIteratorHandle < BTHandle; end
|
144
|
+
typedef BTMessageIteratorHandle, :bt_message_iterator_handle
|
145
|
+
|
146
|
+
class BTMessageIteratorClassHandle < BTHandle; end
|
147
|
+
typedef BTMessageIteratorClassHandle, :bt_message_iterator_class_handle
|
148
|
+
|
149
|
+
class BTObjectHandle < BTHandle; end
|
150
|
+
typedef BTObjectHandle, :bt_object_handle
|
151
|
+
|
152
|
+
class BTPacketHandle < BTHandle; end
|
153
|
+
typedef BTPacketHandle, :bt_packet_handle
|
154
|
+
|
155
|
+
class BTPortHandle < BTHandle; end
|
156
|
+
typedef BTPortHandle, :bt_port_handle
|
157
|
+
|
158
|
+
class BTPortInputHandle < BTPortHandle; end
|
159
|
+
typedef BTPortInputHandle, :bt_port_input_handle
|
160
|
+
|
161
|
+
class BTPortOutputHandle < BTPortHandle; end
|
162
|
+
typedef BTPortOutputHandle, :bt_port_output_handle
|
163
|
+
|
164
|
+
class BTPortOutputMessageIteratorHandle < BTMessageIteratorHandle; end
|
165
|
+
typedef BTPortOutputMessageIteratorHandle, :bt_port_output_message_iterator_handle
|
166
|
+
|
167
|
+
class BTQueryExecutorHandle < BTHandle; end
|
168
|
+
typedef BTQueryExecutorHandle, :bt_query_executor_handle
|
169
|
+
|
170
|
+
class BTPrivateQueryExecutorHandle < BTQueryExecutorHandle; end
|
171
|
+
typedef BTPrivateQueryExecutorHandle, :bt_private_query_executor_handle
|
172
|
+
|
173
|
+
module BTSelfComponentHandle; end
|
174
|
+
class BTSelfComponentHandleCls < BTComponentHandle
|
175
|
+
include BTSelfComponentHandle
|
176
|
+
class << self
|
177
|
+
def to_native(value, context)
|
178
|
+
unless value.nil?
|
179
|
+
p = value.to_ptr
|
180
|
+
raise "invalid type #{p.class}, expected #{BTSelfComponentHandle}" unless p.kind_of?(BTSelfComponentHandle)
|
181
|
+
p
|
182
|
+
else
|
183
|
+
nil
|
184
|
+
end
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
typedef BTSelfComponentHandleCls, :bt_self_component_handle
|
189
|
+
|
190
|
+
class BTSelfComponentFilterHandle < BTComponentFilterHandle
|
191
|
+
include BTSelfComponentHandle
|
192
|
+
end
|
193
|
+
typedef BTSelfComponentFilterHandle, :bt_self_component_filter_handle
|
194
|
+
|
195
|
+
class BTSelfComponentFilterConfigurationHandle < BTHandle; end
|
196
|
+
typedef BTSelfComponentFilterConfigurationHandle,
|
197
|
+
:bt_self_component_filter_configuration_handle
|
198
|
+
|
199
|
+
class BTSelfComponentSinkHandle < BTComponentSinkHandle
|
200
|
+
include BTSelfComponentHandle
|
201
|
+
end
|
202
|
+
typedef BTSelfComponentSinkHandle, :bt_self_component_sink_handle
|
203
|
+
|
204
|
+
class BTSelfComponentSinkConfigurationHandle < BTHandle; end
|
205
|
+
typedef BTSelfComponentSinkConfigurationHandle,
|
206
|
+
:bt_self_component_sink_configuration_handle
|
207
|
+
|
208
|
+
class BTSelfComponentSourceHandle < BTComponentSourceHandle
|
209
|
+
include BTSelfComponentHandle
|
210
|
+
end
|
211
|
+
typedef BTSelfComponentSourceHandle, :bt_self_component_source_handle
|
212
|
+
|
213
|
+
class BTSelfComponentSourceConfigurationHandle < BTHandle; end
|
214
|
+
typedef BTSelfComponentSourceConfigurationHandle,
|
215
|
+
:bt_self_component_source_configuration_handle
|
216
|
+
|
217
|
+
module BTSelfComponentClassHandle; end
|
218
|
+
class BTSelfComponentClassHandleCls < BTComponentClassHandle
|
219
|
+
include BTSelfComponentClassHandle
|
220
|
+
class << self
|
221
|
+
def to_native(value, context)
|
222
|
+
unless value.nil?
|
223
|
+
p = value.to_ptr
|
224
|
+
raise "invalid type #{p.class}, expected #{BTSelfComponentClassHandle}" unless p.kind_of?(BTSelfComponentClassHandle)
|
225
|
+
p
|
226
|
+
else
|
227
|
+
nil
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
231
|
+
end
|
232
|
+
typedef BTSelfComponentClassHandleCls,
|
233
|
+
:bt_self_component_class_handle
|
234
|
+
|
235
|
+
class BTSelfComponentClassFilterHandle < BTComponentClassFilterHandle
|
236
|
+
include BTSelfComponentClassHandle
|
237
|
+
end
|
238
|
+
typedef BTSelfComponentClassFilterHandle,
|
239
|
+
:bt_self_component_class_filter_handle
|
240
|
+
|
241
|
+
class BTSelfComponentClassSinkHandle < BTComponentClassSinkHandle
|
242
|
+
include BTSelfComponentClassHandle
|
243
|
+
end
|
244
|
+
typedef BTSelfComponentClassSinkHandle,
|
245
|
+
:bt_self_component_class_sink_handle
|
246
|
+
|
247
|
+
class BTSelfComponentClassSourceHandle < BTComponentClassSourceHandle
|
248
|
+
include BTSelfComponentClassHandle
|
249
|
+
end
|
250
|
+
typedef BTSelfComponentClassSourceHandle,
|
251
|
+
:bt_self_component_class_source_handle
|
252
|
+
|
253
|
+
module BTSelfComponentPortHandle; end
|
254
|
+
class BTSelfComponentPortHandleCls < BTPortHandle
|
255
|
+
include BTSelfComponentPortHandle
|
256
|
+
class << self
|
257
|
+
def to_native(value, context)
|
258
|
+
unless value.nil?
|
259
|
+
p = value.to_ptr
|
260
|
+
raise "invalid type #{p.class}, expected #{BTSelfComponentPortHandle}" unless p.kind_of?(BTSelfComponentPortHandle)
|
261
|
+
p
|
262
|
+
else
|
263
|
+
nil
|
264
|
+
end
|
265
|
+
end
|
266
|
+
end
|
267
|
+
end
|
268
|
+
typedef BTSelfComponentPortHandleCls, :bt_self_component_port_handle
|
269
|
+
|
270
|
+
class BTSelfComponentPortInputHandle < BTPortInputHandle
|
271
|
+
include BTSelfComponentPortHandle
|
272
|
+
end
|
273
|
+
typedef BTSelfComponentPortInputHandle, :bt_self_component_port_input_handle
|
274
|
+
|
275
|
+
class BTSelfComponentPortOutputHandle < BTPortOutputHandle
|
276
|
+
include BTSelfComponentPortHandle
|
277
|
+
end
|
278
|
+
typedef BTSelfComponentPortOutputHandle, :bt_self_component_port_output_handle
|
279
|
+
|
280
|
+
class BTMessageIteratorHandle < BTHandle; end
|
281
|
+
typedef BTMessageIteratorHandle, :bt_message_iterator_handle
|
282
|
+
|
283
|
+
class BTSelfMessageIteratorHandle < BTMessageIteratorHandle; end
|
284
|
+
typedef BTSelfMessageIteratorHandle, :bt_self_message_iterator_handle
|
285
|
+
|
286
|
+
class BTSelfMessageIteratorConfigurationHandle < BTHandle; end
|
287
|
+
typedef BTSelfMessageIteratorConfigurationHandle, :bt_self_message_iterator_configuration_handle
|
288
|
+
|
289
|
+
class BTPluginHandle < BTHandle; end
|
290
|
+
typedef BTPluginHandle, :bt_plugin_handle
|
291
|
+
|
292
|
+
class BTPluginSetHandle < BTHandle; end
|
293
|
+
typedef BTPluginSetHandle, :bt_plugin_set_handle
|
294
|
+
|
295
|
+
class BTPluginSoSharedLibHandleHandle < BTHandle; end
|
296
|
+
typedef BTPluginSoSharedLibHandleHandle, :bt_plugin_so_shared_lib_handle_handle
|
297
|
+
|
298
|
+
class BTSelfPluginHandle < BTPluginHandle; end
|
299
|
+
typedef BTSelfPluginHandle, :bt_self_plugin_handle
|
300
|
+
|
301
|
+
class BTStreamHandle < BTHandle; end
|
302
|
+
typedef BTStreamHandle, :bt_stream_handle
|
303
|
+
|
304
|
+
class BTStreamClassHandle < BTHandle; end
|
305
|
+
typedef BTStreamClassHandle, :bt_stream_class_handle
|
306
|
+
|
307
|
+
class BTTraceHandle < BTHandle; end
|
308
|
+
typedef BTTraceHandle, :bt_trace_handle
|
309
|
+
|
310
|
+
class BTTraceClassHandle < BTHandle; end
|
311
|
+
typedef BTTraceClassHandle, :bt_trace_class_handle
|
312
|
+
|
313
|
+
class BTValueHandle < BTHandle; end
|
314
|
+
typedef BTValueHandle, :bt_value_handle
|
315
|
+
|
316
|
+
# Additional types for type checking
|
317
|
+
class BTValueNullHandle < BTValueHandle; end
|
318
|
+
typedef BTValueNullHandle, :bt_value_null_handle
|
319
|
+
|
320
|
+
class BTValueBoolHandle < BTValueHandle; end
|
321
|
+
typedef BTValueBoolHandle, :bt_value_bool_handle
|
322
|
+
|
323
|
+
class BTValueIntegerHandle < BTValueHandle; end
|
324
|
+
typedef BTValueIntegerHandle, :bt_value_integer_handle
|
325
|
+
|
326
|
+
class BTValueIntegerUnsignedHandle < BTValueIntegerHandle; end
|
327
|
+
typedef BTValueIntegerUnsignedHandle, :bt_value_integer_unsigned_handle
|
328
|
+
|
329
|
+
class BTValueIntegerSignedHandle < BTValueIntegerHandle; end
|
330
|
+
typedef BTValueIntegerSignedHandle, :bt_value_integer_signed_handle
|
331
|
+
|
332
|
+
class BTValueRealHandle < BTValueHandle; end
|
333
|
+
typedef BTValueRealHandle, :bt_value_real_handle
|
334
|
+
|
335
|
+
class BTValueStringHandle < BTValueHandle; end
|
336
|
+
typedef BTValueStringHandle, :bt_value_string_handle
|
337
|
+
|
338
|
+
class BTValueArrayHandle < BTValueHandle; end
|
339
|
+
typedef BTValueArrayHandle, :bt_value_array_handle
|
340
|
+
|
341
|
+
class BTValueMapHandle < BTValueHandle; end
|
342
|
+
typedef BTValueMapHandle, :bt_value_map_handle
|
343
|
+
|
344
|
+
class BTFieldClassBoolHandle < BTFieldClassHandle; end
|
345
|
+
typedef BTFieldClassBoolHandle, :bt_field_class_bool_handle
|
346
|
+
|
347
|
+
class BTFieldBoolHandle < BTFieldHandle; end
|
348
|
+
typedef BTFieldBoolHandle, :bt_field_bool_handle
|
349
|
+
|
350
|
+
class BTFieldClassBitArrayHandle < BTFieldClassHandle; end
|
351
|
+
typedef BTFieldClassBitArrayHandle, :bt_field_class_bit_array_handle
|
352
|
+
|
353
|
+
class BTFieldBitArrayHandle < BTFieldHandle; end
|
354
|
+
typedef BTFieldBitArrayHandle, :bt_field_bit_array_handle
|
355
|
+
|
356
|
+
class BTFieldClassIntegerHandle < BTFieldClassHandle; end
|
357
|
+
typedef BTFieldClassIntegerHandle, :bt_field_class_integer_handle
|
358
|
+
|
359
|
+
class BTFieldIntegerHandle < BTFieldHandle; end
|
360
|
+
typedef BTFieldIntegerHandle, :bt_field_integer_handle
|
361
|
+
|
362
|
+
class BTFieldClassIntegerUnsignedHandle < BTFieldClassIntegerHandle; end
|
363
|
+
typedef BTFieldClassIntegerUnsignedHandle, :bt_field_class_integer_unsigned_handle
|
364
|
+
|
365
|
+
class BTFieldIntegerUnsignedHandle < BTFieldIntegerHandle; end
|
366
|
+
typedef BTFieldIntegerUnsignedHandle, :bt_field_integer_unsigned_handle
|
367
|
+
|
368
|
+
class BTFieldClassIntegerSignedHandle < BTFieldClassIntegerHandle; end
|
369
|
+
typedef BTFieldClassIntegerSignedHandle, :bt_field_class_integer_signed_handle
|
370
|
+
|
371
|
+
class BTFieldIntegerSignedHandle < BTFieldIntegerHandle; end
|
372
|
+
typedef BTFieldIntegerSignedHandle, :bt_field_integer_signed_handle
|
373
|
+
|
374
|
+
class BTFieldClassRealSinglePrecisionHandle < BTFieldClassHandle; end
|
375
|
+
typedef BTFieldClassRealSinglePrecisionHandle,
|
376
|
+
:bt_field_class_real_single_precision_handle
|
377
|
+
|
378
|
+
class BTFieldRealSinglePrecisionHandle < BTFieldHandle; end
|
379
|
+
typedef BTFieldRealSinglePrecisionHandle,
|
380
|
+
:bt_field_real_single_precision_handle
|
381
|
+
|
382
|
+
class BTFieldClassRealDoublePrecisionHandle < BTFieldClassHandle; end
|
383
|
+
typedef BTFieldClassRealDoublePrecisionHandle,
|
384
|
+
:bt_field_class_real_double_precision_handle
|
385
|
+
|
386
|
+
class BTFieldRealDoublePrecisionHandle < BTFieldHandle; end
|
387
|
+
typedef BTFieldRealDoublePrecisionHandle,
|
388
|
+
:bt_field_real_double_precision_handle
|
389
|
+
|
390
|
+
module BTFieldClassEnumerationHandle; end
|
391
|
+
class BTFieldClassEnumerationHandleCls < BTFieldClassIntegerHandle
|
392
|
+
include BTFieldClassEnumerationHandle
|
393
|
+
class << self
|
394
|
+
def to_native(value, context)
|
395
|
+
unless value.nil?
|
396
|
+
p = value.to_ptr
|
397
|
+
raise "invalid type #{p.class}, expected #{BTFieldClassEnumerationHandle}" unless p.kind_of?(BTFieldClassEnumerationHandle)
|
398
|
+
p
|
399
|
+
else
|
400
|
+
nil
|
401
|
+
end
|
402
|
+
end
|
403
|
+
end
|
404
|
+
end
|
405
|
+
typedef BTFieldClassEnumerationHandleCls, :bt_field_class_enumeration_handle
|
406
|
+
|
407
|
+
module BTFieldEnumerationHandle; end
|
408
|
+
class BTFieldEnumerationHandleCls < BTFieldIntegerHandle
|
409
|
+
include BTFieldEnumerationHandle
|
410
|
+
class << self
|
411
|
+
def to_native(value, context)
|
412
|
+
unless value.nil?
|
413
|
+
p = value.to_ptr
|
414
|
+
raise "invalid type #{p.class}, expected #{BTFieldEnumerationHandle}" unless p.kind_of?(BTFieldEnumerationHandle)
|
415
|
+
p
|
416
|
+
else
|
417
|
+
nil
|
418
|
+
end
|
419
|
+
end
|
420
|
+
end
|
421
|
+
end
|
422
|
+
typedef BTFieldEnumerationHandleCls, :bt_field_enumeration_handle
|
423
|
+
|
424
|
+
class BTFieldClassEnumerationUnsignedHandle < BTFieldClassIntegerUnsignedHandle
|
425
|
+
include BTFieldClassEnumerationHandle
|
426
|
+
end
|
427
|
+
typedef BTFieldClassEnumerationUnsignedHandle,
|
428
|
+
:bt_field_class_enumeration_unsigned_handle
|
429
|
+
|
430
|
+
class BTFieldEnumerationUnsignedHandle < BTFieldIntegerUnsignedHandle
|
431
|
+
include BTFieldEnumerationHandle
|
432
|
+
end
|
433
|
+
typedef BTFieldEnumerationUnsignedHandle,
|
434
|
+
:bt_field_enumeration_unsigned_handle
|
435
|
+
|
436
|
+
class BTFieldClassEnumerationSignedHandle < BTFieldClassIntegerSignedHandle
|
437
|
+
include BTFieldClassEnumerationHandle
|
438
|
+
end
|
439
|
+
typedef BTFieldClassEnumerationSignedHandle,
|
440
|
+
:bt_field_class_enumeration_signed_handle
|
441
|
+
|
442
|
+
class BTFieldEnumerationSignedHandle < BTFieldIntegerSignedHandle
|
443
|
+
include BTFieldClassEnumerationHandle
|
444
|
+
end
|
445
|
+
typedef BTFieldEnumerationSignedHandle,
|
446
|
+
:bt_field_enumeration_signed_handle
|
447
|
+
|
448
|
+
class BTFieldClassStringHandle < BTFieldClassHandle; end
|
449
|
+
typedef BTFieldClassStringHandle, :bt_field_class_string_handle
|
450
|
+
|
451
|
+
class BTFieldStringHandle < BTFieldHandle; end
|
452
|
+
typedef BTFieldStringHandle, :bt_field_string_handle
|
453
|
+
|
454
|
+
class BTFieldClassArrayHandle < BTFieldClassHandle; end
|
455
|
+
typedef BTFieldClassArrayHandle, :bt_field_class_array_handle
|
456
|
+
|
457
|
+
class BTFieldArrayHandle < BTFieldHandle; end
|
458
|
+
typedef BTFieldArrayHandle, :bt_field_array_handle
|
459
|
+
|
460
|
+
class BTFieldClassArrayStaticHandle < BTFieldClassArrayHandle; end
|
461
|
+
typedef BTFieldClassArrayStaticHandle, :bt_field_class_array_static_handle
|
462
|
+
|
463
|
+
class BTFieldArrayStaticHandle < BTFieldArrayHandle; end
|
464
|
+
typedef BTFieldArrayStaticHandle, :bt_field_array_static_handle
|
465
|
+
|
466
|
+
class BTFieldClassArrayDynamicHandle < BTFieldClassArrayHandle; end
|
467
|
+
typedef BTFieldClassArrayDynamicHandle, :bt_field_class_array_dynamic_handle
|
468
|
+
|
469
|
+
class BTFieldArrayDynamicHandle < BTFieldArrayHandle; end
|
470
|
+
typedef BTFieldArrayDynamicHandle, :bt_field_array_dynamic_handle
|
471
|
+
|
472
|
+
class BTFieldClassStructureHandle < BTFieldClassHandle; end
|
473
|
+
typedef BTFieldClassStructureHandle, :bt_field_class_structure_handle
|
474
|
+
|
475
|
+
class BTFieldStructureHandle < BTFieldHandle; end
|
476
|
+
typedef BTFieldStructureHandle, :bt_field_structure_handle
|
477
|
+
|
478
|
+
class BTFieldClassOptionHandle < BTFieldClassHandle; end
|
479
|
+
typedef BTFieldClassOptionHandle, :bt_field_class_option_handle
|
480
|
+
|
481
|
+
class BTFieldOptionHandle < BTFieldHandle; end
|
482
|
+
typedef BTFieldOptionHandle, :bt_field_option_handle
|
483
|
+
|
484
|
+
class BTFieldClassOptionWithoutSelectorFieldHandle < BTFieldClassOptionHandle; end
|
485
|
+
typedef BTFieldClassOptionWithoutSelectorFieldHandle,
|
486
|
+
:bt_field_class_option_without_selector_field_handle
|
487
|
+
|
488
|
+
class BTFieldOptionWithoutSelectorFieldHandle < BTFieldOptionHandle; end
|
489
|
+
typedef BTFieldOptionWithoutSelectorFieldHandle,
|
490
|
+
:bt_field_option_without_selector_field_handle
|
491
|
+
|
492
|
+
class BTFieldClassOptionWithSelectorFieldHandle < BTFieldClassOptionHandle; end
|
493
|
+
typedef BTFieldClassOptionWithSelectorFieldHandle,
|
494
|
+
:bt_field_class_option_with_selector_field_handle
|
495
|
+
|
496
|
+
class BTFieldOptionWithSelectorFieldHandle < BTFieldOptionHandle; end
|
497
|
+
typedef BTFieldOptionWithSelectorFieldHandle,
|
498
|
+
:bt_field_option_with_selector_field_handle
|
499
|
+
|
500
|
+
class BTFieldClassOptionWithSelectorFieldBoolHandle <
|
501
|
+
BTFieldClassOptionWithSelectorFieldHandle; end
|
502
|
+
typedef BTFieldClassOptionWithSelectorFieldBoolHandle,
|
503
|
+
:bt_field_class_option_with_selector_field_bool_handle
|
504
|
+
|
505
|
+
class BTFieldOptionWithSelectorFieldBoolHandle <
|
506
|
+
BTFieldOptionWithSelectorFieldHandle; end
|
507
|
+
typedef BTFieldOptionWithSelectorFieldBoolHandle,
|
508
|
+
:bt_field_option_with_selector_field_bool_handle
|
509
|
+
|
510
|
+
class BTFieldClassOptionWithSelectorFieldIntegerUnsignedHandle <
|
511
|
+
BTFieldClassOptionWithSelectorFieldHandle; end
|
512
|
+
typedef BTFieldClassOptionWithSelectorFieldIntegerUnsignedHandle,
|
513
|
+
:bt_field_class_option_with_selector_field_integer_unsigned_handle
|
514
|
+
|
515
|
+
class BTFieldOptionWithSelectorFieldIntegerUnsignedHandle <
|
516
|
+
BTFieldOptionWithSelectorFieldHandle; end
|
517
|
+
typedef BTFieldOptionWithSelectorFieldIntegerUnsignedHandle,
|
518
|
+
:bt_field_option_with_selector_field_integer_unsigned_handle
|
519
|
+
|
520
|
+
class BTFieldClassOptionWithSelectorFieldIntegerSignedHandle <
|
521
|
+
BTFieldClassOptionWithSelectorFieldHandle; end
|
522
|
+
typedef BTFieldClassOptionWithSelectorFieldIntegerSignedHandle,
|
523
|
+
:bt_field_class_option_with_selector_field_integer_signed_handle
|
524
|
+
|
525
|
+
class BTFieldOptionWithSelectorFieldIntegerSignedHandle <
|
526
|
+
BTFieldOptionWithSelectorFieldHandle; end
|
527
|
+
typedef BTFieldOptionWithSelectorFieldIntegerSignedHandle,
|
528
|
+
:bt_field_option_with_selector_field_integer_signed_handle
|
529
|
+
|
530
|
+
class BTFieldClassVariantHandle < BTFieldClassHandle; end
|
531
|
+
typedef BTFieldClassVariantHandle, :bt_field_class_variant_handle
|
532
|
+
|
533
|
+
class BTFieldVariantHandle < BTFieldHandle; end
|
534
|
+
typedef BTFieldVariantHandle, :bt_field_variant_handle
|
535
|
+
|
536
|
+
class BTFieldVariantWithoutSelectorFieldHandle < BTFieldVariantHandle; end
|
537
|
+
typedef BTFieldVariantWithoutSelectorFieldHandle,
|
538
|
+
:bt_field_variant_without_selector_field_handle
|
539
|
+
|
540
|
+
class BTFieldVariantWithSelectorFieldHandle < BTFieldVariantHandle; end
|
541
|
+
typedef BTFieldVariantWithSelectorFieldHandle,
|
542
|
+
:bt_field_variant_with_selector_field_handle
|
543
|
+
|
544
|
+
class BTFieldVariantWithSelectorFieldIntegerUnsignedHandle <
|
545
|
+
BTFieldVariantWithSelectorFieldHandle; end
|
546
|
+
typedef BTFieldVariantWithSelectorFieldIntegerUnsignedHandle,
|
547
|
+
:bt_field_variant_with_selector_field_integer_unsigned_handle
|
548
|
+
|
549
|
+
class BTFieldVariantWithSelectorFieldIntegerSignedHandle <
|
550
|
+
BTFieldVariantWithSelectorFieldHandle; end
|
551
|
+
typedef BTFieldVariantWithSelectorFieldIntegerSignedHandle,
|
552
|
+
:bt_field_variant_with_selector_field_integer_signed_handle
|
553
|
+
|
554
|
+
typedef :int, :bt_bool
|
555
|
+
typedef :uint64, :bt_listener_id
|
556
|
+
typedef :pointer, :bt_object
|
557
|
+
|
558
|
+
class Error < StandardError
|
559
|
+
end
|
560
|
+
|
561
|
+
class BTObject
|
562
|
+
attr_reader :handle
|
563
|
+
|
564
|
+
def initialize(handle)
|
565
|
+
raise "Invalid handle" if !handle
|
566
|
+
@handle = handle
|
567
|
+
end
|
568
|
+
|
569
|
+
def to_ptr
|
570
|
+
@handle
|
571
|
+
end
|
572
|
+
|
573
|
+
def ==(other)
|
574
|
+
@handle == other.handle
|
575
|
+
end
|
576
|
+
end
|
577
|
+
|
578
|
+
class BTSharedObject < BTObject
|
579
|
+
class Releaser
|
580
|
+
def initialize(handle, releaser)
|
581
|
+
@handle = handle
|
582
|
+
@releaser = releaser
|
583
|
+
end
|
584
|
+
|
585
|
+
def call(id)
|
586
|
+
begin
|
587
|
+
Babeltrace2.method(@releaser).call(@handle)
|
588
|
+
rescue Exception => e
|
589
|
+
puts e
|
590
|
+
end
|
591
|
+
end
|
592
|
+
end
|
593
|
+
@get_ref = nil
|
594
|
+
@put_ref = nil
|
595
|
+
def self.inherited(child)
|
596
|
+
child.instance_variable_set(:@get_ref, @get_ref)
|
597
|
+
child.instance_variable_set(:@put_ref, @put_ref)
|
598
|
+
end
|
599
|
+
class << self
|
600
|
+
attr_reader :get_ref
|
601
|
+
attr_reader :put_ref
|
602
|
+
end
|
603
|
+
|
604
|
+
def initialize(handle, retain: false, auto_release: true)
|
605
|
+
super(handle)
|
606
|
+
Babeltrace2.method(self.class.get_ref).call(handle) if retain
|
607
|
+
ObjectSpace.define_finalizer(self, Releaser.new(handle, self.class.put_ref)) if auto_release
|
608
|
+
end
|
609
|
+
end
|
610
|
+
|
611
|
+
class BTUUID < FFI::Struct
|
612
|
+
layout :id, [ :uint8_t, 16 ]
|
613
|
+
def to_s
|
614
|
+
a = self[:id].to_a
|
615
|
+
s = ""
|
616
|
+
s << "%02x" % a[15]
|
617
|
+
s << "%02x" % a[14]
|
618
|
+
s << "%02x" % a[13]
|
619
|
+
s << "%02x" % a[12]
|
620
|
+
s << "-"
|
621
|
+
s << "%02x" % a[11]
|
622
|
+
s << "%02x" % a[10]
|
623
|
+
s << "-"
|
624
|
+
s << "%02x" % a[9]
|
625
|
+
s << "%02x" % a[8]
|
626
|
+
s << "-"
|
627
|
+
s << "%02x" % a[7]
|
628
|
+
s << "%02x" % a[6]
|
629
|
+
s << "-"
|
630
|
+
s << "%02x" % a[5]
|
631
|
+
s << "%02x" % a[4]
|
632
|
+
s << "%02x" % a[3]
|
633
|
+
s << "%02x" % a[2]
|
634
|
+
s << "%02x" % a[1]
|
635
|
+
s << "%02x" % a[0]
|
636
|
+
end
|
637
|
+
|
638
|
+
def self.from_string(uuid)
|
639
|
+
new.from_string(uuid)
|
640
|
+
end
|
641
|
+
|
642
|
+
def from_string(uuid)
|
643
|
+
m = uuid.match(/(\h\h)(\h\h)(\h\h)(\h\h)-(\h\h)(\h\h)-(\h\h)(\h\h)-(\h\h)(\h\h)-(\h\h)(\h\h)(\h\h)(\h\h)(\h\h)(\h\h)/)
|
644
|
+
raise "invalid format" unless m
|
645
|
+
16.times { |i|
|
646
|
+
self[:id][15-i] = m[i+1].to_i(16)
|
647
|
+
}
|
648
|
+
self
|
649
|
+
end
|
650
|
+
end
|
651
|
+
typedef BTUUID.by_ref, :bt_uuid
|
652
|
+
|
653
|
+
BTPropertyAvailability = enum :bt_property_availability,
|
654
|
+
[ :BT_PROPERTY_AVAILABILITY_NOT_AVAILABLE, 0,
|
655
|
+
:BT_PROPERTY_AVAILABILITY_AVAILABLE, 1 ]
|
656
|
+
|
657
|
+
typedef :pointer, :bt_message_array_const
|
658
|
+
|
659
|
+
BT_TRUE = 1
|
660
|
+
BT_FALSE = 0
|
661
|
+
BT_SLEEP_TIME = 0.1
|
662
|
+
|
663
|
+
@@callbacks = Hash.new { |h, k| h[k] = {} }
|
664
|
+
def self._callbacks
|
665
|
+
@@callbacks
|
666
|
+
end
|
667
|
+
end
|