Remove default port API
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Tue, 2 May 2017 17:14:20 +0000 (13:14 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sun, 28 May 2017 16:57:41 +0000 (12:57 -0400)
With the possibility of creating new ports for the whole lifetime of
a component, default ports aren't so useful and their name is
arbitrary. We don't need this for the 2.0 target.

The existing component classes are changed like so:

* debug-info.debug-info [filter]: one `in` input port and one `out`
  output port

* text.pretty [sink]: one `in` input port

* utils.dummy [sink]: one `in` input port

* utils.trimmer [filter]: one `in` input port and one `out` output port

* writer.writer [sink]: one `in` input port

Tests are updated accordingly.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
24 files changed:
cli/babeltrace.c
include/babeltrace/graph/component-filter.h
include/babeltrace/graph/component-internal.h
include/babeltrace/graph/component-sink.h
include/babeltrace/graph/component-source.h
include/babeltrace/graph/port.h
include/babeltrace/graph/private-component-filter.h
include/babeltrace/graph/private-component-sink.h
include/babeltrace/graph/private-component-source.h
lib/graph/component.c
lib/graph/filter.c
lib/graph/sink.c
lib/graph/source.c
plugins/ctf/fs/fs.c
plugins/debug-info/plugin.c
plugins/text/pretty/pretty.c
plugins/utils/dummy/dummy.c
plugins/utils/muxer/muxer.c
plugins/utils/trimmer/iterator.c
plugins/utils/trimmer/trimmer.c
plugins/writer/writer.c
tests/lib/test_bt_notification_iterator.c
tests/lib/test_graph_topo.c
tests/plugins/test-utils-muxer.c

index 0ef2491bd6384d8a01cd15bd704cedca9293b758..8391c4a9d21a0e3469e82142fccde91b58626a02 100644 (file)
@@ -554,6 +554,8 @@ int connect_source_sink(struct bt_graph *graph,
                struct bt_component *sink)
 {
        int ret = 0;
+
+#if 0
        struct bt_connection *connection = NULL;
        struct bt_component *trimmer = NULL;
        struct bt_port *source_port =
@@ -623,6 +625,8 @@ end:
        bt_put(sink_port);
        bt_put(to_sink_port);
        bt_put(connection);
+
+#endif
        return ret;
 }
 
index 43da9db00e9afd2bb49283f05db3425e2c87d420..26ebf15772a0d201967ce96604bb81a098e15a72 100644 (file)
@@ -43,8 +43,6 @@ extern struct bt_port *bt_component_filter_get_input_port_by_name(
                struct bt_component *component, const char *name);
 extern struct bt_port *bt_component_filter_get_input_port_by_index(
                struct bt_component *component, uint64_t index);
-extern struct bt_port *bt_component_filter_get_default_input_port(
-               struct bt_component *component);
 
 extern int64_t bt_component_filter_get_output_port_count(
                struct bt_component *component);
@@ -52,8 +50,6 @@ extern struct bt_port *bt_component_filter_get_output_port_by_name(
                struct bt_component *component, const char *name);
 extern struct bt_port *bt_component_filter_get_output_port_by_index(
                struct bt_component *component, uint64_t index);
-extern struct bt_port *bt_component_filter_get_default_output_port(
-               struct bt_component *component);
 
 #ifdef __cplusplus
 }
index 2308afdd5ea363f2561085d2405133dbb150e70a..fe55a601ff3f6678b6b211d155a32aa02e7abc92 100644 (file)
@@ -35,9 +35,6 @@
 #include <glib.h>
 #include <stdio.h>
 
-#define DEFAULT_INPUT_PORT_NAME                "default"
-#define DEFAULT_OUTPUT_PORT_NAME       "default"
-
 typedef void (*bt_component_destroy_listener_func)(
                struct bt_component *class, void *data);
 
index 96a935c51c7caf581b8970e661897ab05cebf18e..e30e2648821bf39499567658d5363ff670b0affb 100644 (file)
@@ -43,8 +43,6 @@ extern struct bt_port *bt_component_sink_get_input_port_by_name(
                struct bt_component *component, const char *name);
 extern struct bt_port *bt_component_sink_get_input_port_by_index(
                struct bt_component *component, uint64_t index);
-extern struct bt_port *bt_component_sink_get_default_input_port(
-               struct bt_component *component);
 
 #ifdef __cplusplus
 }
index 75cf02138b15ac4cff5f1f80f4fe6e50ea04018f..a1809a981156d6e1cb869e540971b4dd8fae1159 100644 (file)
@@ -43,8 +43,6 @@ extern struct bt_port *bt_component_source_get_output_port_by_name(
                struct bt_component *component, const char *name);
 extern struct bt_port *bt_component_source_get_output_port_by_index(
                struct bt_component *component, uint64_t index);
-extern struct bt_port *bt_component_source_get_default_output_port(
-               struct bt_component *component);
 
 #ifdef __cplusplus
 }
index af4063415811a733a251f86e2e8e58871f236e6f..b759b6ab07d1e2dc5cddf81f4781733e4d955a82 100644 (file)
@@ -49,8 +49,6 @@ enum bt_port_type {
        BT_PORT_TYPE_UNKOWN = -1,
 };
 
-extern const char *BT_DEFAULT_PORT_NAME;
-
 extern const char *bt_port_get_name(struct bt_port *port);
 extern enum bt_port_type bt_port_get_type(struct bt_port *port);
 extern struct bt_connection *bt_port_get_connection(struct bt_port *port);
index bb3cfe75f114052916cce350193333f3b86d3ea4..ec19534e3718810a23444430d9f18fcc97a32912 100644 (file)
@@ -42,10 +42,6 @@ extern struct bt_private_port *
 bt_private_component_filter_get_output_private_port_by_index(
                struct bt_private_component *private_component, uint64_t index);
 
-extern struct bt_private_port *
-bt_private_component_filter_get_default_output_private_port(
-               struct bt_private_component *private_component);
-
 extern struct bt_private_port *
 bt_private_component_filter_add_output_private_port(
                struct bt_private_component *private_component,
@@ -60,10 +56,6 @@ extern struct bt_private_port *
 bt_private_component_filter_get_input_private_port_by_index(
                struct bt_private_component *private_component, uint64_t index);
 
-extern struct bt_private_port *
-bt_private_component_filter_get_default_input_private_port(
-               struct bt_private_component *private_component);
-
 extern struct bt_private_port *
 bt_private_component_filter_add_input_private_port(
                struct bt_private_component *private_component,
index 9c473ccc591f9e2395fbe80ce1599eee644aea5a..d05d22c2fd15dba6ca8c3db4451f788ffcd883a4 100644 (file)
@@ -42,10 +42,6 @@ extern struct bt_private_port *
 bt_private_component_sink_get_input_private_port_by_index(
                struct bt_private_component *private_component, uint64_t index);
 
-extern struct bt_private_port *
-bt_private_component_sink_get_default_input_private_port(
-               struct bt_private_component *private_component);
-
 extern struct bt_private_port *
 bt_private_component_sink_add_input_private_port(
                struct bt_private_component *private_component,
index da65320392bc946c40986f079b13caa246f1f26e..086091a0030224fbdaccbf144264208a9553a54e 100644 (file)
@@ -43,10 +43,6 @@ bt_private_component_source_get_output_private_port_by_index(
                struct bt_private_component *private_component,
                uint64_t index);
 
-extern struct bt_private_port *
-bt_private_component_source_get_default_output_private_port(
-               struct bt_private_component *private_component);
-
 extern struct bt_private_port *
 bt_private_component_source_add_output_private_port(
                struct bt_private_component *private_component,
index 7b433ea9626441bd9203a186924cc6f21ba30b41..c4f26a8989c6d78e0914ecc016eda6f746c2c811 100644 (file)
@@ -209,7 +209,6 @@ struct bt_component *bt_component_create_with_init_method_data(
        int ret;
        struct bt_component *component = NULL;
        enum bt_component_class_type type;
-       struct bt_port *default_port = NULL;
 
        bt_get(params);
 
@@ -273,32 +272,6 @@ struct bt_component *bt_component_create_with_init_method_data(
                goto end;
        }
 
-       if (type == BT_COMPONENT_CLASS_TYPE_SOURCE ||
-                       type == BT_COMPONENT_CLASS_TYPE_FILTER) {
-               default_port = bt_component_add_port(component,
-                       component->output_ports, BT_PORT_TYPE_OUTPUT,
-                       DEFAULT_OUTPUT_PORT_NAME, NULL);
-               if (!default_port) {
-                       BT_PUT(component);
-                       goto end;
-               }
-
-               BT_PUT(default_port);
-       }
-
-       if (type == BT_COMPONENT_CLASS_TYPE_FILTER ||
-                       type == BT_COMPONENT_CLASS_TYPE_SINK) {
-               default_port = bt_component_add_port(component,
-                       component->input_ports, BT_PORT_TYPE_INPUT,
-                       DEFAULT_INPUT_PORT_NAME, NULL);
-               if (!default_port) {
-                       BT_PUT(component);
-                       goto end;
-               }
-
-               BT_PUT(default_port);
-       }
-
        component->initializing = true;
 
        if (component_class->methods.init) {
@@ -322,7 +295,6 @@ struct bt_component *bt_component_create_with_init_method_data(
        bt_component_class_freeze(component->class);
 end:
        bt_put(params);
-       bt_put(default_port);
        return component;
 }
 
index e109e15ed434adcba9ec2913976f85e1b36c28ba..aaab3b78c91f6b7b0c9a20775f384521e00e5741 100644 (file)
@@ -126,13 +126,6 @@ end:
        return port;
 }
 
-struct bt_port *bt_component_filter_get_default_input_port(
-               struct bt_component *component)
-{
-       return bt_component_filter_get_input_port_by_name(component,
-                       DEFAULT_INPUT_PORT_NAME);
-}
-
 int64_t bt_component_filter_get_output_port_count(
                struct bt_component *component)
 {
@@ -179,13 +172,6 @@ end:
        return port;
 }
 
-struct bt_port *bt_component_filter_get_default_output_port(
-               struct bt_component *component)
-{
-       return bt_component_filter_get_output_port_by_name(component,
-                       DEFAULT_OUTPUT_PORT_NAME);
-}
-
 struct bt_private_port *
 bt_private_component_filter_get_input_private_port_by_index(
                struct bt_private_component *private_component, uint64_t index)
@@ -196,12 +182,13 @@ bt_private_component_filter_get_input_private_port_by_index(
 }
 
 struct bt_private_port *
-bt_private_component_filter_get_default_input_private_port(
-               struct bt_private_component *private_component)
+bt_private_component_filter_get_input_private_port_by_name(
+               struct bt_private_component *private_component,
+               const char *name)
 {
        return bt_private_port_from_port(
-               bt_component_filter_get_default_input_port(
-                       bt_component_from_private(private_component)));
+               bt_component_filter_get_input_port_by_name(
+                       bt_component_from_private(private_component), name));
 }
 
 struct bt_private_port *bt_private_component_filter_add_input_private_port(
@@ -232,12 +219,13 @@ bt_private_component_filter_get_output_private_port_by_index(
 }
 
 struct bt_private_port *
-bt_private_component_filter_get_default_output_private_port(
-               struct bt_private_component *private_component)
+bt_private_component_filter_get_output_private_port_by_name(
+               struct bt_private_component *private_component,
+               const char *name)
 {
        return bt_private_port_from_port(
-               bt_component_filter_get_default_output_port(
-                       bt_component_from_private(private_component)));
+               bt_component_filter_get_output_port_by_name(
+                       bt_component_from_private(private_component), name));
 }
 
 struct bt_private_port *bt_private_component_filter_add_output_private_port(
index 1eedcf73fd7d4428cd5e65d36675d54172b33dfc..e99d111f4309fa87711fe4331a47bad66b5fd0f4 100644 (file)
@@ -145,13 +145,6 @@ end:
        return port;
 }
 
-struct bt_port *bt_component_sink_get_default_input_port(
-               struct bt_component *component)
-{
-       return bt_component_sink_get_input_port_by_name(component,
-                       DEFAULT_INPUT_PORT_NAME);
-}
-
 struct bt_private_port *
 bt_private_component_sink_get_input_private_port_by_index(
                struct bt_private_component *private_component, uint64_t index)
@@ -161,12 +154,14 @@ bt_private_component_sink_get_input_private_port_by_index(
                        bt_component_from_private(private_component), index));
 }
 
-struct bt_private_port *bt_private_component_sink_get_default_input_private_port(
-               struct bt_private_component *private_component)
+struct bt_private_port *
+bt_private_component_sink_get_input_private_port_by_name(
+               struct bt_private_component *private_component,
+               const char *name)
 {
        return bt_private_port_from_port(
-               bt_component_sink_get_default_input_port(
-                       bt_component_from_private(private_component)));
+               bt_component_sink_get_input_port_by_name(
+                       bt_component_from_private(private_component), name));
 }
 
 struct bt_private_port *bt_private_component_sink_add_input_private_port(
index e76959b8722b53f046f39d0466b338fc75daf87f..566d1c0eb0229df36712a2bfccec2c208fcffd5b 100644 (file)
@@ -125,13 +125,6 @@ end:
        return port;
 }
 
-struct bt_port *bt_component_source_get_default_output_port(
-               struct bt_component *component)
-{
-       return bt_component_source_get_output_port_by_name(component,
-                       DEFAULT_OUTPUT_PORT_NAME);
-}
-
 struct bt_private_port *
 bt_private_component_source_get_output_private_port_by_name(
                struct bt_private_component *private_component,
@@ -151,14 +144,6 @@ bt_private_component_source_get_output_private_port_by_index(
                        bt_component_from_private(private_component), index));
 }
 
-struct bt_private_port *bt_private_component_source_get_default_output_private_port(
-               struct bt_private_component *private_component)
-{
-       return bt_private_port_from_port(
-               bt_component_source_get_default_output_port(
-                       bt_component_from_private(private_component)));
-}
-
 struct bt_private_port *bt_private_component_source_add_output_private_port(
                struct bt_private_component *private_component,
                const char *name, void *user_data)
index 669d2daa906d259dd586be96dcd6963cc46da524..2abd9b57cc02aa77e17a3653a9afeab08ed02dcb 100644 (file)
@@ -229,17 +229,8 @@ int create_ports(struct ctf_fs_component *ctf_fs)
        const char *basename;
        GError *error = NULL;
        GDir *dir = NULL;
-       struct bt_private_port *def_port;
        struct ctf_fs_file *file = NULL;
 
-       /* Remove default port if needed */
-       def_port = bt_private_component_source_get_default_output_private_port(
-               ctf_fs->priv_comp);
-       if (def_port) {
-               bt_private_port_remove_from_component(def_port);
-               bt_put(def_port);
-       }
-
        /* Create one output port for each stream file */
        dir = g_dir_open(ctf_fs->trace_path->str, 0, &error);
        if (!dir) {
index d0294c90a4b986ec0964cc98d0e6e7f1fb77aac5..9795bcf3b1c4496067d781428380e0ecf7d2cd83 100644 (file)
@@ -318,7 +318,8 @@ enum bt_notification_iterator_status debug_info_iterator_init(
        }
 
        /* Create a new iterator on the upstream component. */
-       input_port = bt_private_component_filter_get_default_input_private_port(component);
+       input_port = bt_private_component_filter_get_input_private_port_by_name(
+               component, "in");
        assert(input_port);
        connection = bt_private_port_get_private_connection(input_port);
        assert(connection);
index ea317cb3d16c37f77aa3196892e677db97ebe419..cea5fe688f080511e9b5c63903f020864380f86c 100644 (file)
@@ -30,6 +30,7 @@
 #include <babeltrace/plugin/plugin-dev.h>
 #include <babeltrace/graph/component.h>
 #include <babeltrace/graph/private-component.h>
+#include <babeltrace/graph/private-component-sink.h>
 #include <babeltrace/graph/component-sink.h>
 #include <babeltrace/graph/port.h>
 #include <babeltrace/graph/private-port.h>
@@ -705,12 +706,22 @@ enum bt_component_status pretty_init(
 {
        enum bt_component_status ret;
        struct pretty_component *pretty = create_pretty();
+       void *priv_port;
 
        if (!pretty) {
                ret = BT_COMPONENT_STATUS_NOMEM;
                goto end;
        }
 
+       priv_port = bt_private_component_sink_add_input_private_port(component,
+               "in", NULL);
+       if (!priv_port) {
+               ret = BT_COMPONENT_STATUS_NOMEM;
+               goto end;
+       }
+
+       bt_put(priv_port);
+
        pretty->out = stdout;
        pretty->err = stderr;
 
index 3d7de4d50cf89960917a5d1c50f013cf046e5597..978ecdeacd6d871c7c8de0823821baa0ecf9a825 100644 (file)
@@ -23,6 +23,7 @@
 #include <babeltrace/plugin/plugin-dev.h>
 #include <babeltrace/graph/component.h>
 #include <babeltrace/graph/private-component.h>
+#include <babeltrace/graph/private-component-sink.h>
 #include <babeltrace/graph/private-port.h>
 #include <babeltrace/graph/port.h>
 #include <babeltrace/graph/private-connection.h>
@@ -58,12 +59,21 @@ enum bt_component_status dummy_init(struct bt_private_component *component,
 {
        enum bt_component_status ret;
        struct dummy *dummy = g_new0(struct dummy, 1);
+       void *priv_port;
 
        if (!dummy) {
                ret = BT_COMPONENT_STATUS_NOMEM;
                goto end;
        }
 
+       priv_port = bt_private_component_sink_add_input_private_port(component,
+               "in", NULL);
+       if (!priv_port) {
+               ret = BT_COMPONENT_STATUS_NOMEM;
+               goto end;
+       }
+
+       bt_put(priv_port);
        dummy->iterators = g_ptr_array_new_with_free_func(
                        (GDestroyNotify) bt_put);
        if (!dummy->iterators) {
index e967093b25c02c40fef867a5e2887ae202522b2c..895be677ee60390461e903670e57ffa9141f276a 100644 (file)
@@ -180,36 +180,6 @@ end:
        return ret;
 }
 
-static
-int remove_default_ports(struct bt_private_component *priv_comp)
-{
-       struct bt_private_port *priv_port;
-       int ret = 0;
-
-       priv_port = bt_private_component_filter_get_default_input_private_port(
-               priv_comp);
-       if (priv_port) {
-               ret = bt_private_port_remove_from_component(priv_port);
-               if (ret) {
-                       goto end;
-               }
-       }
-
-       bt_put(priv_port);
-       priv_port = bt_private_component_filter_get_default_output_private_port(
-               priv_comp);
-       if (priv_port) {
-               ret = bt_private_port_remove_from_component(priv_port);
-               if (ret) {
-                       goto end;
-               }
-       }
-
-end:
-       bt_put(priv_port);
-       return ret;
-}
-
 static
 int create_output_port(struct bt_private_component *priv_comp)
 {
@@ -261,11 +231,6 @@ enum bt_component_status muxer_init(
        muxer_comp->priv_comp = priv_comp;
        ret = bt_private_component_set_user_data(priv_comp, muxer_comp);
        assert(ret == 0);
-       ret = remove_default_ports(priv_comp);
-       if (ret) {
-               goto error;
-       }
-
        ret = ensure_available_input_port(priv_comp);
        if (ret) {
                goto error;
index 6043db92764ac33450f2e4180eb5836fc20883e9..e6427307ebb235aa2971aadb104f0cf865cbd4dc 100644 (file)
@@ -84,8 +84,8 @@ enum bt_notification_iterator_status trimmer_iterator_init(
        }
 
        /* Create a new iterator on the upstream component. */
-       input_port = bt_private_component_filter_get_default_input_private_port(
-               component);
+       input_port = bt_private_component_filter_get_input_private_port_by_name(
+               component, "in");
        assert(input_port);
        connection = bt_private_port_get_private_connection(input_port);
        assert(connection);
index d3f907e168f4f40eaa81247df333a2bab367d37c..8ec1332fb0b09f2e9935df6c421d0d13448ff314 100644 (file)
@@ -33,6 +33,7 @@
 #include <babeltrace/graph/notification.h>
 #include <babeltrace/graph/notification-iterator.h>
 #include <babeltrace/graph/private-notification-iterator.h>
+#include <babeltrace/graph/private-component-filter.h>
 #include <babeltrace/graph/notification-event.h>
 #include <plugins-common.h>
 #include "trimmer.h"
@@ -357,12 +358,27 @@ enum bt_component_status trimmer_component_init(
 {
        enum bt_component_status ret;
        struct trimmer *trimmer = create_trimmer_data();
+       struct bt_private_port *priv_port = NULL;
 
        if (!trimmer) {
                ret = BT_COMPONENT_STATUS_NOMEM;
                goto end;
        }
 
+       /* Create input and output ports */
+       priv_port = bt_private_component_filter_add_input_private_port(
+               component, "in", NULL);
+       if (!priv_port) {
+               goto error;
+       }
+
+       bt_put(priv_port);
+       priv_port = bt_private_component_filter_add_output_private_port(
+               component, "out", NULL);
+       if (!priv_port) {
+               goto error;
+       }
+
        ret = bt_private_component_set_user_data(component, trimmer);
        if (ret != BT_COMPONENT_STATUS_OK) {
                goto error;
@@ -370,8 +386,10 @@ enum bt_component_status trimmer_component_init(
 
        ret = init_from_params(trimmer, params);
 end:
+       bt_put(priv_port);
        return ret;
 error:
        destroy_trimmer_data(trimmer);
+       ret = BT_COMPONENT_STATUS_ERROR;
        return ret;
 }
index d50af13bf74528380f9d50e9010a877e12a8898f..118210ab2bfe42e771a40dbde7d3fc445105af0e 100644 (file)
@@ -265,12 +265,22 @@ enum bt_component_status writer_component_init(
        struct writer_component *writer_component = create_writer_component();
        struct bt_value *value = NULL;
        const char *path;
+       void *priv_port;
 
        if (!writer_component) {
                ret = BT_COMPONENT_STATUS_NOMEM;
                goto end;
        }
 
+       priv_port = bt_private_component_sink_add_input_private_port(component,
+               "in", NULL);
+       if (!priv_port) {
+               ret = BT_COMPONENT_STATUS_NOMEM;
+               goto end;
+       }
+
+       bt_put(priv_port);
+
        value = bt_value_map_get(params, "path");
        if (!value || bt_value_is_null(value) || !bt_value_is_string(value)) {
                fprintf(writer_component->err,
index 6b53c3689af223d369d3f96328d7b9770b06bc6f..303c42bdc464076d59384a734b74fa98f5f44647 100644 (file)
@@ -45,6 +45,7 @@
 #include <babeltrace/graph/notification-stream.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>
@@ -701,6 +702,12 @@ enum bt_component_status src_init(
                struct bt_private_component *private_component,
                struct bt_value *params, void *init_method_data)
 {
+       void *priv_port;
+
+       priv_port = bt_private_component_source_add_output_private_port(
+               private_component, "out", NULL);
+       assert(priv_port);
+       bt_put(priv_port);
        return BT_COMPONENT_STATUS_OK;
 }
 
@@ -836,11 +843,16 @@ enum bt_component_status sink_init(
 {
        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);
        return BT_COMPONENT_STATUS_OK;
 }
 
@@ -917,9 +929,9 @@ void do_std_test(enum test test, const char *name,
        assert(graph);
 
        /* Connect source to sink */
-       upstream_port = bt_component_source_get_default_output_port(src_comp);
+       upstream_port = bt_component_source_get_output_port_by_name(src_comp, "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
        conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
        assert(conn);
index ccde32afe4fafeb440d94440df7424e45624772b..058da9e8ce6783e85abfa3bf58d1ce1c8ce81431 100644 (file)
@@ -373,6 +373,19 @@ void src_port_disconnected(struct bt_private_component *private_component,
        }
 }
 
+static
+enum bt_component_status src_init(struct bt_private_component *priv_comp,
+       struct bt_value *params, void *init_method_data)
+{
+       void *priv_port;
+
+       priv_port = bt_private_component_source_add_output_private_port(
+               priv_comp, "out", NULL);
+       assert(priv_port);
+       bt_put(priv_port);
+       return BT_COMPONENT_STATUS_OK;
+}
+
 static
 enum bt_component_status sink_consume(
                struct bt_private_component *priv_component)
@@ -383,8 +396,8 @@ enum bt_component_status sink_consume(
        switch (current_test) {
        case TEST_SINK_REMOVES_PORT_IN_CONSUME:
        case TEST_SINK_REMOVES_PORT_IN_CONSUME_THEN_SRC_REMOVES_DISCONNECTED_PORT:
-               def_port = bt_private_component_sink_get_default_input_private_port(
-                       priv_component);
+               def_port = bt_private_component_sink_get_input_private_port_by_name(
+                       priv_component, "in");
                assert(def_port);
                ret = bt_private_port_remove_from_component(def_port);
                assert(ret == 0);
@@ -433,6 +446,19 @@ void sink_port_disconnected(struct bt_private_component *private_component,
        append_event(&event);
 }
 
+static
+enum bt_component_status sink_init(struct bt_private_component *priv_comp,
+       struct bt_value *params, void *init_method_data)
+{
+       void *priv_port;
+
+       priv_port = bt_private_component_sink_add_input_private_port(priv_comp,
+               "in", NULL);
+       assert(priv_port);
+       bt_put(priv_port);
+       return BT_COMPONENT_STATUS_OK;
+}
+
 static
 void graph_port_added(struct bt_port *port,
                void *data)
@@ -526,6 +552,8 @@ void init_test(void)
 
        src_comp_class = bt_component_class_source_create("src", src_iter_next);
        assert(src_comp_class);
+       ret = bt_component_class_set_init_method(src_comp_class, src_init);
+       assert(ret == 0);
        ret = bt_component_class_set_accept_port_connection_method(
                src_comp_class, accept_port_connection);
        assert(ret == 0);
@@ -537,6 +565,8 @@ void init_test(void)
        assert(ret == 0);
        sink_comp_class = bt_component_class_sink_create("sink", sink_consume);
        assert(sink_comp_class);
+       ret = bt_component_class_set_init_method(sink_comp_class, sink_init);
+       assert(ret == 0);
        ret = bt_component_class_set_accept_port_connection_method(
                sink_comp_class, accept_port_connection);
        assert(ret == 0);
@@ -636,9 +666,9 @@ void test_sink_removes_port_in_port_connected_then_src_removes_disconnected_port
        src = create_src();
        sink = create_sink();
        graph = create_graph();
-       src_def_port = bt_component_source_get_default_output_port(src);
+       src_def_port = bt_component_source_get_output_port_by_name(src, "out");
        assert(src_def_port);
-       sink_def_port = bt_component_sink_get_default_input_port(sink);
+       sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
        assert(sink_def_port);
        conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
        assert(conn);
@@ -797,9 +827,9 @@ void test_sink_removes_port_in_port_connected(void)
        src = create_src();
        sink = create_sink();
        graph = create_graph();
-       src_def_port = bt_component_source_get_default_output_port(src);
+       src_def_port = bt_component_source_get_output_port_by_name(src, "out");
        assert(src_def_port);
-       sink_def_port = bt_component_sink_get_default_input_port(sink);
+       sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
        assert(sink_def_port);
        conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
        assert(conn);
@@ -940,9 +970,9 @@ void test_src_adds_port_in_port_connected(void)
        src = create_src();
        sink = create_sink();
        graph = create_graph();
-       src_def_port = bt_component_source_get_default_output_port(src);
+       src_def_port = bt_component_source_get_output_port_by_name(src, "out");
        assert(src_def_port);
-       sink_def_port = bt_component_sink_get_default_input_port(sink);
+       sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
        assert(sink_def_port);
        conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
        assert(conn);
@@ -1045,9 +1075,9 @@ void test_simple(void)
        src = create_src();
        sink = create_sink();
        graph = create_graph();
-       src_def_port = bt_component_source_get_default_output_port(src);
+       src_def_port = bt_component_source_get_output_port_by_name(src, "out");
        assert(src_def_port);
-       sink_def_port = bt_component_sink_get_default_input_port(sink);
+       sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
        assert(sink_def_port);
        conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
        assert(conn);
index 0f679628fc1a1be6b702bc7f496ecb94f0581e47..1b4c94ec2c43e595295eee7ac78411c6561d2a64 100644 (file)
@@ -45,6 +45,7 @@
 #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>
@@ -685,17 +686,8 @@ enum bt_component_status src_init(
                struct bt_value *params, void *init_method_data)
 {
        struct bt_private_port *priv_port;
-       int ret;
        size_t nb_ports;
 
-       priv_port = bt_private_component_source_get_default_output_private_port(
-               private_component);
-       if (priv_port) {
-               ret = bt_private_port_remove_from_component(priv_port);
-               assert(ret == 0);
-               bt_put(priv_port);
-       }
-
        switch (current_test) {
        case TEST_NO_TS:
                nb_ports = 2;
@@ -904,11 +896,16 @@ enum bt_component_status sink_init(
 {
        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);
        return BT_COMPONENT_STATUS_OK;
 }
 
@@ -1023,7 +1020,7 @@ void do_std_test(enum test test, const char *name,
        upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
        conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
        assert(conn);
@@ -1499,7 +1496,7 @@ void test_single_end_then_multiple_full(void)
        upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
        conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
        assert(conn);
@@ -1628,7 +1625,7 @@ void test_single_again_end_then_multiple_full(void)
        upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
        conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
        assert(conn);
This page took 0.039067 seconds and 4 git commands to generate.