2 * Copyright (c) 2023 Philippe Proulx <pproulx@efficios.com>
4 * SPDX-License-Identifier: MIT
7 #ifndef BABELTRACE_CPP_COMMON_BT2_WRAP_HPP
8 #define BABELTRACE_CPP_COMMON_BT2_WRAP_HPP
10 #include <babeltrace2/babeltrace.h>
12 #include "clock-class.hpp"
13 #include "clock-snapshot.hpp"
14 #include "component-port.hpp"
15 #include "field-class.hpp"
17 #include "integer-range-set.hpp"
18 #include "integer-range.hpp"
19 #include "message-iterator.hpp"
20 #include "message.hpp"
21 #include "optional-borrowed-object.hpp"
22 #include "private-query-executor.hpp"
23 #include "self-component-class.hpp"
24 #include "self-component-port.hpp"
25 #include "self-message-iterator-configuration.hpp"
26 #include "self-message-iterator.hpp"
27 #include "trace-ir.hpp"
32 inline ClockClass wrap(bt_clock_class * const libObjPtr) noexcept
34 return ClockClass {libObjPtr};
37 inline ConstClockClass wrap(const bt_clock_class * const libObjPtr) noexcept
39 return ConstClockClass {libObjPtr};
42 inline ConstClockSnapshot wrap(const bt_clock_snapshot * const libObjPtr) noexcept
44 return ConstClockSnapshot {libObjPtr};
47 inline ConstComponent wrap(const bt_component * const libObjPtr) noexcept
49 return ConstComponent {libObjPtr};
52 inline ConstSourceComponent wrap(const bt_component_source * const libObjPtr) noexcept
54 return ConstSourceComponent {libObjPtr};
57 inline ConstFilterComponent wrap(const bt_component_filter * const libObjPtr) noexcept
59 return ConstFilterComponent {libObjPtr};
62 inline ConstSinkComponent wrap(const bt_component_sink * const libObjPtr) noexcept
64 return ConstSinkComponent {libObjPtr};
67 inline ConstInputPort wrap(const bt_port_input * const libObjPtr) noexcept
69 return ConstInputPort {libObjPtr};
72 inline ConstOutputPort wrap(const bt_port_output * const libObjPtr) noexcept
74 return ConstOutputPort {libObjPtr};
77 inline FieldClass wrap(bt_field_class * const libObjPtr) noexcept
79 return FieldClass {libObjPtr};
82 inline ConstFieldClass wrap(const bt_field_class * const libObjPtr) noexcept
84 return ConstFieldClass {libObjPtr};
87 inline ConstFieldPathItem wrap(const bt_field_path_item * const libObjPtr) noexcept
89 return ConstFieldPathItem {libObjPtr};
92 inline ConstFieldPath wrap(const bt_field_path * const libObjPtr) noexcept
94 return ConstFieldPath {libObjPtr};
97 inline Field wrap(bt_field * const libObjPtr) noexcept
99 return Field {libObjPtr};
102 inline ConstField wrap(const bt_field * const libObjPtr) noexcept
104 return ConstField {libObjPtr};
107 inline UnsignedIntegerRangeSet wrap(bt_integer_range_set_unsigned * const libObjPtr) noexcept
109 return UnsignedIntegerRangeSet {libObjPtr};
112 inline ConstUnsignedIntegerRangeSet
113 wrap(const bt_integer_range_set_unsigned * const libObjPtr) noexcept
115 return ConstUnsignedIntegerRangeSet {libObjPtr};
118 inline SignedIntegerRangeSet wrap(bt_integer_range_set_signed * const libObjPtr) noexcept
120 return SignedIntegerRangeSet {libObjPtr};
123 inline ConstSignedIntegerRangeSet wrap(const bt_integer_range_set_signed * const libObjPtr) noexcept
125 return ConstSignedIntegerRangeSet {libObjPtr};
128 inline ConstUnsignedIntegerRange wrap(const bt_integer_range_unsigned * const libObjPtr) noexcept
130 return ConstUnsignedIntegerRange {libObjPtr};
133 inline ConstSignedIntegerRange wrap(const bt_integer_range_signed * const libObjPtr) noexcept
135 return ConstSignedIntegerRange {libObjPtr};
138 inline MessageIterator wrap(bt_message_iterator * const libObjPtr) noexcept
140 return MessageIterator {libObjPtr};
143 inline Message wrap(bt_message * const libObjPtr) noexcept
145 return Message {libObjPtr};
148 inline ConstMessage wrap(const bt_message * const libObjPtr) noexcept
150 return ConstMessage {libObjPtr};
153 inline PrivateQueryExecutor wrap(bt_private_query_executor * const libObjPtr) noexcept
155 return PrivateQueryExecutor {libObjPtr};
158 inline SelfComponentClass wrap(bt_self_component_class * const libObjPtr) noexcept
160 return SelfComponentClass {libObjPtr};
163 inline SelfComponentClass wrap(bt_self_component_class_source * const libObjPtr) noexcept
165 return SelfComponentClass {libObjPtr};
168 inline SelfComponentClass wrap(bt_self_component_class_filter * const libObjPtr) noexcept
170 return SelfComponentClass {libObjPtr};
173 inline SelfComponentClass wrap(bt_self_component_class_sink * const libObjPtr) noexcept
175 return SelfComponentClass {libObjPtr};
178 inline SelfComponent wrap(bt_self_component * const libObjPtr) noexcept
180 return SelfComponent {libObjPtr};
183 inline SelfSourceComponent wrap(bt_self_component_source * const libObjPtr) noexcept
185 return SelfSourceComponent {libObjPtr};
188 inline SelfFilterComponent wrap(bt_self_component_filter * const libObjPtr) noexcept
190 return SelfFilterComponent {libObjPtr};
193 inline SelfSinkComponent wrap(bt_self_component_sink * const libObjPtr) noexcept
195 return SelfSinkComponent {libObjPtr};
198 inline SelfComponentInputPort wrap(bt_self_component_port_input * const libObjPtr) noexcept
200 return SelfComponentInputPort {libObjPtr};
203 inline SelfComponentOutputPort wrap(bt_self_component_port_output * const libObjPtr) noexcept
205 return SelfComponentOutputPort {libObjPtr};
208 inline SelfMessageIterator wrap(bt_self_message_iterator * const libObjPtr) noexcept
210 return SelfMessageIterator {libObjPtr};
213 inline SelfMessageIteratorConfiguration
214 wrap(bt_self_message_iterator_configuration * const libObjPtr) noexcept
216 return SelfMessageIteratorConfiguration {libObjPtr};
219 inline Event wrap(bt_event * const libObjPtr) noexcept
221 return Event {libObjPtr};
224 inline ConstEvent wrap(const bt_event * const libObjPtr) noexcept
226 return ConstEvent {libObjPtr};
229 inline Packet wrap(bt_packet * const libObjPtr) noexcept
231 return Packet {libObjPtr};
234 inline ConstPacket wrap(const bt_packet * const libObjPtr) noexcept
236 return ConstPacket {libObjPtr};
239 inline Stream wrap(bt_stream * const libObjPtr) noexcept
241 return Stream {libObjPtr};
244 inline ConstStream wrap(const bt_stream * const libObjPtr) noexcept
246 return ConstStream {libObjPtr};
249 inline Trace wrap(bt_trace * const libObjPtr) noexcept
251 return Trace {libObjPtr};
254 inline ConstTrace wrap(const bt_trace * const libObjPtr) noexcept
256 return ConstTrace {libObjPtr};
259 inline EventClass wrap(bt_event_class * const libObjPtr) noexcept
261 return EventClass {libObjPtr};
264 inline ConstEventClass wrap(const bt_event_class * const libObjPtr) noexcept
266 return ConstEventClass {libObjPtr};
269 inline StreamClass wrap(bt_stream_class * const libObjPtr) noexcept
271 return StreamClass {libObjPtr};
274 inline ConstStreamClass wrap(const bt_stream_class * const libObjPtr) noexcept
276 return ConstStreamClass {libObjPtr};
279 inline TraceClass wrap(bt_trace_class * const libObjPtr) noexcept
281 return TraceClass {libObjPtr};
284 inline ConstTraceClass wrap(const bt_trace_class * const libObjPtr) noexcept
286 return ConstTraceClass {libObjPtr};
289 inline Value wrap(bt_value * const libObjPtr) noexcept
291 return Value {libObjPtr};
294 inline ConstValue wrap(const bt_value * const libObjPtr) noexcept
296 return ConstValue {libObjPtr};
299 inline OptionalBorrowedObject<ClockClass> wrapOptional(bt_clock_class * const libObjPtr) noexcept
304 inline OptionalBorrowedObject<ConstClockClass>
305 wrapOptional(const bt_clock_class * const libObjPtr) noexcept
310 inline OptionalBorrowedObject<ConstClockSnapshot>
311 wrapOptional(const bt_clock_snapshot * const libObjPtr) noexcept
316 inline OptionalBorrowedObject<ConstComponent>
317 wrapOptional(const bt_component * const libObjPtr) noexcept
322 inline OptionalBorrowedObject<ConstSourceComponent>
323 wrapOptional(const bt_component_source * const libObjPtr) noexcept
328 inline OptionalBorrowedObject<ConstFilterComponent>
329 wrapOptional(const bt_component_filter * const libObjPtr) noexcept
334 inline OptionalBorrowedObject<ConstSinkComponent>
335 wrapOptional(const bt_component_sink * const libObjPtr) noexcept
340 inline OptionalBorrowedObject<ConstInputPort>
341 wrapOptional(const bt_port_input * const libObjPtr) noexcept
346 inline OptionalBorrowedObject<ConstOutputPort>
347 wrapOptional(const bt_port_output * const libObjPtr) noexcept
352 inline OptionalBorrowedObject<FieldClass> wrapOptional(bt_field_class * const libObjPtr) noexcept
357 inline OptionalBorrowedObject<ConstFieldClass>
358 wrapOptional(const bt_field_class * const libObjPtr) noexcept
363 inline OptionalBorrowedObject<ConstFieldPathItem>
364 wrapOptional(const bt_field_path_item * const libObjPtr) noexcept
369 inline OptionalBorrowedObject<ConstFieldPath>
370 wrapOptional(const bt_field_path * const libObjPtr) noexcept
375 inline OptionalBorrowedObject<Field> wrapOptional(bt_field * const libObjPtr) noexcept
380 inline OptionalBorrowedObject<ConstField> wrapOptional(const bt_field * const libObjPtr) noexcept
385 inline OptionalBorrowedObject<UnsignedIntegerRangeSet>
386 wrapOptional(bt_integer_range_set_unsigned * const libObjPtr) noexcept
391 inline OptionalBorrowedObject<ConstUnsignedIntegerRangeSet>
392 wrapOptional(const bt_integer_range_set_unsigned * const libObjPtr) noexcept
397 inline OptionalBorrowedObject<SignedIntegerRangeSet>
398 wrapOptional(bt_integer_range_set_signed * const libObjPtr) noexcept
403 inline OptionalBorrowedObject<ConstSignedIntegerRangeSet>
404 wrapOptional(const bt_integer_range_set_signed * const libObjPtr) noexcept
409 inline OptionalBorrowedObject<ConstUnsignedIntegerRange>
410 wrapOptional(const bt_integer_range_unsigned * const libObjPtr) noexcept
415 inline OptionalBorrowedObject<ConstSignedIntegerRange>
416 wrapOptional(const bt_integer_range_signed * const libObjPtr) noexcept
421 inline OptionalBorrowedObject<MessageIterator>
422 wrapOptional(bt_message_iterator * const libObjPtr) noexcept
427 inline OptionalBorrowedObject<Message> wrapOptional(bt_message * const libObjPtr) noexcept
432 inline OptionalBorrowedObject<ConstMessage>
433 wrapOptional(const bt_message * const libObjPtr) noexcept
438 inline OptionalBorrowedObject<PrivateQueryExecutor>
439 wrapOptional(bt_private_query_executor * const libObjPtr) noexcept
444 inline OptionalBorrowedObject<SelfComponentClass>
445 wrapOptional(bt_self_component_class * const libObjPtr) noexcept
450 inline OptionalBorrowedObject<SelfComponentClass>
451 wrapOptional(bt_self_component_class_source * const libObjPtr) noexcept
453 return bt_self_component_class_source_as_self_component_class(libObjPtr);
456 inline OptionalBorrowedObject<SelfComponentClass>
457 wrapOptional(bt_self_component_class_filter * const libObjPtr) noexcept
459 return bt_self_component_class_filter_as_self_component_class(libObjPtr);
462 inline OptionalBorrowedObject<SelfComponentClass>
463 wrapOptional(bt_self_component_class_sink * const libObjPtr) noexcept
465 return bt_self_component_class_sink_as_self_component_class(libObjPtr);
468 inline OptionalBorrowedObject<SelfComponent>
469 wrapOptional(bt_self_component * const libObjPtr) noexcept
474 inline OptionalBorrowedObject<SelfSourceComponent>
475 wrapOptional(bt_self_component_source * const libObjPtr) noexcept
480 inline OptionalBorrowedObject<SelfFilterComponent>
481 wrapOptional(bt_self_component_filter * const libObjPtr) noexcept
486 inline OptionalBorrowedObject<SelfSinkComponent>
487 wrapOptional(bt_self_component_sink * const libObjPtr) noexcept
492 inline OptionalBorrowedObject<SelfComponentInputPort>
493 wrapOptional(bt_self_component_port_input * const libObjPtr) noexcept
498 inline OptionalBorrowedObject<SelfComponentOutputPort>
499 wrapOptional(bt_self_component_port_output * const libObjPtr) noexcept
504 inline OptionalBorrowedObject<SelfMessageIterator>
505 wrapOptional(bt_self_message_iterator * const libObjPtr) noexcept
510 inline OptionalBorrowedObject<SelfMessageIteratorConfiguration>
511 wrapOptional(bt_self_message_iterator_configuration * const libObjPtr) noexcept
516 inline OptionalBorrowedObject<Event> wrapOptional(bt_event * const libObjPtr) noexcept
521 inline OptionalBorrowedObject<ConstEvent> wrapOptional(const bt_event * const libObjPtr) noexcept
526 inline OptionalBorrowedObject<Packet> wrapOptional(bt_packet * const libObjPtr) noexcept
531 inline OptionalBorrowedObject<ConstPacket> wrapOptional(const bt_packet * const libObjPtr) noexcept
536 inline OptionalBorrowedObject<Stream> wrapOptional(bt_stream * const libObjPtr) noexcept
541 inline OptionalBorrowedObject<ConstStream> wrapOptional(const bt_stream * const libObjPtr) noexcept
546 inline OptionalBorrowedObject<Trace> wrapOptional(bt_trace * const libObjPtr) noexcept
551 inline OptionalBorrowedObject<ConstTrace> wrapOptional(const bt_trace * const libObjPtr) noexcept
556 inline OptionalBorrowedObject<EventClass> wrapOptional(bt_event_class * const libObjPtr) noexcept
561 inline OptionalBorrowedObject<ConstEventClass>
562 wrapOptional(const bt_event_class * const libObjPtr) noexcept
567 inline OptionalBorrowedObject<StreamClass> wrapOptional(bt_stream_class * const libObjPtr) noexcept
572 inline OptionalBorrowedObject<ConstStreamClass>
573 wrapOptional(const bt_stream_class * const libObjPtr) noexcept
578 inline OptionalBorrowedObject<TraceClass> wrapOptional(bt_trace_class * const libObjPtr) noexcept
583 inline OptionalBorrowedObject<ConstTraceClass>
584 wrapOptional(const bt_trace_class * const libObjPtr) noexcept
589 inline OptionalBorrowedObject<Value> wrapOptional(bt_value * const libObjPtr) noexcept
594 inline OptionalBorrowedObject<ConstValue> wrapOptional(const bt_value * const libObjPtr) noexcept
599 } /* namespace bt2 */
601 #endif /* BABELTRACE_CPP_COMMON_BT2_WRAP_HPP */