+/*!
+@brief
+ \ref api-fund-c-typing "Upcasts" the self \bt_src_comp_cls
+ \bt_p{self_component_class} to the public #bt_component_class_source
+ type.
+
+@param[in] self_component_class
+ @parblock
+ Source component class to upcast.
+
+ Can be \c NULL.
+ @endparblock
+
+@returns
+ \bt_p{self_component_class} as a public source component class.
+*/
+static inline
+const bt_component_class_source *
+bt_self_component_class_source_as_component_class_source(
+ bt_self_component_class_source *self_component_class)
+{
+ return __BT_UPCAST_CONST(bt_component_class_source,
+ self_component_class);
+}
+
+/*!
+@brief
+ \ref api-fund-c-typing "Upcasts" the self \bt_flt_comp_cls
+ \bt_p{self_component_class} to the public #bt_component_class_filter
+ type.
+
+@param[in] self_component_class
+ @parblock
+ Filter component class to upcast.
+
+ Can be \c NULL.
+ @endparblock
+
+@returns
+ \bt_p{self_component_class} as a public filter component class.
+*/
+static inline
+const bt_component_class_filter *
+bt_self_component_class_filter_as_component_class_filter(
+ bt_self_component_class_filter *self_component_class)
+{
+ return __BT_UPCAST_CONST(bt_component_class_filter,
+ self_component_class);
+}
+
+/*!
+@brief
+ \ref api-fund-c-typing "Upcasts" the self \bt_sink_comp_cls
+ \bt_p{self_component_class} to the public #bt_component_class_sink
+ type.
+
+@param[in] self_component_class
+ @parblock
+ Sink component class to upcast.
+
+ Can be \c NULL.
+ @endparblock
+
+@returns
+ \bt_p{self_component_class} as a public sink component class.
+*/
+static inline
+const bt_component_class_sink *
+bt_self_component_class_sink_as_component_class_sink(
+ bt_self_component_class_sink *self_component_class)
+{
+ return __BT_UPCAST_CONST(bt_component_class_sink, self_component_class);
+}
+
+/*! @} */
+
+/*!
+@name Self to common self upcast
+@{
+*/
+
+/*!
+@brief
+ \ref api-fund-c-typing "Upcasts" the self \bt_src_comp_cls
+ \bt_p{self_component_class} to the common #bt_self_component_class
+ type.
+
+@param[in] self_component_class
+ @parblock
+ Source component class to upcast.
+
+ Can be \c NULL.
+ @endparblock
+
+@returns
+ \bt_p{self_component_class} as a common self component class.
+*/
+static inline
+bt_self_component_class*
+bt_self_component_class_source_as_self_component_class(
+ bt_self_component_class_source *self_component_class)
+{
+ return __BT_UPCAST(bt_self_component_class, self_component_class);
+}
+
+/*!
+@brief
+ \ref api-fund-c-typing "Upcasts" the self \bt_flt_comp_cls
+ \bt_p{self_component_class} to the common #bt_self_component_class
+ type.
+
+@param[in] self_component_class
+ @parblock
+ Filter component class to upcast.
+
+ Can be \c NULL.
+ @endparblock
+
+@returns
+ \bt_p{self_component_class} as a common self component class.
+*/
+static inline
+bt_self_component_class*
+bt_self_component_class_filter_as_self_component_class(
+ bt_self_component_class_filter *self_component_class)
+{
+ return __BT_UPCAST(bt_self_component_class, self_component_class);
+}
+
+/*!
+@brief
+ \ref api-fund-c-typing "Upcasts" the self \bt_sink_comp_cls
+ \bt_p{self_component_class} to the common #bt_self_component_class
+ type.
+
+@param[in] self_component_class
+ @parblock
+ Sink component class to upcast.
+
+ Can be \c NULL.
+ @endparblock
+
+@returns
+ \bt_p{self_component_class} as a common self component class.
+*/
+static inline
+bt_self_component_class*
+bt_self_component_class_sink_as_self_component_class(
+ bt_self_component_class_sink *self_component_class)
+{
+ return __BT_UPCAST(bt_self_component_class, self_component_class);
+}
+
+/*! @} */
+
+/*! @} */
+