X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fcomponent%2Fcomponent-connection-internal.h;h=c552636ed8553afd0d2200edfa0a5f7a52997e5a;hb=784cdc68b1cd40ca7ade4e0753830e45d0f524f8;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hpb=0a2d90242ddcc4022beec60dc37daa907e1ef080;p=babeltrace.git diff --git a/include/babeltrace/component/component-connection-internal.h b/include/babeltrace/component/component-connection-internal.h index e69de29b..c552636e 100644 --- a/include/babeltrace/component/component-connection-internal.h +++ b/include/babeltrace/component/component-connection-internal.h @@ -0,0 +1,56 @@ +#ifndef BABELTRACE_COMPONENT_CONNECTION_INTERNAL_H +#define BABELTRACE_COMPONENT_CONNECTION_INTERNAL_H + +/* + * BabelTrace - Component Connection Internal + * + * 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 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include + +struct bt_graph; + +struct bt_connection { + /* + * The graph is a connection's parent and the connection is the parent + * of all iterators it has created. + */ + struct bt_object base; + /* + * Weak references are held to both ports. Their existence is guaranteed + * by the existence of the graph and thus, of their respective + * components. + */ + /* Downstream port. */ + struct bt_port *input_port; + /* Upstream port. */ + struct bt_port *output_port; +}; + +BT_HIDDEN +struct bt_connection *bt_connection_create(struct bt_graph *graph, + struct bt_port *upstream, struct bt_port *downstream); + +#endif /* BABELTRACE_COMPONENT_CONNECTION_INTERNAL_H */