X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fgraph%2Fport-internal.h;h=7b0d819caceb176de9ece14400ffd12a5624858e;hb=efd923e5742993cedafc1eeeb04cfad4ddf5cc8d;hp=85d9d76bfa7ade1698f3900b8abe95f642a7a033;hpb=b2e0c9076135f47110af2d96dfaee397c597bc90;p=babeltrace.git diff --git a/include/babeltrace/graph/port-internal.h b/include/babeltrace/graph/port-internal.h index 85d9d76b..7b0d819c 100644 --- a/include/babeltrace/graph/port-internal.h +++ b/include/babeltrace/graph/port-internal.h @@ -1,13 +1,10 @@ -#ifndef BABELTRACE_COMPONENT_PORT_INTERNAL_H -#define BABELTRACE_COMPONENT_PORT_INTERNAL_H +#ifndef BABELTRACE_GRAPH_PORT_INTERNAL_H +#define BABELTRACE_GRAPH_PORT_INTERNAL_H /* - * BabelTrace - Babeltrace Component Port - * + * Copyright 2017-2018 Philippe Proulx * Copyright 2017 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 @@ -27,43 +24,44 @@ * SOFTWARE. */ -#include - -#ifdef __cplusplus -extern "C" { -#endif +#include struct bt_port { struct bt_object base; enum bt_port_type type; GString *name; struct bt_connection *connection; + void *user_data; }; -static inline -struct bt_port *bt_port_from_private( - struct bt_private_port *private_port) -{ - return (void *) private_port; -} - -static inline -struct bt_private_port *bt_private_port_from_port( - struct bt_port *port) -{ - return (void *) port; -} +struct bt_component; BT_HIDDEN struct bt_port *bt_port_create(struct bt_component *parent_component, - enum bt_port_type type, const char *name); + enum bt_port_type type, const char *name, void *user_data); BT_HIDDEN void bt_port_set_connection(struct bt_port *port, struct bt_connection *connection); -#ifdef __cplusplus +static inline +struct bt_component *bt_port_borrow_component_inline(const struct bt_port *port) +{ + BT_ASSERT(port); + return (void *) bt_object_borrow_parent(&port->base); +} + +static inline +const char *bt_port_type_string(enum bt_port_type port_type) +{ + switch (port_type) { + case BT_PORT_TYPE_INPUT: + return "BT_PORT_TYPE_INPUT"; + case BT_PORT_TYPE_OUTPUT: + return "BT_PORT_TYPE_OUTPUT"; + default: + return "(unknown)"; + } } -#endif -#endif /* BABELTRACE_COMPONENT_PORT_INTERNAL_H */ +#endif /* BABELTRACE_GRAPH_PORT_INTERNAL_H */