X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fgraph%2Fcomponent-internal.h;h=452e6c5aa5c9bbb735ed22a86b44d8cf65dfa530;hb=7e69c04f557e46fb50e5a888a3bc3451afbd3b8e;hp=8d3f73a91abd66aebbfc204b9a5e249338e5e83c;hpb=6d137876393a3a8af5e4ad756c4ae849be0399c9;p=babeltrace.git diff --git a/include/babeltrace/graph/component-internal.h b/include/babeltrace/graph/component-internal.h index 8d3f73a9..452e6c5a 100644 --- a/include/babeltrace/graph/component-internal.h +++ b/include/babeltrace/graph/component-internal.h @@ -1,13 +1,10 @@ -#ifndef BABELTRACE_COMPONENT_COMPONENT_INTERNAL_H -#define BABELTRACE_COMPONENT_COMPONENT_INTERNAL_H +#ifndef BABELTRACE_GRAPH_COMPONENT_INTERNAL_H +#define BABELTRACE_GRAPH_COMPONENT_INTERNAL_H /* - * BabelTrace - Component internal - * + * Copyright 2017-2018 Philippe Proulx * Copyright 2015 Jérémie Galarneau * - * Author: Jérémie Galarneau - * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights @@ -28,11 +25,12 @@ */ #include -#include +#include #include #include #include #include +#include #include #include @@ -44,6 +42,8 @@ struct bt_component_destroy_listener { void *data; }; +struct bt_graph; + struct bt_component { struct bt_object base; struct bt_component_class *class; @@ -68,84 +68,66 @@ struct bt_component { bool initialized; }; -static inline -struct bt_component *bt_component_borrow_from_private( - struct bt_private_component *private_component) -{ - return (void *) private_component; -} - -static inline -struct bt_private_component *bt_private_component_from_component( - struct bt_component *component) -{ - return (void *) component; -} - static inline struct bt_graph *bt_component_borrow_graph(struct bt_component *comp) { - assert(comp); - return (void *) comp->base.parent; + BT_ASSERT(comp); + return (void *) bt_object_borrow_parent(&comp->base); } BT_HIDDEN -enum bt_component_status bt_component_create( - struct bt_component_class *component_class, +int bt_component_create(struct bt_component_class *component_class, const char *name, struct bt_component **component); BT_HIDDEN -enum bt_component_status bt_component_accept_port_connection( +enum bt_self_component_status bt_component_accept_port_connection( struct bt_component *component, struct bt_port *self_port, struct bt_port *other_port); BT_HIDDEN -void bt_component_port_connected(struct bt_component *comp, +enum bt_self_component_status bt_component_port_connected( + struct bt_component *comp, struct bt_port *self_port, struct bt_port *other_port); -BT_HIDDEN -void bt_component_port_disconnected(struct bt_component *comp, - struct bt_port *port); - BT_HIDDEN void bt_component_set_graph(struct bt_component *component, struct bt_graph *graph); BT_HIDDEN -int64_t bt_component_get_input_port_count(struct bt_component *comp); +uint64_t bt_component_get_input_port_count(const struct bt_component *comp); BT_HIDDEN -int64_t bt_component_get_output_port_count(struct bt_component *comp); +uint64_t bt_component_get_output_port_count(const struct bt_component *comp); BT_HIDDEN -struct bt_port *bt_component_get_input_port_by_index(struct bt_component *comp, - uint64_t index); +struct bt_port_input *bt_component_borrow_input_port_by_index( + struct bt_component *comp, uint64_t index); BT_HIDDEN -struct bt_port *bt_component_get_output_port_by_index(struct bt_component *comp, - uint64_t index); +struct bt_port_output *bt_component_borrow_output_port_by_index( + struct bt_component *comp, uint64_t index); BT_HIDDEN -struct bt_port *bt_component_get_input_port_by_name(struct bt_component *comp, - const char *name); +struct bt_port_input *bt_component_borrow_input_port_by_name( + struct bt_component *comp, const char *name); BT_HIDDEN -struct bt_port *bt_component_get_output_port_by_name(struct bt_component *comp, - const char *name); +struct bt_port_output *bt_component_borrow_output_port_by_name( + struct bt_component *comp, const char *name); BT_HIDDEN -struct bt_port *bt_component_add_input_port( +enum bt_self_component_status bt_component_add_input_port( struct bt_component *component, const char *name, - void *user_data); + void *user_data, struct bt_port **port); BT_HIDDEN -struct bt_port *bt_component_add_output_port( +enum bt_self_component_status bt_component_add_output_port( struct bt_component *component, const char *name, - void *user_data); + void *user_data, struct bt_port **port); BT_HIDDEN -enum bt_component_status bt_component_remove_port( - struct bt_component *component, struct bt_port *port); +void bt_component_remove_port(struct bt_component *component, + struct bt_port *port); BT_HIDDEN void bt_component_add_destroy_listener(struct bt_component *component, @@ -156,32 +138,25 @@ void bt_component_remove_destroy_listener(struct bt_component *component, bt_component_destroy_listener_func func, void *data); static inline -const char *bt_component_status_string(enum bt_component_status status) +const char *bt_self_component_status_string( + enum bt_self_component_status status) { switch (status) { - case BT_COMPONENT_STATUS_OK: - return "BT_COMPONENT_STATUS_OK"; - case BT_COMPONENT_STATUS_END: - return "BT_COMPONENT_STATUS_END"; - case BT_COMPONENT_STATUS_AGAIN: - return "BT_COMPONENT_STATUS_AGAIN"; - case BT_COMPONENT_STATUS_REFUSE_PORT_CONNECTION: - return "BT_COMPONENT_STATUS_REFUSE_PORT_CONNECTION"; - case BT_COMPONENT_STATUS_ERROR: - return "BT_COMPONENT_STATUS_ERROR"; - case BT_COMPONENT_STATUS_UNSUPPORTED: - return "BT_COMPONENT_STATUS_UNSUPPORTED"; - case BT_COMPONENT_STATUS_INVALID: - return "BT_COMPONENT_STATUS_INVALID"; - case BT_COMPONENT_STATUS_NOMEM: - return "BT_COMPONENT_STATUS_NOMEM"; - case BT_COMPONENT_STATUS_NOT_FOUND: - return "BT_COMPONENT_STATUS_NOT_FOUND"; - case BT_COMPONENT_STATUS_GRAPH_IS_CANCELED: - return "BT_COMPONENT_STATUS_GRAPH_IS_CANCELED"; + case BT_SELF_COMPONENT_STATUS_OK: + return "BT_SELF_COMPONENT_STATUS_OK"; + case BT_SELF_COMPONENT_STATUS_END: + return "BT_SELF_COMPONENT_STATUS_END"; + case BT_SELF_COMPONENT_STATUS_AGAIN: + return "BT_SELF_COMPONENT_STATUS_AGAIN"; + case BT_SELF_COMPONENT_STATUS_REFUSE_PORT_CONNECTION: + return "BT_SELF_COMPONENT_STATUS_REFUSE_PORT_CONNECTION"; + case BT_SELF_COMPONENT_STATUS_ERROR: + return "BT_SELF_COMPONENT_STATUS_ERROR"; + case BT_SELF_COMPONENT_STATUS_NOMEM: + return "BT_SELF_COMPONENT_STATUS_NOMEM"; default: return "(unknown)"; } } -#endif /* BABELTRACE_COMPONENT_COMPONENT_INTERNAL_H */ +#endif /* BABELTRACE_GRAPH_COMPONENT_INTERNAL_H */