#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>
GPtrArray *muxer_notif_iters;
/* Weak ref */
- struct bt_self_component_filter *self_comp;
+ bt_self_component_filter *self_comp;
unsigned int next_port_num;
size_t available_input_ports;
struct muxer_upstream_notif_iter {
/* Owned by this, NULL if ended */
- struct bt_self_component_port_input_notification_iterator *notif_iter;
+ bt_self_component_port_input_notification_iterator *notif_iter;
- /* Contains `struct bt_notification *`, owned by this */
+ /* Contains `const bt_notification *`, owned by this */
GQueue *notifs;
};
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 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);
static
struct muxer_upstream_notif_iter *muxer_notif_iter_add_upstream_notif_iter(
struct muxer_notif_iter *muxer_notif_iter,
- struct bt_self_component_port_input_notification_iterator *self_notif_iter)
+ bt_self_component_port_input_notification_iterator *self_notif_iter)
{
struct muxer_upstream_notif_iter *muxer_upstream_notif_iter =
g_new0(struct muxer_upstream_notif_iter, 1);
}
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.");
static
enum bt_self_component_status ensure_available_input_port(
- struct bt_self_component_filter *self_comp)
+ bt_self_component_filter *self_comp)
{
struct muxer_comp *muxer_comp = bt_self_component_get_data(
bt_self_component_filter_as_self_component(self_comp));
static
enum bt_self_component_status create_output_port(
- struct bt_self_component_filter *self_comp)
+ bt_self_component_filter *self_comp)
{
return bt_self_component_filter_add_output_port(
self_comp, "out", NULL, NULL);
}
static
-struct bt_private_value *get_default_params(void)
+bt_value *get_default_params(void)
{
- struct bt_private_value *params;
+ 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.");
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 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;
+ bt_value *default_params = NULL;
+ bt_value *real_params = NULL;
+ const bt_value *assume_absolute_clock_classes = NULL;
int ret = 0;
bt_bool bool_val;
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, "
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: "
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;
}
BT_HIDDEN
enum bt_self_component_status muxer_init(
- struct bt_self_component_filter *self_comp,
- struct bt_value *params, void *init_data)
+ bt_self_component_filter *self_comp,
+ bt_value *params, void *init_data)
{
int ret;
enum bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK;
}
BT_HIDDEN
-void muxer_finalize(struct bt_self_component_filter *self_comp)
+void muxer_finalize(bt_self_component_filter *self_comp)
{
struct muxer_comp *muxer_comp = bt_self_component_get_data(
bt_self_component_filter_as_self_component(self_comp));
}
static
-struct bt_self_component_port_input_notification_iterator *
+bt_self_component_port_input_notification_iterator *
create_notif_iter_on_input_port(
- struct bt_self_component_port_input *self_port, int *ret)
+ bt_self_component_port_input *self_port, int *ret)
{
- struct bt_port *port = bt_self_component_port_as_port(
+ const 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 =
+ bt_self_component_port_input_notification_iterator *notif_iter =
NULL;
BT_ASSERT(ret);
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;
* 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:
* 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:
*/
while (true) {
GList *node = muxer_notif_iter->newly_connected_self_ports;
- struct bt_self_component_port_input *self_port;
- struct bt_port *port;
- struct bt_self_component_port_input_notification_iterator *
+ bt_self_component_port_input *self_port;
+ const bt_port *port;
+ bt_self_component_port_input_notification_iterator *
upstream_notif_iter = NULL;
struct muxer_upstream_notif_iter *muxer_upstream_notif_iter;
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()
}
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,
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 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 bt_clock_class *clock_class = NULL;
+ const bt_clock_value *clock_value = NULL;
+ const bt_event *event = NULL;
int ret = 0;
const unsigned char *cc_uuid;
const char *cc_name;
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:
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);
*muxer_upstream_notif_iter = NULL;
for (i = 0; i < muxer_notif_iter->muxer_upstream_notif_iters->len; i++) {
- struct bt_notification *notif;
+ const 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;
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 bt_notification **notif)
{
enum bt_notification_iterator_status status =
BT_NOTIFICATION_ITERATOR_STATUS_OK;
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 =
}
for (i = 0; i < count; i++) {
- struct bt_self_component_port_input *self_port =
+ 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 bt_port *port;
BT_ASSERT(self_port);
port = bt_self_component_port_as_port(
BT_HIDDEN
enum bt_self_notification_iterator_status muxer_notif_iter_init(
- struct bt_self_notification_iterator *self_notif_iter,
- struct bt_self_component_filter *self_comp,
- struct bt_self_component_port_output *port)
+ bt_self_notification_iterator *self_notif_iter,
+ bt_self_component_filter *self_comp,
+ bt_self_component_port_output *port)
{
struct muxer_comp *muxer_comp = NULL;
struct muxer_notif_iter *muxer_notif_iter = NULL;
BT_HIDDEN
void muxer_notif_iter_finalize(
- struct bt_self_notification_iterator *self_notif_iter)
+ bt_self_notification_iterator *self_notif_iter)
{
struct muxer_notif_iter *muxer_notif_iter =
bt_self_notification_iterator_get_data(self_notif_iter);
- struct bt_self_component *self_comp = NULL;
+ bt_self_component *self_comp = NULL;
struct muxer_comp *muxer_comp = NULL;
self_comp = bt_self_notification_iterator_borrow_component(
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_self_notification_iterator *self_notif_iter,
+ bt_notification_array_const notifs, uint64_t capacity,
uint64_t *count)
{
enum bt_notification_iterator_status status;
struct muxer_notif_iter *muxer_notif_iter =
bt_self_notification_iterator_get_data(self_notif_iter);
- struct bt_self_component *self_comp = NULL;
+ bt_self_component *self_comp = NULL;
struct muxer_comp *muxer_comp = NULL;
BT_ASSERT(muxer_notif_iter);
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)
+ bt_self_component_filter *self_comp,
+ bt_self_component_port_input *self_port,
+ const 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 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 =
"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 =
BT_HIDDEN
void muxer_input_port_disconnected(
- struct bt_self_component_filter *self_component,
- struct bt_self_component_port_input *self_port)
+ bt_self_component_filter *self_component,
+ bt_self_component_port_input *self_port)
{
struct muxer_comp *muxer_comp =
bt_self_component_get_data(
bt_self_component_filter_as_self_component(
self_component));
- struct bt_port *port =
+ const bt_port *port =
bt_self_component_port_as_port(
bt_self_component_port_input_as_self_component_port(
self_port));