X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fgraph%2Fcomponent-class-internal.h;fp=include%2Fbabeltrace%2Fgraph%2Fcomponent-class-internal.h;h=0000000000000000000000000000000000000000;hp=b6e71881e106fc5d352c016a8d167ec8d563e16a;hb=3fadfbc0c91f82c46bd36e6e0657ea93570c9db1;hpb=7e69c04f557e46fb50e5a888a3bc3451afbd3b8e diff --git a/include/babeltrace/graph/component-class-internal.h b/include/babeltrace/graph/component-class-internal.h deleted file mode 100644 index b6e71881..00000000 --- a/include/babeltrace/graph/component-class-internal.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef BABELTRACE_GRAPH_COMPONENT_CLASS_INTERNAL_H -#define BABELTRACE_GRAPH_COMPONENT_CLASS_INTERNAL_H - -/* - * 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 - * 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 -#include -#include -#include -#include -#include -#include -#include -#include - -struct bt_component_class; -struct bt_plugin_so_shared_lib_handle; - -typedef void (*bt_component_class_destroy_listener_func)( - struct bt_component_class *class, void *data); - -struct bt_component_class_destroy_listener { - bt_component_class_destroy_listener_func func; - void *data; -}; - -struct bt_component_class { - struct bt_object base; - enum bt_component_class_type type; - GString *name; - GString *description; - GString *help; - - /* Array of struct bt_component_class_destroy_listener */ - GArray *destroy_listeners; - bool frozen; - struct bt_list_head node; - struct bt_plugin_so_shared_lib_handle *so_handle; -}; - -struct bt_component_class_source { - struct bt_component_class parent; - struct { - bt_component_class_source_init_method init; - bt_component_class_source_finalize_method finalize; - bt_component_class_source_message_iterator_init_method msg_iter_init; - bt_component_class_source_message_iterator_finalize_method msg_iter_finalize; - bt_component_class_source_message_iterator_next_method msg_iter_next; - bt_component_class_source_message_iterator_seek_ns_from_origin_method msg_iter_seek_ns_from_origin; - bt_component_class_source_message_iterator_seek_beginning_method msg_iter_seek_beginning; - bt_component_class_source_message_iterator_can_seek_ns_from_origin_method msg_iter_can_seek_ns_from_origin; - bt_component_class_source_message_iterator_can_seek_beginning_method msg_iter_can_seek_beginning; - bt_component_class_source_query_method query; - bt_component_class_source_accept_output_port_connection_method accept_output_port_connection; - bt_component_class_source_output_port_connected_method output_port_connected; - } methods; -}; - -struct bt_component_class_sink { - struct bt_component_class parent; - struct { - bt_component_class_sink_init_method init; - bt_component_class_sink_finalize_method finalize; - bt_component_class_sink_query_method query; - bt_component_class_sink_accept_input_port_connection_method accept_input_port_connection; - bt_component_class_sink_input_port_connected_method input_port_connected; - bt_component_class_sink_graph_is_configured_method graph_is_configured; - bt_component_class_sink_consume_method consume; - } methods; -}; - -struct bt_component_class_filter { - struct bt_component_class parent; - struct { - bt_component_class_filter_init_method init; - bt_component_class_filter_finalize_method finalize; - bt_component_class_filter_message_iterator_init_method msg_iter_init; - bt_component_class_filter_message_iterator_finalize_method msg_iter_finalize; - bt_component_class_filter_message_iterator_next_method msg_iter_next; - bt_component_class_filter_message_iterator_seek_ns_from_origin_method msg_iter_seek_ns_from_origin; - bt_component_class_filter_message_iterator_seek_beginning_method msg_iter_seek_beginning; - bt_component_class_filter_message_iterator_can_seek_ns_from_origin_method msg_iter_can_seek_ns_from_origin; - bt_component_class_filter_message_iterator_can_seek_beginning_method msg_iter_can_seek_beginning; - bt_component_class_filter_query_method query; - bt_component_class_filter_accept_input_port_connection_method accept_input_port_connection; - bt_component_class_filter_accept_output_port_connection_method accept_output_port_connection; - bt_component_class_filter_input_port_connected_method input_port_connected; - bt_component_class_filter_output_port_connected_method output_port_connected; - } methods; -}; - -BT_HIDDEN -void bt_component_class_add_destroy_listener(struct bt_component_class *class, - bt_component_class_destroy_listener_func func, void *data); - -BT_HIDDEN -void _bt_component_class_freeze( - const struct bt_component_class *component_class); - -#ifdef BT_DEV_MODE -# define bt_component_class_freeze _bt_component_class_freeze -#else -# define bt_component_class_freeze(_cc) -#endif - -static inline -const char *bt_component_class_type_string(enum bt_component_class_type type) -{ - switch (type) { - case BT_COMPONENT_CLASS_TYPE_SOURCE: - return "BT_COMPONENT_CLASS_TYPE_SOURCE"; - case BT_COMPONENT_CLASS_TYPE_SINK: - return "BT_COMPONENT_CLASS_TYPE_SINK"; - case BT_COMPONENT_CLASS_TYPE_FILTER: - return "BT_COMPONENT_CLASS_TYPE_FILTER"; - default: - return "(unknown)"; - } -} - -#endif /* BABELTRACE_GRAPH_COMPONENT_CLASS_INTERNAL_H */