Babeltrace 2 C API  2.1.1
Open-source trace manipulation framework
self-component-class.h
1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
5  */
6 
7 #ifndef BABELTRACE2_GRAPH_SELF_COMPONENT_CLASS_H
8 #define BABELTRACE2_GRAPH_SELF_COMPONENT_CLASS_H
9 
10 /* IWYU pragma: private, include <babeltrace2/babeltrace.h> */
11 
12 #ifndef __BT_IN_BABELTRACE_H
13 # error "Please include <babeltrace2/babeltrace.h> instead."
14 #endif
15 
16 #include <babeltrace2/types.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
89 static inline
91  bt_self_component_class *self_component_class) __BT_NOEXCEPT
92 {
93  return __BT_UPCAST(bt_component_class, self_component_class);
94 }
95 
112 static inline
115  bt_self_component_class_source *self_component_class)
116  __BT_NOEXCEPT
117 {
118  return __BT_UPCAST_CONST(bt_component_class_source,
119  self_component_class);
120 }
121 
138 static inline
141  bt_self_component_class_filter *self_component_class)
142  __BT_NOEXCEPT
143 {
144  return __BT_UPCAST_CONST(bt_component_class_filter,
145  self_component_class);
146 }
147 
164 static inline
167  bt_self_component_class_sink *self_component_class)
168  __BT_NOEXCEPT
169 {
170  return __BT_UPCAST_CONST(bt_component_class_sink, self_component_class);
171 }
172 
196 static inline
199  bt_self_component_class_source *self_component_class)
200  __BT_NOEXCEPT
201 {
202  return __BT_UPCAST(bt_self_component_class, self_component_class);
203 }
204 
221 static inline
224  bt_self_component_class_filter *self_component_class)
225  __BT_NOEXCEPT
226 {
227  return __BT_UPCAST(bt_self_component_class, self_component_class);
228 }
229 
246 static inline
249  bt_self_component_class_sink *self_component_class)
250  __BT_NOEXCEPT
251 {
252  return __BT_UPCAST(bt_self_component_class, self_component_class);
253 }
254 
259 #ifdef __cplusplus
260 }
261 #endif
262 
263 #endif /* BABELTRACE2_GRAPH_SELF_COMPONENT_CLASS_H */
struct bt_component_class_source bt_component_class_source
Source component class.
Definition: types.h:28
static bt_self_component_class * bt_self_component_class_sink_as_self_component_class(bt_self_component_class_sink *self_component_class)
Upcasts the self sink component class self_component_class to the common bt_self_component_class type...
Definition: self-component-class.h:248
static const bt_component_class_sink * bt_self_component_class_sink_as_component_class_sink(bt_self_component_class_sink *self_component_class)
Upcasts the self sink component class self_component_class to the public bt_component_class_sink type...
Definition: self-component-class.h:166
struct bt_component_class_filter bt_component_class_filter
Filter component class.
Definition: types.h:26
static const bt_component_class * bt_self_component_class_as_component_class(bt_self_component_class *self_component_class)
Upcasts the self component class self_component_class to the public bt_component_class type...
Definition: self-component-class.h:90
static bt_self_component_class * bt_self_component_class_filter_as_self_component_class(bt_self_component_class_filter *self_component_class)
Upcasts the self filter component class self_component_class to the common bt_self_component_class ty...
Definition: self-component-class.h:223
struct bt_component_class bt_component_class
Component class.
Definition: types.h:25
struct bt_self_component_class_source bt_self_component_class_source
Self source component class.
Definition: types.h:75
struct bt_self_component_class_filter bt_self_component_class_filter
Self filter component class.
Definition: types.h:73
static const bt_component_class_filter * bt_self_component_class_filter_as_component_class_filter(bt_self_component_class_filter *self_component_class)
Upcasts the self filter component class self_component_class to the public bt_component_class_filter ...
Definition: self-component-class.h:140
struct bt_component_class_sink bt_component_class_sink
Sink component class.
Definition: types.h:27
struct bt_self_component_class_sink bt_self_component_class_sink
Self sink component class.
Definition: types.h:74
static bt_self_component_class * bt_self_component_class_source_as_self_component_class(bt_self_component_class_source *self_component_class)
Upcasts the self source component class self_component_class to the common bt_self_component_class ty...
Definition: self-component-class.h:198
struct bt_self_component_class bt_self_component_class
Self component class.
Definition: types.h:72
static const bt_component_class_source * bt_self_component_class_source_as_component_class_source(bt_self_component_class_source *self_component_class)
Upcasts the self source component class self_component_class to the public bt_component_class_source ...
Definition: self-component-class.h:114