lib: remove unused _NO_SINK graph status
[babeltrace.git] / include / babeltrace / graph / port-output-const.h
index 898bdac637d7aeefebe468eed4e0e5777bf9a94a..0afa640fe84db23c504951d92734cdcbcfdd6daf 100644 (file)
  * SOFTWARE.
  */
 
+/* For bt_port, bt_port_output, __BT_UPCAST_CONST */
+#include <babeltrace/types.h>
+
 #include <stdint.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-struct bt_port;
-struct bt_port_output;
-
 static inline
-const struct bt_port *bt_port_output_as_port_const(
-               const struct bt_port_output *port_output)
+const bt_port *bt_port_output_as_port_const(const bt_port_output *port_output)
 {
-       return (const void *) port_output;
+       return __BT_UPCAST_CONST(bt_port, port_output);
 }
 
+extern void bt_port_output_get_ref(const bt_port_output *port_output);
+
+extern void bt_port_output_put_ref(const bt_port_output *port_output);
+
+#define BT_PORT_OUTPUT_PUT_REF_AND_RESET(_var)         \
+       do {                                            \
+               bt_port_output_put_ref(_var);           \
+               (_var) = NULL;                          \
+       } while (0)
+
+#define BT_PORT_OUTPUT_MOVE_REF(_var_dst, _var_src)    \
+       do {                                            \
+               bt_port_output_put_ref(_var_dst);       \
+               (_var_dst) = (_var_src);                \
+               (_var_src) = NULL;                      \
+       } while (0)
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.023463 seconds and 4 git commands to generate.