Babeltrace 2 C API 2.0.6
Open-source trace manipulation framework
Loading...
Searching...
No Matches
self-component-class.h
1#ifndef BABELTRACE2_GRAPH_SELF_COMPONENT_CLASS_H
2#define BABELTRACE2_GRAPH_SELF_COMPONENT_CLASS_H
3
4/*
5 * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 * copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 * SOFTWARE.
24 */
25
26#ifndef __BT_IN_BABELTRACE_H
27# error "Please include <babeltrace2/babeltrace.h> instead."
28#endif
29
30#include <babeltrace2/types.h>
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
103static inline
105 bt_self_component_class *self_component_class)
106{
107 return __BT_UPCAST(bt_component_class, self_component_class);
108}
109
126static inline
129 bt_self_component_class_source *self_component_class)
130{
131 return __BT_UPCAST_CONST(bt_component_class_source,
132 self_component_class);
133}
134
151static inline
154 bt_self_component_class_filter *self_component_class)
155{
156 return __BT_UPCAST_CONST(bt_component_class_filter,
157 self_component_class);
158}
159
176static inline
179 bt_self_component_class_sink *self_component_class)
180{
181 return __BT_UPCAST_CONST(bt_component_class_sink, self_component_class);
182}
183
207static inline
210 bt_self_component_class_source *self_component_class)
211{
212 return __BT_UPCAST(bt_self_component_class, self_component_class);
213}
214
231static inline
234 bt_self_component_class_filter *self_component_class)
235{
236 return __BT_UPCAST(bt_self_component_class, self_component_class);
237}
238
255static inline
258 bt_self_component_class_sink *self_component_class)
259{
260 return __BT_UPCAST(bt_self_component_class, self_component_class);
261}
262
267#ifdef __cplusplus
268}
269#endif
270
271#endif /* BABELTRACE2_GRAPH_SELF_COMPONENT_CLASS_H */
struct bt_component_class_sink bt_component_class_sink
Sink component class.
Definition types.h:41
struct bt_component_class_source bt_component_class_source
Source component class.
Definition types.h:42
struct bt_component_class_filter bt_component_class_filter
Filter component class.
Definition types.h:40
struct bt_component_class bt_component_class
Component class.
Definition types.h:39
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:178
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:104
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:257
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:209
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:128
struct bt_self_component_class_source bt_self_component_class_source
Self source component class.
Definition types.h:89
struct bt_self_component_class_filter bt_self_component_class_filter
Self filter component class.
Definition types.h:87
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:233
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:153
struct bt_self_component_class_sink bt_self_component_class_sink
Self sink component class.
Definition types.h:88
struct bt_self_component_class bt_self_component_class
Self component class.
Definition types.h:86