#include <babeltrace/babeltrace.h>
#include <babeltrace/plugin/plugin.h>
#include <babeltrace/component/component.h>
-#include <babeltrace/component/source.h>
-#include <babeltrace/component/sink.h>
-#include <babeltrace/component/filter.h>
+#include <babeltrace/component/component-source.h>
+#include <babeltrace/component/component-sink.h>
+#include <babeltrace/component/component-filter.h>
#include <babeltrace/component/component-class.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/ref.h>
babeltrace/component/component-class-sink.h \
babeltrace/component/component-connection.h \
babeltrace/component/component-graph.h \
- babeltrace/component/source.h \
- babeltrace/component/sink.h \
- babeltrace/component/filter.h \
+ babeltrace/component/component-source.h \
+ babeltrace/component/component-sink.h \
+ babeltrace/component/component-filter.h \
babeltrace/component/notification/eot.h \
babeltrace/component/notification/notification.h \
babeltrace/component/notification/event.h \
babeltrace/component/component-connection-internal.h \
babeltrace/component/component-internal.h \
babeltrace/component/component-graph-internal.h \
- babeltrace/component/filter-internal.h \
- babeltrace/component/sink-internal.h \
- babeltrace/component/source-internal.h \
+ babeltrace/component/component-filter-internal.h \
+ babeltrace/component/component-sink-internal.h \
+ babeltrace/component/component-source-internal.h \
babeltrace/component/input.h \
babeltrace/component/notification/eot-internal.h \
babeltrace/component/notification/event-internal.h \
--- /dev/null
+#ifndef BABELTRACE_COMPONENT_FILTER_INTERNAL_H
+#define BABELTRACE_COMPONENT_FILTER_INTERNAL_H
+
+/*
+ * BabelTrace - Filter Component Internal
+ *
+ * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * 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 <babeltrace/babeltrace-internal.h>
+#include <babeltrace/component/component-internal.h>
+#include <babeltrace/component/component-class-internal.h>
+#include <babeltrace/component/input.h>
+
+struct bt_value;
+
+struct bt_component_filter {
+ struct bt_component parent;
+ struct component_input input;
+};
+
+/**
+ * Allocate a filter component.
+ *
+ * @param class Component class
+ * @param params A dictionary of component parameters
+ * @returns A filter component instance
+ */
+BT_HIDDEN
+struct bt_component *bt_component_filter_create(
+ struct bt_component_class *class, struct bt_value *params);
+
+/**
+ * Validate a filter component.
+ *
+ * @param component Filter component instance to validate
+ * @returns One of #bt_component_status
+ */
+BT_HIDDEN
+enum bt_component_status bt_component_filter_validate(
+ struct bt_component *component);
+
+#endif /* BABELTRACE_COMPONENT_FILTER_INTERNAL_H */
--- /dev/null
+#ifndef BABELTRACE_COMPONENT_FILTER_H
+#define BABELTRACE_COMPONENT_FILTER_H
+
+/*
+ * BabelTrace - Filter Plug-in Interface
+ *
+ * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * 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 <stdint.h>
+#include <babeltrace/component/component.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_component;
+struct bt_notification_iterator;
+
+/**
+ * Add a notification iterator to a filter component.
+ *
+ * @param component Component instance
+ * @param iterator Notification iterator to add
+ * @returns One of #bt_component_status values
+ */
+extern
+enum bt_component_status bt_component_filter_add_iterator(
+ struct bt_component *component,
+ struct bt_notification_iterator *iterator);
+
+/**
+ * Create an iterator on a component instance.
+ *
+ * @param component Component instance
+ * @returns Notification iterator instance
+ */
+extern
+struct bt_notification_iterator *bt_component_filter_create_iterator(
+ struct bt_component *component);
+
+/* Defaults to 1. */
+extern enum bt_component_status
+bt_component_filter_set_minimum_input_count(struct bt_component *filter,
+ unsigned int minimum);
+
+/* Defaults to 1. */
+extern enum bt_component_status
+bt_component_filter_set_maximum_input_count(struct bt_component *filter,
+ unsigned int maximum);
+
+extern enum bt_component_status
+bt_component_filter_get_input_count(struct bt_component *filter,
+ unsigned int *count);
+
+/* May return NULL after an interator has reached its end. */
+extern enum bt_component_status
+bt_component_filter_get_input_iterator(struct bt_component *filter,
+ unsigned int input, struct bt_notification_iterator **iterator);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_COMPONENT_FILTER_H */
--- /dev/null
+#ifndef BABELTRACE_COMPONENT_SINK_INTERNAL_H
+#define BABELTRACE_COMPONENT_SINK_INTERNAL_H
+
+/*
+ * BabelTrace - Sink Component internal
+ *
+ * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * 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 <babeltrace/babeltrace-internal.h>
+#include <babeltrace/component/component-internal.h>
+#include <babeltrace/component/component-class-internal.h>
+#include <babeltrace/component/input.h>
+
+struct bt_value;
+
+//typedef uint32_t notification_mask_t;
+
+struct bt_component_sink {
+ struct bt_component parent;
+ struct component_input input;
+/* notification_mask_t registered_notifications_mask;*/
+};
+
+/**
+ * Allocate a sink component.
+ *
+ * @param class Component class
+ * @param params A dictionary of component parameters
+ * @returns A sink component instance
+ */
+BT_HIDDEN
+struct bt_component *bt_component_sink_create(
+ struct bt_component_class *class, struct bt_value *params);
+
+/**
+ * Validate a sink component.
+ *
+ * @param component Sink component instance to validate
+ * @returns One of #bt_component_status
+ */
+BT_HIDDEN
+enum bt_component_status bt_component_sink_validate(
+ struct bt_component *component);
+
+#endif /* BABELTRACE_COMPONENT_SINK_INTERNAL_H */
--- /dev/null
+#ifndef BABELTRACE_COMPONENT_SINK_H
+#define BABELTRACE_COMPONENT_SINK_H
+
+/*
+ * BabelTrace - Sink Component Interface
+ *
+ * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * 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 <babeltrace/component/component.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_component;
+struct bt_notification;
+
+/**
+ * Add a notification iterator to a sink component.
+ *
+ * @param component Component instance
+ * @param iterator Notification iterator to add
+ * @returns One of #bt_component_status values
+ */
+extern
+enum bt_component_status bt_component_sink_add_iterator(
+ struct bt_component *component,
+ struct bt_notification_iterator *iterator);
+
+/**
+ * Process one event, consuming from sources as needed.
+ *
+ * @param component Component instance
+ * @returns One of #bt_component_status values
+ */
+extern
+enum bt_component_status bt_component_sink_consume(
+ struct bt_component *component);
+
+/* Defaults to 1. */
+extern enum bt_component_status
+bt_component_sink_set_minimum_input_count(struct bt_component *sink,
+ unsigned int minimum);
+
+/* Defaults to 1. */
+extern enum bt_component_status
+bt_component_sink_set_maximum_input_count(struct bt_component *sink,
+ unsigned int maximum);
+
+extern enum bt_component_status
+bt_component_sink_get_input_count(struct bt_component *sink,
+ unsigned int *count);
+
+/* May return NULL after an interator has reached its end. */
+extern enum bt_component_status
+bt_component_sink_get_input_iterator(struct bt_component *sink,
+ unsigned int input, struct bt_notification_iterator **iterator);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_COMPONENT_SINK_H */
--- /dev/null
+#ifndef BABELTRACE_COMPONENT_SOURCE_INTERNAL_H
+#define BABELTRACE_COMPONENT_SOURCE_INTERNAL_H
+
+/*
+ * BabelTrace - Source Component internal
+ *
+ * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * 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 <babeltrace/babeltrace-internal.h>
+#include <babeltrace/component/component-internal.h>
+#include <babeltrace/component/component-class-internal.h>
+
+struct bt_value;
+
+struct bt_component_source {
+ struct bt_component parent;
+};
+
+/**
+ * Allocate a source component.
+ *
+ * @param class Component class
+ * @param params A dictionary of component parameters
+ * @returns A source component instance
+ */
+BT_HIDDEN
+struct bt_component *bt_component_source_create(
+ struct bt_component_class *class, struct bt_value *params);
+
+/**
+ * Validate a source component.
+ *
+ * @param component Source component instance to validate
+ * @returns One of #bt_component_status
+ */
+BT_HIDDEN
+enum bt_component_status bt_component_source_validate(
+ struct bt_component *component);
+
+#endif /* BABELTRACE_COMPONENT_SOURCE_INTERNAL_H */
--- /dev/null
+#ifndef BABELTRACE_COMPONENT_SOURCE_H
+#define BABELTRACE_COMPONENT_SOURCE_H
+
+/*
+ * BabelTrace - Source Plug-in Interface
+ *
+ * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ *
+ * 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 <stdint.h>
+#include <babeltrace/component/component.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bt_component;
+struct bt_notification_iterator;
+
+/**
+ * Create an iterator on a component instance.
+ *
+ * @param component Component instance
+ * @returns Notification iterator instance
+ */
+extern
+struct bt_notification_iterator *bt_component_source_create_iterator(
+ struct bt_component *component);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BABELTRACE_COMPONENT_SOURCE_H */
+++ /dev/null
-#ifndef BABELTRACE_COMPONENT_FILTER_INTERNAL_H
-#define BABELTRACE_COMPONENT_FILTER_INTERNAL_H
-
-/*
- * BabelTrace - Filter Component Internal
- *
- * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * 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 <babeltrace/babeltrace-internal.h>
-#include <babeltrace/component/component-internal.h>
-#include <babeltrace/component/component-class-internal.h>
-#include <babeltrace/component/input.h>
-
-struct bt_value;
-
-struct bt_component_filter {
- struct bt_component parent;
- struct component_input input;
-};
-
-/**
- * Allocate a filter component.
- *
- * @param class Component class
- * @param params A dictionary of component parameters
- * @returns A filter component instance
- */
-BT_HIDDEN
-struct bt_component *bt_component_filter_create(
- struct bt_component_class *class, struct bt_value *params);
-
-/**
- * Validate a filter component.
- *
- * @param component Filter component instance to validate
- * @returns One of #bt_component_status
- */
-BT_HIDDEN
-enum bt_component_status bt_component_filter_validate(
- struct bt_component *component);
-
-#endif /* BABELTRACE_COMPONENT_FILTER_INTERNAL_H */
+++ /dev/null
-#ifndef BABELTRACE_COMPONENT_FILTER_H
-#define BABELTRACE_COMPONENT_FILTER_H
-
-/*
- * BabelTrace - Filter Plug-in Interface
- *
- * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * 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 <stdint.h>
-#include <babeltrace/component/component.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_component;
-struct bt_notification_iterator;
-
-/**
- * Add a notification iterator to a filter component.
- *
- * @param component Component instance
- * @param iterator Notification iterator to add
- * @returns One of #bt_component_status values
- */
-extern
-enum bt_component_status bt_component_filter_add_iterator(
- struct bt_component *component,
- struct bt_notification_iterator *iterator);
-
-/**
- * Create an iterator on a component instance.
- *
- * @param component Component instance
- * @returns Notification iterator instance
- */
-extern
-struct bt_notification_iterator *bt_component_filter_create_iterator(
- struct bt_component *component);
-
-/* Defaults to 1. */
-extern enum bt_component_status
-bt_component_filter_set_minimum_input_count(struct bt_component *filter,
- unsigned int minimum);
-
-/* Defaults to 1. */
-extern enum bt_component_status
-bt_component_filter_set_maximum_input_count(struct bt_component *filter,
- unsigned int maximum);
-
-extern enum bt_component_status
-bt_component_filter_get_input_count(struct bt_component *filter,
- unsigned int *count);
-
-/* May return NULL after an interator has reached its end. */
-extern enum bt_component_status
-bt_component_filter_get_input_iterator(struct bt_component *filter,
- unsigned int input, struct bt_notification_iterator **iterator);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_COMPONENT_FILTER_H */
+++ /dev/null
-#ifndef BABELTRACE_COMPONENT_SINK_INTERNAL_H
-#define BABELTRACE_COMPONENT_SINK_INTERNAL_H
-
-/*
- * BabelTrace - Sink Component internal
- *
- * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * 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 <babeltrace/babeltrace-internal.h>
-#include <babeltrace/component/component-internal.h>
-#include <babeltrace/component/component-class-internal.h>
-#include <babeltrace/component/input.h>
-
-struct bt_value;
-
-//typedef uint32_t notification_mask_t;
-
-struct bt_component_sink {
- struct bt_component parent;
- struct component_input input;
-/* notification_mask_t registered_notifications_mask;*/
-};
-
-/**
- * Allocate a sink component.
- *
- * @param class Component class
- * @param params A dictionary of component parameters
- * @returns A sink component instance
- */
-BT_HIDDEN
-struct bt_component *bt_component_sink_create(
- struct bt_component_class *class, struct bt_value *params);
-
-/**
- * Validate a sink component.
- *
- * @param component Sink component instance to validate
- * @returns One of #bt_component_status
- */
-BT_HIDDEN
-enum bt_component_status bt_component_sink_validate(
- struct bt_component *component);
-
-#endif /* BABELTRACE_COMPONENT_SINK_INTERNAL_H */
+++ /dev/null
-#ifndef BABELTRACE_COMPONENT_SINK_H
-#define BABELTRACE_COMPONENT_SINK_H
-
-/*
- * BabelTrace - Sink Component Interface
- *
- * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * 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 <babeltrace/component/component.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_component;
-struct bt_notification;
-
-/**
- * Add a notification iterator to a sink component.
- *
- * @param component Component instance
- * @param iterator Notification iterator to add
- * @returns One of #bt_component_status values
- */
-extern
-enum bt_component_status bt_component_sink_add_iterator(
- struct bt_component *component,
- struct bt_notification_iterator *iterator);
-
-/**
- * Process one event, consuming from sources as needed.
- *
- * @param component Component instance
- * @returns One of #bt_component_status values
- */
-extern
-enum bt_component_status bt_component_sink_consume(
- struct bt_component *component);
-
-/* Defaults to 1. */
-extern enum bt_component_status
-bt_component_sink_set_minimum_input_count(struct bt_component *sink,
- unsigned int minimum);
-
-/* Defaults to 1. */
-extern enum bt_component_status
-bt_component_sink_set_maximum_input_count(struct bt_component *sink,
- unsigned int maximum);
-
-extern enum bt_component_status
-bt_component_sink_get_input_count(struct bt_component *sink,
- unsigned int *count);
-
-/* May return NULL after an interator has reached its end. */
-extern enum bt_component_status
-bt_component_sink_get_input_iterator(struct bt_component *sink,
- unsigned int input, struct bt_notification_iterator **iterator);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_COMPONENT_SINK_H */
+++ /dev/null
-#ifndef BABELTRACE_COMPONENT_SOURCE_INTERNAL_H
-#define BABELTRACE_COMPONENT_SOURCE_INTERNAL_H
-
-/*
- * BabelTrace - Source Component internal
- *
- * Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * 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 <babeltrace/babeltrace-internal.h>
-#include <babeltrace/component/component-internal.h>
-#include <babeltrace/component/component-class-internal.h>
-
-struct bt_value;
-
-struct bt_component_source {
- struct bt_component parent;
-};
-
-/**
- * Allocate a source component.
- *
- * @param class Component class
- * @param params A dictionary of component parameters
- * @returns A source component instance
- */
-BT_HIDDEN
-struct bt_component *bt_component_source_create(
- struct bt_component_class *class, struct bt_value *params);
-
-/**
- * Validate a source component.
- *
- * @param component Source component instance to validate
- * @returns One of #bt_component_status
- */
-BT_HIDDEN
-enum bt_component_status bt_component_source_validate(
- struct bt_component *component);
-
-#endif /* BABELTRACE_COMPONENT_SOURCE_INTERNAL_H */
+++ /dev/null
-#ifndef BABELTRACE_COMPONENT_SOURCE_H
-#define BABELTRACE_COMPONENT_SOURCE_H
-
-/*
- * BabelTrace - Source Plug-in Interface
- *
- * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
- * 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 <stdint.h>
-#include <babeltrace/component/component.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct bt_component;
-struct bt_notification_iterator;
-
-/**
- * Create an iterator on a component instance.
- *
- * @param component Component instance
- * @returns Notification iterator instance
- */
-extern
-struct bt_notification_iterator *bt_component_source_create_iterator(
- struct bt_component *component);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* BABELTRACE_COMPONENT_SOURCE_H */
#include <babeltrace/component/component.h>
#include <babeltrace/component/component-internal.h>
#include <babeltrace/component/component-class-internal.h>
-#include <babeltrace/component/source-internal.h>
-#include <babeltrace/component/filter-internal.h>
+#include <babeltrace/component/component-source-internal.h>
+#include <babeltrace/component/component-filter-internal.h>
+#include <babeltrace/component/component-sink-internal.h>
#include <babeltrace/component/notification/iterator-internal.h>
-#include <babeltrace/component/sink-internal.h>
#include <babeltrace/babeltrace-internal.h>
#include <babeltrace/compiler.h>
#include <babeltrace/ref.h>
#include <babeltrace/compiler.h>
#include <babeltrace/values.h>
#include <babeltrace/component/input.h>
-#include <babeltrace/component/filter-internal.h>
+#include <babeltrace/component/component-filter-internal.h>
#include <babeltrace/component/component-internal.h>
#include <babeltrace/component/component-class-internal.h>
#include <babeltrace/component/notification/notification.h>
#include <babeltrace/compiler.h>
#include <babeltrace/ref.h>
#include <babeltrace/component/component.h>
-#include <babeltrace/component/source-internal.h>
+#include <babeltrace/component/component-source-internal.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/component/notification/iterator-internal.h>
#include <babeltrace/compiler.h>
#include <babeltrace/values.h>
-#include <babeltrace/component/sink-internal.h>
+#include <babeltrace/component/component-sink-internal.h>
#include <babeltrace/component/component-internal.h>
#include <babeltrace/component/notification/notification.h>
#include <babeltrace/ref.h>
#include <babeltrace/compiler.h>
-#include <babeltrace/component/source-internal.h>
+#include <babeltrace/component/component-source-internal.h>
#include <babeltrace/component/component-internal.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/component/notification/iterator-internal.h>
*/
#include "lttng-live-internal.h"
-#include <babeltrace/component/source.h>
+#include <babeltrace/component/component-source.h>
BT_HIDDEN
enum bt_component_status lttng_live_iterator_init(struct bt_component *source,
#include <babeltrace/plugin/plugin-dev.h>
#include <babeltrace/component/component.h>
-#include <babeltrace/component/filter.h>
+#include <babeltrace/component/component-filter.h>
#include <babeltrace/component/notification/notification.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/component/notification/event.h>
#include <babeltrace/plugin/plugin-dev.h>
#include <babeltrace/component/component.h>
-#include <babeltrace/component/sink.h>
+#include <babeltrace/component/component-sink.h>
#include <babeltrace/component/notification/notification.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/component/notification/event.h>
#include <babeltrace/component/notification/event.h>
#include <babeltrace/component/notification/stream.h>
#include <babeltrace/component/notification/packet.h>
-#include <babeltrace/component/filter.h>
+#include <babeltrace/component/component-filter.h>
#include <babeltrace/ctf-ir/event.h>
#include <babeltrace/ctf-ir/stream.h>
#include <babeltrace/ctf-ir/stream-class.h>
#include <babeltrace/plugin/plugin-dev.h>
#include <babeltrace/component/component.h>
-#include <babeltrace/component/filter.h>
+#include <babeltrace/component/component-filter.h>
#include <babeltrace/component/notification/notification.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/component/notification/event.h>
#include <babeltrace/ctf-ir/packet.h>
#include <babeltrace/plugin/plugin-dev.h>
#include <babeltrace/component/component.h>
-#include <babeltrace/component/sink.h>
+#include <babeltrace/component/component-sink.h>
#include <babeltrace/component/notification/notification.h>
#include <babeltrace/component/notification/iterator.h>
#include <babeltrace/component/notification/event.h>