Babeltrace 2 C API 2.1.0
Open-source trace manipulation framework
Loading...
Searching...
No Matches
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
19extern "C" {
20#endif
21
89static inline
91 bt_self_component_class *self_component_class) __BT_NOEXCEPT
92{
93 return __BT_UPCAST(bt_component_class, self_component_class);
94}
95
112static 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
138static 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
164static 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
196static 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
221static 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
246static 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_sink bt_component_class_sink
Sink component class.
Definition types.h:27
struct bt_component_class_source bt_component_class_source
Source component class.
Definition types.h:28
struct bt_component_class_filter bt_component_class_filter
Filter component class.
Definition types.h:26
struct bt_component_class bt_component_class
Component class.
Definition types.h:25
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
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_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 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
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
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 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
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_self_component_class_sink bt_self_component_class_sink
Self sink component class.
Definition types.h:74
struct bt_self_component_class bt_self_component_class
Self component class.
Definition types.h:72