Fix: headers: make static inline upcasts compatible with C++
[babeltrace.git] / include / babeltrace / graph / self-component.h
index a1bc8b49f0e38ffb9742a81293dfd6c974b4811a..0be09442831b26e7d4e099a0bb357e3fb72e9476 100644 (file)
  * SOFTWARE.
  */
 
+/* For bt_component, bt_self_component, __BT_UPCAST */
+#include <babeltrace/types.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-struct bt_component;
-struct bt_self_component;
-
-enum bt_self_component_status {
+typedef enum bt_self_component_status {
        BT_SELF_COMPONENT_STATUS_OK = 0,
        BT_SELF_COMPONENT_STATUS_END = 1,
        BT_SELF_COMPONENT_STATUS_AGAIN = 11,
        BT_SELF_COMPONENT_STATUS_REFUSE_PORT_CONNECTION = 111,
        BT_SELF_COMPONENT_STATUS_ERROR = -1,
        BT_SELF_COMPONENT_STATUS_NOMEM = -12,
-};
+} bt_self_component_status;
 
 static inline
-const struct bt_component *bt_self_component_as_component(
-               struct bt_self_component *self_component)
+const bt_component *bt_self_component_as_component(
+               bt_self_component *self_component)
 {
-       return (const void *) self_component;
+       return __BT_UPCAST(bt_component, self_component);
 }
 
 extern void *bt_self_component_get_data(
-               const struct bt_self_component *private_component);
+               const bt_self_component *self_component);
 
 extern void bt_self_component_set_data(
-               struct bt_self_component *private_component, void *data);
+               bt_self_component *self_component, void *data);
 
 #ifdef __cplusplus
 }
This page took 0.026391 seconds and 4 git commands to generate.