X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fgraph%2Fcomponent-source.c;h=73740cda62992a1b01759ba449da63fea460b922;hb=68b66a256a54d32992dfefeaad11eea88b7df234;hp=39755af47c7c799b7c3613ea7a32bcfdb02d9eb0;hpb=7474e7d3f0d005280c6614be5c818735e65d8b3b;p=babeltrace.git diff --git a/lib/graph/component-source.c b/lib/graph/component-source.c index 39755af4..73740cda 100644 --- a/lib/graph/component-source.c +++ b/lib/graph/component-source.c @@ -22,19 +22,19 @@ */ #define BT_LOG_TAG "COMP-SOURCE" -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include BT_HIDDEN void bt_component_source_destroy(struct bt_component *component) @@ -57,6 +57,22 @@ end: return (void *) source; } +const bt_component_class_source * +bt_component_source_borrow_class_const( + const bt_component_source *component) +{ + struct bt_component_class *cls; + + BT_ASSERT_PRE_NON_NULL(component, "Component"); + + cls = component->parent.class; + + BT_ASSERT(cls); + BT_ASSERT(cls->type == BT_COMPONENT_CLASS_TYPE_SOURCE); + + return (bt_component_class_source *) cls; +} + uint64_t bt_component_source_get_output_port_count( const struct bt_component_source *comp) { @@ -99,13 +115,12 @@ enum bt_self_component_status bt_self_component_source_add_output_port( struct bt_self_component_port_output **self_port) { struct bt_component *comp = (void *) self_comp; - int status = BT_SELF_COMPONENT_STATUS_OK; + enum bt_self_component_status status; struct bt_port *port = NULL; /* bt_component_add_output_port() logs details and errors */ - port = (void *) bt_component_add_output_port(comp, name, user_data); - if (!port) { - status = BT_SELF_COMPONENT_STATUS_NOMEM; + status = bt_component_add_output_port(comp, name, user_data, &port); + if (status != BT_SELF_COMPONENT_STATUS_OK) { goto end; }