lib: make public reference count functions have strict types
[babeltrace.git] / plugins / utils / muxer / muxer.c
index 275f8e7eae698ae9e2a8f30bfba8e86e629d3254..4e97a014800eadd6dcd33997c305a7810f846a1f 100644 (file)
@@ -26,7 +26,7 @@
 #include <babeltrace/babeltrace-internal.h>
 #include <babeltrace/compat/uuid-internal.h>
 #include <babeltrace/babeltrace.h>
-#include <babeltrace/values-internal.h>
+#include <babeltrace/value-internal.h>
 #include <babeltrace/graph/component-internal.h>
 #include <babeltrace/graph/notification-iterator-internal.h>
 #include <babeltrace/graph/connection-internal.h>
@@ -62,7 +62,7 @@ struct muxer_upstream_notif_iter {
        /* Owned by this, NULL if ended */
        struct bt_self_component_port_input_notification_iterator *notif_iter;
 
-       /* Contains `struct bt_notification *`, owned by this */
+       /* Contains `const struct bt_notification *`, owned by this */
        GQueue *notifs;
 };
 
@@ -122,14 +122,14 @@ void destroy_muxer_upstream_notif_iter(
                muxer_upstream_notif_iter,
                muxer_upstream_notif_iter->notif_iter,
                muxer_upstream_notif_iter->notifs->length);
-       bt_object_put_ref(muxer_upstream_notif_iter->notif_iter);
+       bt_self_component_port_input_notification_iterator_put_ref(muxer_upstream_notif_iter->notif_iter);
 
        if (muxer_upstream_notif_iter->notifs) {
-               struct bt_notification *notif;
+               const struct bt_notification *notif;
 
                while ((notif = g_queue_pop_head(
                                muxer_upstream_notif_iter->notifs))) {
-                       bt_object_put_ref(notif);
+                       bt_notification_put_ref(notif);
                }
 
                g_queue_free(muxer_upstream_notif_iter->notifs);
@@ -152,7 +152,7 @@ struct muxer_upstream_notif_iter *muxer_notif_iter_add_upstream_notif_iter(
        }
 
        muxer_upstream_notif_iter->notif_iter = self_notif_iter;
-       bt_object_get_ref(muxer_upstream_notif_iter->notif_iter);
+       bt_self_component_port_input_notification_iterator_get_ref(muxer_upstream_notif_iter->notif_iter);
        muxer_upstream_notif_iter->notifs = g_queue_new();
        if (!muxer_upstream_notif_iter->notifs) {
                BT_LOGE_STR("Failed to allocate a GQueue.");
@@ -244,18 +244,18 @@ void destroy_muxer_comp(struct muxer_comp *muxer_comp)
 }
 
 static
-struct bt_private_value *get_default_params(void)
+struct bt_value *get_default_params(void)
 {
-       struct bt_private_value *params;
+       struct bt_value *params;
        int ret;
 
-       params = bt_private_value_map_create();
+       params = bt_value_map_create();
        if (!params) {
                BT_LOGE_STR("Cannot create a map value object.");
                goto error;
        }
 
-       ret = bt_private_value_map_insert_bool_entry(params,
+       ret = bt_value_map_insert_bool_entry(params,
                ASSUME_ABSOLUTE_CLOCK_CLASSES_PARAM_NAME, false);
        if (ret) {
                BT_LOGE_STR("Cannot add boolean value to map value object.");
@@ -265,18 +265,19 @@ struct bt_private_value *get_default_params(void)
        goto end;
 
 error:
-       BT_OBJECT_PUT_REF_AND_RESET(params);
+       BT_VALUE_PUT_REF_AND_RESET(params);
 
 end:
        return params;
 }
 
 static
-int configure_muxer_comp(struct muxer_comp *muxer_comp, struct bt_value *params)
+int configure_muxer_comp(struct muxer_comp *muxer_comp,
+               const struct bt_value *params)
 {
-       struct bt_private_value *default_params = NULL;
-       struct bt_private_value *real_params = NULL;
-       struct bt_value *assume_absolute_clock_classes = NULL;
+       struct bt_value *default_params = NULL;
+       struct bt_value *real_params = NULL;
+       const struct bt_value *assume_absolute_clock_classes = NULL;
        int ret = 0;
        bt_bool bool_val;
 
@@ -287,8 +288,7 @@ int configure_muxer_comp(struct muxer_comp *muxer_comp, struct bt_value *params)
                goto error;
        }
 
-       ret = bt_value_map_extend(&real_params,
-               bt_private_value_as_value(default_params), params);
+       ret = bt_value_map_extend(default_params, params, &real_params);
        if (ret) {
                BT_LOGE("Cannot extend default parameters map value: "
                        "muxer-comp-addr=%p, def-params-addr=%p, "
@@ -297,9 +297,8 @@ int configure_muxer_comp(struct muxer_comp *muxer_comp, struct bt_value *params)
                goto error;
        }
 
-       assume_absolute_clock_classes = bt_value_map_borrow_entry_value(
-               bt_private_value_as_value(real_params),
-               ASSUME_ABSOLUTE_CLOCK_CLASSES_PARAM_NAME);
+       assume_absolute_clock_classes = bt_value_map_borrow_entry_value(real_params,
+                                                                       ASSUME_ABSOLUTE_CLOCK_CLASSES_PARAM_NAME);
        if (assume_absolute_clock_classes &&
                        !bt_value_is_bool(assume_absolute_clock_classes)) {
                BT_LOGE("Expecting a boolean value for the `%s` parameter: "
@@ -321,8 +320,8 @@ error:
        ret = -1;
 
 end:
-       bt_object_put_ref(default_params);
-       bt_object_put_ref(real_params);
+       bt_value_put_ref(default_params);
+       bt_value_put_ref(real_params);
        return ret;
 }
 
@@ -415,7 +414,7 @@ struct bt_self_component_port_input_notification_iterator *
 create_notif_iter_on_input_port(
                struct bt_self_component_port_input *self_port, int *ret)
 {
-       struct bt_port *port = bt_self_component_port_as_port(
+       const struct bt_port *port = bt_self_component_port_as_port(
                bt_self_component_port_input_as_self_component_port(
                        self_port));
        struct bt_self_component_port_input_notification_iterator *notif_iter =
@@ -452,7 +451,7 @@ enum bt_notification_iterator_status muxer_upstream_notif_iter_next(
                struct muxer_upstream_notif_iter *muxer_upstream_notif_iter)
 {
        enum bt_notification_iterator_status status;
-       bt_notification_array notifs;
+       bt_notification_array_const notifs;
        uint64_t i;
        uint64_t count;
 
@@ -482,7 +481,7 @@ enum bt_notification_iterator_status muxer_upstream_notif_iter_next(
                         * from the head first.
                         */
                        g_queue_push_tail(muxer_upstream_notif_iter->notifs,
-                               notifs[i]);
+                               (void *) notifs[i]);
                }
                break;
        case BT_NOTIFICATION_ITERATOR_STATUS_AGAIN:
@@ -499,7 +498,7 @@ enum bt_notification_iterator_status muxer_upstream_notif_iter_next(
                 * won't be considered again to find the youngest
                 * notification.
                 */
-               BT_OBJECT_PUT_REF_AND_RESET(muxer_upstream_notif_iter->notif_iter);
+               BT_SELF_COMPONENT_PORT_INPUT_NOTIFICATION_ITERATOR_PUT_REF_AND_RESET(muxer_upstream_notif_iter->notif_iter);
                status = BT_NOTIFICATION_ITERATOR_STATUS_OK;
                break;
        default:
@@ -533,7 +532,7 @@ int muxer_notif_iter_handle_newly_connected_ports(
        while (true) {
                GList *node = muxer_notif_iter->newly_connected_self_ports;
                struct bt_self_component_port_input *self_port;
-               struct bt_port *port;
+               const struct bt_port *port;
                struct bt_self_component_port_input_notification_iterator *
                        upstream_notif_iter = NULL;
                struct muxer_upstream_notif_iter *muxer_upstream_notif_iter;
@@ -569,7 +568,7 @@ int muxer_notif_iter_handle_newly_connected_ports(
                muxer_upstream_notif_iter =
                        muxer_notif_iter_add_upstream_notif_iter(
                                muxer_notif_iter, upstream_notif_iter);
-               BT_OBJECT_PUT_REF_AND_RESET(upstream_notif_iter);
+               BT_SELF_COMPONENT_PORT_INPUT_NOTIFICATION_ITERATOR_PUT_REF_AND_RESET(upstream_notif_iter);
                if (!muxer_upstream_notif_iter) {
                        /*
                         * muxer_notif_iter_add_upstream_notif_iter()
@@ -579,7 +578,7 @@ int muxer_notif_iter_handle_newly_connected_ports(
                }
 
 remove_node:
-               bt_object_put_ref(upstream_notif_iter);
+               bt_self_component_port_input_notification_iterator_put_ref(upstream_notif_iter);
                muxer_notif_iter->newly_connected_self_ports =
                        g_list_delete_link(
                                muxer_notif_iter->newly_connected_self_ports,
@@ -600,12 +599,12 @@ end:
 static
 int get_notif_ts_ns(struct muxer_comp *muxer_comp,
                struct muxer_notif_iter *muxer_notif_iter,
-               struct bt_notification *notif, int64_t last_returned_ts_ns,
+               const struct bt_notification *notif, int64_t last_returned_ts_ns,
                int64_t *ts_ns)
 {
-       struct bt_clock_class *clock_class = NULL;
-       struct bt_clock_value *clock_value = NULL;
-       struct bt_event *event = NULL;
+       const struct bt_clock_class *clock_class = NULL;
+       const struct bt_clock_value *clock_value = NULL;
+       const struct bt_event *event = NULL;
        int ret = 0;
        const unsigned char *cc_uuid;
        const char *cc_name;
@@ -621,15 +620,15 @@ int get_notif_ts_ns(struct muxer_comp *muxer_comp,
 
        switch (bt_notification_get_type(notif)) {
        case BT_NOTIFICATION_TYPE_EVENT:
-               event = bt_notification_event_borrow_event(notif);
+               event = bt_notification_event_borrow_event_const(notif);
                BT_ASSERT(event);
-               cv_status = bt_event_borrow_default_clock_value(event,
+               cv_status = bt_event_borrow_default_clock_value_const(event,
                        &clock_value);
                break;
 
        case BT_NOTIFICATION_TYPE_INACTIVITY:
                clock_value =
-                       bt_notification_inactivity_borrow_default_clock_value(
+                       bt_notification_inactivity_borrow_default_clock_value_const(
                                notif);
                break;
        default:
@@ -657,7 +656,7 @@ int get_notif_ts_ns(struct muxer_comp *muxer_comp,
                goto end;
        }
 
-       clock_class = bt_clock_value_borrow_clock_class(clock_value);
+       clock_class = bt_clock_value_borrow_clock_class_const(clock_value);
        BT_ASSERT(clock_class);
        cc_uuid = bt_clock_class_get_uuid(clock_class);
        cc_name = bt_clock_class_get_name(clock_class);
@@ -871,7 +870,7 @@ muxer_notif_iter_youngest_upstream_notif_iter(
        *muxer_upstream_notif_iter = NULL;
 
        for (i = 0; i < muxer_notif_iter->muxer_upstream_notif_iters->len; i++) {
-               struct bt_notification *notif;
+               const struct bt_notification *notif;
                struct muxer_upstream_notif_iter *cur_muxer_upstream_notif_iter =
                        g_ptr_array_index(muxer_notif_iter->muxer_upstream_notif_iters, i);
                int64_t notif_ts_ns;
@@ -1005,7 +1004,7 @@ static inline
 enum bt_notification_iterator_status muxer_notif_iter_do_next_one(
                struct muxer_comp *muxer_comp,
                struct muxer_notif_iter *muxer_notif_iter,
-               struct bt_notification **notif)
+               const struct bt_notification **notif)
 {
        enum bt_notification_iterator_status status =
                BT_NOTIFICATION_ITERATOR_STATUS_OK;
@@ -1106,7 +1105,7 @@ static
 enum bt_notification_iterator_status muxer_notif_iter_do_next(
                struct muxer_comp *muxer_comp,
                struct muxer_notif_iter *muxer_notif_iter,
-               bt_notification_array notifs, uint64_t capacity,
+               bt_notification_array_const notifs, uint64_t capacity,
                uint64_t *count)
 {
        enum bt_notification_iterator_status status =
@@ -1188,7 +1187,7 @@ int muxer_notif_iter_init_newly_connected_ports(struct muxer_comp *muxer_comp,
                struct bt_self_component_port_input *self_port =
                        bt_self_component_filter_borrow_input_port_by_index(
                                muxer_comp->self_comp, i);
-               struct bt_port *port;
+               const struct bt_port *port;
 
                BT_ASSERT(self_port);
                port = bt_self_component_port_as_port(
@@ -1346,7 +1345,7 @@ void muxer_notif_iter_finalize(
 BT_HIDDEN
 enum bt_notification_iterator_status muxer_notif_iter_next(
                struct bt_self_notification_iterator *self_notif_iter,
-               bt_notification_array notifs, uint64_t capacity,
+               bt_notification_array_const notifs, uint64_t capacity,
                uint64_t *count)
 {
        enum bt_notification_iterator_status status;
@@ -1387,10 +1386,10 @@ BT_HIDDEN
 enum bt_self_component_status muxer_input_port_connected(
                struct bt_self_component_filter *self_comp,
                struct bt_self_component_port_input *self_port,
-               struct bt_port_output *other_port)
+               const struct bt_port_output *other_port)
 {
        enum bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK;
-       struct bt_port *port = bt_self_component_port_as_port(
+       const struct bt_port *port = bt_self_component_port_as_port(
                bt_self_component_port_input_as_self_component_port(
                        self_port));
        struct muxer_comp *muxer_comp =
@@ -1408,7 +1407,7 @@ enum bt_self_component_status muxer_input_port_connected(
                "other-port-addr=%p, other-port-name=\"%s\"",
                self_comp, muxer_comp, self_port, bt_port_get_name(port),
                other_port,
-               bt_port_get_name(bt_port_output_as_port(other_port)));
+               bt_port_get_name(bt_port_output_as_port_const(other_port)));
 
        for (i = 0; i < muxer_comp->muxer_notif_iters->len; i++) {
                struct muxer_notif_iter *muxer_notif_iter =
@@ -1468,7 +1467,7 @@ void muxer_input_port_disconnected(
                bt_self_component_get_data(
                        bt_self_component_filter_as_self_component(
                                self_component));
-       struct bt_port *port =
+       const struct bt_port *port =
                bt_self_component_port_as_port(
                        bt_self_component_port_input_as_self_component_port(
                                self_port));
This page took 0.027778 seconds and 4 git commands to generate.