lib: remove internal stream destroy listener API
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Wed, 13 Jun 2018 15:39:07 +0000 (11:39 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 2 May 2019 04:05:45 +0000 (00:05 -0400)
This API is not used anymore.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
include/babeltrace/ctf-ir/event-internal.h
include/babeltrace/ctf-ir/stream-internal.h
lib/ctf-ir/stream.c
lib/graph/iterator.c

index fe5e64decf70367dc6fc4cff63701bb2d10162aa..193a3813baa93ef899a2a98a43905a2bd5ae47a9 100644 (file)
@@ -32,6 +32,7 @@
 #include <babeltrace/values.h>
 #include <babeltrace/ctf-ir/stream-class.h>
 #include <babeltrace/ctf-ir/stream.h>
+#include <babeltrace/ctf-ir/stream-internal.h>
 #include <babeltrace/ctf-ir/packet.h>
 #include <babeltrace/ctf-ir/packet-internal.h>
 #include <babeltrace/ctf-ir/fields.h>
@@ -359,6 +360,13 @@ void bt_event_set_packet(struct bt_event *event, struct bt_packet *packet)
        BT_ASSERT_PRE_NON_NULL(event, "Event");
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_EVENT_COMMON_HOT(BT_TO_COMMON(event), "Event");
+       BT_ASSERT_PRE(bt_event_class_borrow_stream_class(
+               BT_FROM_COMMON(event->common.class)) ==
+               BT_FROM_COMMON(packet->stream->common.stream_class),
+               "Packet's stream class and event's stream class differ: "
+               "%![event-]+e, %![packet-]+a",
+               event, packet);
+
        BT_ASSERT(!event->packet);
        event->packet = packet;
        bt_object_get_no_null_check_no_parent_check(&event->packet->base);
index 245fd7816c714e2c1b63f454763b8a3f02e0361a..87f3c848f7f1e7225dd5361071654ceaa895f308 100644 (file)
 struct bt_stream_class;
 struct bt_stream_common;
 
-typedef void (*bt_stream_common_destroy_listener_func)(
-               struct bt_stream_common *stream, void *data);
-
-struct bt_stream_common_destroy_listener {
-       bt_stream_common_destroy_listener_func func;
-       void *data;
-};
-
 struct bt_stream_common {
        struct bt_object base;
        int64_t id;
        struct bt_stream_class_common *stream_class;
        GString *name;
-
-       /* Array of struct bt_stream_common_destroy_listener */
-       GArray *destroy_listeners;
 };
 
 struct bt_stream {
@@ -64,14 +53,6 @@ struct bt_stream {
        struct bt_object_pool packet_pool;
 };
 
-BT_HIDDEN
-void bt_stream_common_add_destroy_listener(struct bt_stream_common *stream,
-               bt_stream_common_destroy_listener_func func, void *data);
-
-BT_HIDDEN
-void bt_stream_common_remove_destroy_listener(struct bt_stream_common *stream,
-               bt_stream_common_destroy_listener_func func, void *data);
-
 BT_HIDDEN
 int bt_stream_common_initialize(
                struct bt_stream_common *stream,
index 8e5b18c5ab304c093e3dec6aef0fb3c9c8892c56..2e7c2b4ed309b94634aa854c895f48b7726279f8 100644 (file)
 BT_HIDDEN
 void bt_stream_common_finalize(struct bt_stream_common *stream)
 {
-       int i;
-
        BT_LOGD("Finalizing common stream object: addr=%p, name=\"%s\"",
                stream, bt_stream_common_get_name(stream));
 
-       /* Call destroy listeners in reverse registration order */
-       if (stream->destroy_listeners) {
-               for (i = stream->destroy_listeners->len - 1; i >= 0; i--) {
-                       struct bt_stream_common_destroy_listener *listener =
-                               &g_array_index(stream->destroy_listeners,
-                                       struct bt_stream_common_destroy_listener, i);
-
-                       BT_LOGD("Calling destroy listener: func=%p, data=%p, index=%d",
-                               listener->func, listener->data, i);
-                       listener->func(stream, listener->data);
-               }
-       }
-
        if (stream->name) {
                g_string_free(stream->name, TRUE);
        }
-
-       if (stream->destroy_listeners) {
-               g_array_free(stream->destroy_listeners, TRUE);
-       }
 }
 
 static
@@ -147,12 +128,6 @@ int bt_stream_common_initialize(
        bt_object_set_parent(&stream->base, &trace->base);
        stream->stream_class = stream_class;
        stream->id = (int64_t) id;
-       stream->destroy_listeners = g_array_new(FALSE, TRUE,
-               sizeof(struct bt_stream_common_destroy_listener));
-       if (!stream->destroy_listeners) {
-               BT_LOGE_STR("Failed to allocate a GArray.");
-               goto error;
-       }
 
        if (name) {
                stream->name = g_string_new(name);
@@ -293,44 +268,3 @@ int64_t bt_stream_get_id(struct bt_stream *stream)
 {
        return bt_stream_common_get_id(BT_TO_COMMON(stream));
 }
-
-BT_HIDDEN
-void bt_stream_common_add_destroy_listener(struct bt_stream_common *stream,
-               bt_stream_common_destroy_listener_func func, void *data)
-{
-       struct bt_stream_common_destroy_listener listener;
-
-       BT_ASSERT(stream);
-       BT_ASSERT(func);
-       listener.func = func;
-       listener.data = data;
-       g_array_append_val(stream->destroy_listeners, listener);
-       BT_LOGV("Added stream destroy listener: stream-addr=%p, "
-               "stream-name=\"%s\", func=%p, data=%p",
-               stream, bt_stream_common_get_name(stream), func, data);
-}
-
-BT_HIDDEN
-void bt_stream_common_remove_destroy_listener(struct bt_stream_common *stream,
-               bt_stream_common_destroy_listener_func func, void *data)
-{
-       size_t i;
-
-       BT_ASSERT(stream);
-       BT_ASSERT(func);
-
-       for (i = 0; i < stream->destroy_listeners->len; i++) {
-               struct bt_stream_common_destroy_listener *listener =
-                       &g_array_index(stream->destroy_listeners,
-                               struct bt_stream_common_destroy_listener, i);
-
-               if (listener->func == func && listener->data == data) {
-                       g_array_remove_index(stream->destroy_listeners, i);
-                       i--;
-                       BT_LOGV("Removed stream destroy listener: stream-addr=%p, "
-                               "stream-name=\"%s\", func=%p, data=%p",
-                               stream, bt_stream_common_get_name(stream),
-                               func, data);
-               }
-       }
-}
index 2c83d47bc64b6d546ab4ab64cac288e57da6d89d..5135bceedc66b3bb7357518cc2afbba0b8333403 100644 (file)
@@ -77,15 +77,7 @@ struct stream_state {
        bt_bool is_ended;
 };
 
-static
-void stream_destroy_listener(struct bt_stream_common *stream, void *data)
-{
-       struct bt_notification_iterator_private_connection *iterator = data;
-
-       /* Remove associated stream state */
-       g_hash_table_remove(iterator->stream_states, stream);
-}
-
+BT_ASSERT_PRE_FUNC
 static
 void destroy_stream_state(struct stream_state *stream_state)
 {
@@ -103,6 +95,7 @@ void destroy_stream_state(struct stream_state *stream_state)
        g_free(stream_state);
 }
 
+BT_ASSERT_PRE_FUNC
 static
 struct stream_state *create_stream_state(struct bt_stream *stream)
 {
@@ -171,20 +164,6 @@ void bt_private_connection_notification_iterator_destroy(struct bt_object *obj)
                 * listener would be called with an invalid/other
                 * notification iterator object.
                 */
-               GHashTableIter ht_iter;
-               gpointer stream_gptr, stream_state_gptr;
-
-               g_hash_table_iter_init(&ht_iter, iterator->stream_states);
-
-               while (g_hash_table_iter_next(&ht_iter, &stream_gptr, &stream_state_gptr)) {
-                       BT_ASSERT(stream_gptr);
-
-                       BT_LOGD_STR("Removing stream's destroy listener for notification iterator.");
-                       bt_stream_common_remove_destroy_listener(
-                               (void *) stream_gptr, stream_destroy_listener,
-                               iterator);
-               }
-
                g_hash_table_destroy(iterator->stream_states);
        }
 
This page took 0.027668 seconds and 4 git commands to generate.