X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fgraph%2Fcomponent-source-const.h;fp=include%2Fbabeltrace%2Fgraph%2Fcomponent-source-const.h;h=7c16d03e15453bbfdf320298af13463b8e03efcb;hb=c5b9b4417bedfbec9b5dd23b8395ccdd4eeffc44;hp=daaaa4ef78e5368c79b05471df67eecbac994225;hpb=e2f7325d1e58710ee928373592adcee466f93d06;p=babeltrace.git diff --git a/include/babeltrace/graph/component-source-const.h b/include/babeltrace/graph/component-source-const.h index daaaa4ef..7c16d03e 100644 --- a/include/babeltrace/graph/component-source-const.h +++ b/include/babeltrace/graph/component-source-const.h @@ -52,6 +52,25 @@ extern const struct bt_port_output * bt_component_source_borrow_output_port_by_index_const( const struct bt_component_source *component, uint64_t index); +extern void bt_component_source_get_ref( + const struct bt_component_source *component_source); + +extern void bt_component_source_put_ref( + const struct bt_component_source *component_source); + +#define BT_COMPONENT_SOURCE_PUT_REF_AND_RESET(_var) \ + do { \ + bt_component_source_put_ref(_var); \ + (_var) = NULL; \ + } while (0) + +#define BT_COMPONENT_SOURCE_MOVE_REF(_var_dst, _var_src) \ + do { \ + bt_component_source_put_ref(_var_dst); \ + (_var_dst) = (_var_src); \ + (_var_src) = NULL; \ + } while (0) + #ifdef __cplusplus } #endif