#include <inttypes.h>
#include <string.h>
#include <assert.h>
-#include <babeltrace/ctf-ir/event-class.h>
-#include <babeltrace/ctf-ir/event.h>
-#include <babeltrace/ctf-ir/field-types.h>
-#include <babeltrace/ctf-ir/fields.h>
-#include <babeltrace/ctf-ir/packet.h>
-#include <babeltrace/ctf-ir/stream-class.h>
-#include <babeltrace/ctf-ir/stream.h>
-#include <babeltrace/ctf-ir/trace.h>
-#include <babeltrace/graph/clock-class-priority-map.h>
-#include <babeltrace/graph/component-class-filter.h>
-#include <babeltrace/graph/component-class-sink.h>
-#include <babeltrace/graph/component-class-source.h>
-#include <babeltrace/graph/component-class.h>
-#include <babeltrace/graph/component-filter.h>
-#include <babeltrace/graph/component-sink.h>
-#include <babeltrace/graph/component-source.h>
-#include <babeltrace/graph/component.h>
-#include <babeltrace/graph/graph.h>
-#include <babeltrace/graph/notification-event.h>
-#include <babeltrace/graph/notification-inactivity.h>
-#include <babeltrace/graph/notification-iterator.h>
-#include <babeltrace/graph/notification-packet.h>
-#include <babeltrace/graph/port.h>
-#include <babeltrace/graph/private-component-source.h>
-#include <babeltrace/graph/private-component-sink.h>
-#include <babeltrace/graph/private-component.h>
-#include <babeltrace/graph/private-connection.h>
-#include <babeltrace/graph/private-notification-iterator.h>
-#include <babeltrace/graph/private-port.h>
-#include <babeltrace/plugin/plugin.h>
-#include <babeltrace/ref.h>
+#include <babeltrace/babeltrace.h>
#include <glib.h>
#include "tap/tap.h"
static GArray *test_events;
static struct bt_clock_class_priority_map *src_cc_prio_map;
static struct bt_clock_class_priority_map *src_empty_cc_prio_map;
-static struct bt_ctf_clock_class *src_clock_class;
-static struct bt_ctf_stream_class *src_stream_class;
-static struct bt_ctf_event_class *src_event_class;
-static struct bt_ctf_packet *src_packet0;
-static struct bt_ctf_packet *src_packet1;
-static struct bt_ctf_packet *src_packet2;
-static struct bt_ctf_packet *src_packet3;
+static struct bt_clock_class *src_clock_class;
+static struct bt_stream_class *src_stream_class;
+static struct bt_event_class *src_event_class;
+static struct bt_packet *src_packet0;
+static struct bt_packet *src_packet1;
+static struct bt_packet *src_packet2;
+static struct bt_packet *src_packet3;
enum {
SEQ_END = -1,
size_t iter_index;
int64_t *seq;
size_t at;
- struct bt_ctf_packet *packet;
+ struct bt_packet *packet;
};
struct sink_user_data {
void init_static_data(void)
{
int ret;
- struct bt_ctf_trace *trace;
- struct bt_ctf_stream *stream;
- struct bt_ctf_field_type *empty_struct_ft;
+ struct bt_trace *trace;
+ struct bt_stream *stream;
+ struct bt_field_type *empty_struct_ft;
/* Test events */
test_events = g_array_new(FALSE, TRUE, sizeof(struct test_event));
assert(test_events);
/* Metadata */
- empty_struct_ft = bt_ctf_field_type_structure_create();
+ empty_struct_ft = bt_field_type_structure_create();
assert(empty_struct_ft);
- trace = bt_ctf_trace_create();
+ trace = bt_trace_create();
assert(trace);
- ret = bt_ctf_trace_set_native_byte_order(trace,
- BT_CTF_BYTE_ORDER_LITTLE_ENDIAN);
+ ret = bt_trace_set_native_byte_order(trace,
+ BT_BYTE_ORDER_LITTLE_ENDIAN);
assert(ret == 0);
- ret = bt_ctf_trace_set_packet_header_type(trace, empty_struct_ft);
+ ret = bt_trace_set_packet_header_type(trace, empty_struct_ft);
assert(ret == 0);
- src_clock_class = bt_ctf_clock_class_create("my-clock");
+ src_clock_class = bt_clock_class_create("my-clock", 1000000000);
assert(src_clock_class);
- ret = bt_ctf_clock_class_set_is_absolute(src_clock_class, 1);
+ ret = bt_clock_class_set_is_absolute(src_clock_class, 1);
assert(ret == 0);
- ret = bt_ctf_trace_add_clock_class(trace, src_clock_class);
+ ret = bt_trace_add_clock_class(trace, src_clock_class);
assert(ret == 0);
src_empty_cc_prio_map = bt_clock_class_priority_map_create();
assert(src_empty_cc_prio_map);
ret = bt_clock_class_priority_map_add_clock_class(src_cc_prio_map,
src_clock_class, 0);
assert(ret == 0);
- src_stream_class = bt_ctf_stream_class_create("my-stream-class");
+ src_stream_class = bt_stream_class_create("my-stream-class");
assert(src_stream_class);
- ret = bt_ctf_stream_class_set_packet_context_type(src_stream_class,
+ ret = bt_stream_class_set_packet_context_type(src_stream_class,
empty_struct_ft);
assert(ret == 0);
- ret = bt_ctf_stream_class_set_event_header_type(src_stream_class,
+ ret = bt_stream_class_set_event_header_type(src_stream_class,
empty_struct_ft);
assert(ret == 0);
- ret = bt_ctf_stream_class_set_event_context_type(src_stream_class,
+ ret = bt_stream_class_set_event_context_type(src_stream_class,
empty_struct_ft);
assert(ret == 0);
- src_event_class = bt_ctf_event_class_create("my-event-class");
- ret = bt_ctf_event_class_set_context_type(src_event_class,
+ src_event_class = bt_event_class_create("my-event-class");
+ ret = bt_event_class_set_context_type(src_event_class,
empty_struct_ft);
assert(ret == 0);
- ret = bt_ctf_event_class_set_context_type(src_event_class,
+ ret = bt_event_class_set_context_type(src_event_class,
empty_struct_ft);
assert(ret == 0);
- ret = bt_ctf_stream_class_add_event_class(src_stream_class,
+ ret = bt_stream_class_add_event_class(src_stream_class,
src_event_class);
assert(ret == 0);
- ret = bt_ctf_trace_add_stream_class(trace, src_stream_class);
+ ret = bt_trace_add_stream_class(trace, src_stream_class);
assert(ret == 0);
- stream = bt_ctf_stream_create(src_stream_class, "stream0");
+ stream = bt_stream_create(src_stream_class, "stream0");
assert(stream);
- src_packet0 = bt_ctf_packet_create(stream);
+ src_packet0 = bt_packet_create(stream);
assert(src_packet0);
bt_put(stream);
- stream = bt_ctf_stream_create(src_stream_class, "stream1");
+ stream = bt_stream_create(src_stream_class, "stream1");
assert(stream);
- src_packet1 = bt_ctf_packet_create(stream);
+ src_packet1 = bt_packet_create(stream);
assert(src_packet0);
bt_put(stream);
- stream = bt_ctf_stream_create(src_stream_class, "stream2");
+ stream = bt_stream_create(src_stream_class, "stream2");
assert(stream);
- src_packet2 = bt_ctf_packet_create(stream);
+ src_packet2 = bt_packet_create(stream);
assert(src_packet0);
bt_put(stream);
- stream = bt_ctf_stream_create(src_stream_class, "stream3");
+ stream = bt_stream_create(src_stream_class, "stream3");
assert(stream);
- src_packet3 = bt_ctf_packet_create(stream);
+ src_packet3 = bt_packet_create(stream);
assert(src_packet0);
bt_put(stream);
static
void src_iter_finalize(
- struct bt_private_notification_iterator *private_notification_iterator)
+ struct bt_private_connection_private_notification_iterator *private_notification_iterator)
{
struct src_iter_user_data *user_data =
- bt_private_notification_iterator_get_user_data(
+ bt_private_connection_private_notification_iterator_get_user_data(
private_notification_iterator);
if (user_data) {
static
enum bt_notification_iterator_status src_iter_init(
- struct bt_private_notification_iterator *priv_notif_iter,
+ struct bt_private_connection_private_notification_iterator *priv_notif_iter,
struct bt_private_port *private_port)
{
struct src_iter_user_data *user_data =
g_new0(struct src_iter_user_data, 1);
- struct bt_port *port = bt_port_from_private_port(private_port);
+ struct bt_port *port = bt_port_from_private(private_port);
const char *port_name;
int ret;
assert(user_data);
assert(port);
- ret = bt_private_notification_iterator_set_user_data(priv_notif_iter,
+ ret = bt_private_connection_private_notification_iterator_set_user_data(priv_notif_iter,
user_data);
assert(ret == 0);
port_name = bt_port_get_name(port);
}
static
-struct bt_ctf_event *src_create_event(struct bt_ctf_packet *packet,
+struct bt_event *src_create_event(struct bt_packet *packet,
int64_t ts_ns)
{
- struct bt_ctf_event *event = bt_ctf_event_create(src_event_class);
+ struct bt_event *event = bt_event_create(src_event_class);
int ret;
assert(event);
- ret = bt_ctf_event_set_packet(event, packet);
+ ret = bt_event_set_packet(event, packet);
assert(ret == 0);
if (ts_ns != -1) {
- struct bt_ctf_clock_value *clock_value;
+ struct bt_clock_value *clock_value;
- clock_value = bt_ctf_clock_value_create(src_clock_class,
+ clock_value = bt_clock_value_create(src_clock_class,
(uint64_t) ts_ns);
assert(clock_value);
- ret = bt_ctf_event_set_clock_value(event, clock_value);
+ ret = bt_event_set_clock_value(event, clock_value);
assert(ret == 0);
bt_put(clock_value);
}
}
static
-struct bt_notification_iterator_next_return src_iter_next_seq(
+struct bt_notification_iterator_next_method_return src_iter_next_seq(
struct src_iter_user_data *user_data)
{
- struct bt_notification_iterator_next_return next_return = {
+ struct bt_notification_iterator_next_method_return next_return = {
.status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
};
int64_t cur_ts_ns;
break;
default:
{
- struct bt_ctf_event *event = src_create_event(
+ struct bt_event *event = src_create_event(
user_data->packet, cur_ts_ns);
assert(event);
}
static
-struct bt_notification_iterator_next_return src_iter_next(
- struct bt_private_notification_iterator *priv_iterator)
+struct bt_notification_iterator_next_method_return src_iter_next(
+ struct bt_private_connection_private_notification_iterator *priv_iterator)
{
- struct bt_notification_iterator_next_return next_return = {
+ struct bt_notification_iterator_next_method_return next_return = {
.notification = NULL,
.status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
};
struct src_iter_user_data *user_data =
- bt_private_notification_iterator_get_user_data(priv_iterator);
+ bt_private_connection_private_notification_iterator_get_user_data(priv_iterator);
struct bt_private_component *private_component =
- bt_private_notification_iterator_get_private_component(priv_iterator);
+ bt_private_connection_private_notification_iterator_get_private_component(priv_iterator);
+ int ret;
assert(user_data);
assert(private_component);
user_data->packet);
assert(next_return.notification);
} else if (user_data->at < 6) {
- struct bt_ctf_event *event = src_create_event(
+ struct bt_event *event = src_create_event(
user_data->packet, -1);
assert(event);
break;
case TEST_SINGLE_END_THEN_MULTIPLE_FULL:
if (user_data->iter_index == 0) {
- struct bt_private_port *priv_port;
-
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out1", NULL);
- assert(priv_port);
- bt_put(priv_port);
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out2", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out1", NULL, NULL);
+ assert(ret == 0);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out2", NULL, NULL);
+ assert(ret == 0);
next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
} else {
next_return = src_iter_next_seq(user_data);
next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_AGAIN;
user_data->at++;
} else {
- struct bt_private_port *priv_port;
-
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out1", NULL);
- assert(priv_port);
- bt_put(priv_port);
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out2", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out1", NULL, NULL);
+ assert(ret == 0);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out2", NULL, NULL);
+ assert(ret == 0);
next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
}
} else {
struct bt_private_component *private_component,
struct bt_value *params, void *init_method_data)
{
- struct bt_private_port *priv_port;
+ int ret;
size_t nb_ports;
switch (current_test) {
}
if (nb_ports >= 1) {
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out0", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out0", NULL, NULL);
+ assert(ret == 0);
}
if (nb_ports >= 2) {
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out1", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out1", NULL, NULL);
+ assert(ret == 0);
}
if (nb_ports >= 3) {
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out2", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out2", NULL, NULL);
+ assert(ret == 0);
}
if (nb_ports >= 4) {
- priv_port = bt_private_component_source_add_output_private_port(
- private_component, "out3", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "out3", NULL, NULL);
+ assert(ret == 0);
}
return BT_COMPONENT_STATUS_OK;
switch (bt_notification_get_type(notification)) {
case BT_NOTIFICATION_TYPE_EVENT:
{
- struct bt_ctf_event *event;
+ struct bt_event *event;
struct bt_clock_class_priority_map *cc_prio_map;
test_event.type = TEST_EV_TYPE_NOTIF_EVENT;
assert(event);
if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
- struct bt_ctf_clock_value *clock_value;
- struct bt_ctf_clock_class *clock_class =
+ struct bt_clock_value *clock_value;
+ struct bt_clock_class *clock_class =
bt_clock_class_priority_map_get_highest_priority_clock_class(
cc_prio_map);
assert(clock_class);
- clock_value = bt_ctf_event_get_clock_value(event,
+ clock_value = bt_event_get_clock_value(event,
clock_class);
assert(clock_value);
- ret = bt_ctf_clock_value_get_value_ns_from_epoch(
+ ret = bt_clock_value_get_value_ns_from_epoch(
clock_value, &test_event.ts_ns);
assert(ret == 0);
bt_put(clock_value);
assert(cc_prio_map);
if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
- struct bt_ctf_clock_value *clock_value;
- struct bt_ctf_clock_class *clock_class =
+ struct bt_clock_value *clock_value;
+ struct bt_clock_class *clock_class =
bt_clock_class_priority_map_get_highest_priority_clock_class(
cc_prio_map);
bt_notification_inactivity_get_clock_value(
notification, clock_class);
assert(clock_value);
- ret = bt_ctf_clock_value_get_value_ns_from_epoch(
+ ret = bt_clock_value_get_value_ns_from_epoch(
clock_value, &test_event.ts_ns);
assert(ret == 0);
bt_put(clock_value);
bt_private_port_get_private_connection(self_private_port);
struct sink_user_data *user_data = bt_private_component_get_user_data(
private_component);
+ enum bt_connection_status conn_status;
assert(user_data);
assert(priv_conn);
- user_data->notif_iter =
- bt_private_connection_create_notification_iterator(priv_conn,
- NULL);
- assert(user_data->notif_iter);
+ conn_status = bt_private_connection_create_notification_iterator(
+ priv_conn, NULL, &user_data->notif_iter);
+ assert(conn_status == 0);
bt_put(priv_conn);
}
{
struct sink_user_data *user_data = g_new0(struct sink_user_data, 1);
int ret;
- void *priv_port;
assert(user_data);
ret = bt_private_component_set_user_data(private_component,
user_data);
assert(ret == 0);
- priv_port = bt_private_component_sink_add_input_private_port(
- private_component, "in", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_sink_add_input_private_port(
+ private_component, "in", NULL, NULL);
+ assert(ret == 0);
return BT_COMPONENT_STATUS_OK;
}
}
static
-void create_source_muxer_sink(struct bt_component **source,
+void create_source_muxer_sink(struct bt_graph *graph,
+ struct bt_component **source,
struct bt_component **muxer,
struct bt_component **sink)
{
ret = bt_component_class_source_set_notification_iterator_finalize_method(
src_comp_class, src_iter_finalize);
assert(ret == 0);
- *source = bt_component_create(src_comp_class, "source", NULL);
- assert(*source);
+ ret = bt_graph_add_component(graph, src_comp_class, "source", NULL, source);
+ assert(ret == 0);
/* Create muxer component */
muxer_comp_class = bt_plugin_find_component_class("utils", "muxer",
BT_COMPONENT_CLASS_TYPE_FILTER);
assert(muxer_comp_class);
- *muxer = bt_component_create(muxer_comp_class, "muxer", NULL);
- assert(*muxer);
+ ret = bt_graph_add_component(graph, muxer_comp_class, "muxer", NULL, muxer);
+ assert(ret == 0);
/* Create sink component */
sink_comp_class = bt_component_class_sink_create("sink", sink_consume);
ret = bt_component_class_set_port_connected_method(sink_comp_class,
sink_port_connected);
assert(ret == 0);
- *sink = bt_component_create(sink_comp_class, "sink", NULL);
+ ret = bt_graph_add_component(graph, sink_comp_class, "sink", NULL, sink);
+ assert(ret == 0);
bt_put(src_comp_class);
bt_put(muxer_comp_class);
clear_test_events();
current_test = test;
diag("test: %s", name);
- create_source_muxer_sink(&src_comp, &muxer_comp, &sink_comp);
graph = bt_graph_create();
assert(graph);
+ create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
/* Connect source output ports to muxer input ports */
if (with_upstream) {
clear_test_events();
current_test = TEST_SINGLE_END_THEN_MULTIPLE_FULL;
diag("test: single end then multiple full");
- create_source_muxer_sink(&src_comp, &muxer_comp, &sink_comp);
graph = bt_graph_create();
assert(graph);
+ create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
graph_listener_data.graph = graph;
graph_listener_data.source = src_comp;
graph_listener_data.muxer = muxer_comp;
graph_listener_data.sink = sink_comp;
ret = bt_graph_add_port_added_listener(graph,
- graph_port_added_listener_connect_to_avail_muxer_port,
+ graph_port_added_listener_connect_to_avail_muxer_port, NULL,
&graph_listener_data);
assert(ret >= 0);
clear_test_events();
current_test = TEST_SINGLE_AGAIN_END_THEN_MULTIPLE_FULL;
diag("test: single again then end then multiple full");
- create_source_muxer_sink(&src_comp, &muxer_comp, &sink_comp);
graph = bt_graph_create();
assert(graph);
+ create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
graph_listener_data.graph = graph;
graph_listener_data.source = src_comp;
graph_listener_data.muxer = muxer_comp;
graph_listener_data.sink = sink_comp;
ret = bt_graph_add_port_added_listener(graph,
- graph_port_added_listener_connect_to_avail_muxer_port,
+ graph_port_added_listener_connect_to_avail_muxer_port, NULL,
&graph_listener_data);
assert(ret >= 0);