Move to kernel style SPDX license identifiers
[babeltrace.git] / src / plugins / text / details / details.c
index 3fcd466018f6ab668bbcd523000e40f1453e024d..7bee1ae813393df0280b9d1499084468797ec9fb 100644 (file)
@@ -1,27 +1,15 @@
 /*
- * Copyright 2019 Philippe Proulx <pproulx@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.
+ * SPDX-License-Identifier: MIT
  *
- * 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.
+ * Copyright 2019 Philippe Proulx <pproulx@efficios.com>
  */
 
-#define BT_LOG_TAG "PLUGIN-TEXT-DETAILS-SINK"
-#include "logging.h"
+#define BT_COMP_LOG_SELF_COMP (details_comp->self_comp)
+#define BT_LOG_OUTPUT_LEVEL (details_comp->log_level)
+#define BT_LOG_TAG "PLUGIN/SINK.TEXT.DETAILS"
+#include "logging/comp-logging.h"
+
+#include <stdbool.h>
 
 #include <babeltrace2/babeltrace.h>
 
 #include "common/assert.h"
 #include "details.h"
 #include "write.h"
-
-#define LOG_WRONG_PARAM_TYPE(_name, _value, _exp_type)                 \
-       do {                                                            \
-               BT_LOGE("Wrong `%s` parameter type: type=%s, "          \
-                       "expected-type=%s",                             \
-                       (_name), bt_common_value_type_string(           \
-                               bt_value_get_type(_value)),             \
-                       bt_common_value_type_string(_exp_type));        \
-       } while (0)
-
-static
-const char * const in_port_name = "in";
-
-static
-const char * const color_param_name = "color";
-
-static
-const char * const with_metadata_param_name = "with-metadata";
-
-static
-const char * const with_time_param_name = "with-time";
-
-static
-const char * const with_trace_class_name_param_name = "with-trace-class-name";
-
-static
-const char * const with_trace_name_param_name = "with-trace-name";
-
-static
-const char * const with_stream_class_name_param_name = "with-stream-class-name";
-
-static
-const char * const with_stream_name_param_name = "with-stream-name";
-
-static
-const char * const with_uuid_param_name = "with-uuid";
-
-static
-const char * const compact_param_name = "compact";
+#include "plugins/common/param-validation/param-validation.h"
+
+#define IN_PORT_NAME "in"
+#define COLOR_PARAM_NAME "color"
+#define WITH_METADATA_PARAM_NAME "with-metadata"
+#define WITH_DATA_PARAM_NAME "with-data"
+#define WITH_TIME_PARAM_NAME "with-time"
+#define WITH_TRACE_NAME_PARAM_NAME "with-trace-name"
+#define WITH_STREAM_CLASS_NAME_PARAM_NAME "with-stream-class-name"
+#define WITH_STREAM_NAME_PARAM_NAME "with-stream-name"
+#define WITH_UUID_PARAM_NAME "with-uuid"
+#define COMPACT_PARAM_NAME "compact"
 
 BT_HIDDEN
 void details_destroy_details_trace_class_meta(
@@ -137,9 +98,11 @@ void destroy_details_comp(struct details_comp *details_comp)
 
                        if (details_tc_meta->tc_destruction_listener_id !=
                                        UINT64_C(-1)) {
-                               bt_trace_class_remove_destruction_listener(
-                                       (const void *) key,
-                                       details_tc_meta->tc_destruction_listener_id);
+                               if (bt_trace_class_remove_destruction_listener(
+                                               (const void *) key,
+                                               details_tc_meta->tc_destruction_listener_id)) {
+                                       bt_current_thread_clear_error();
+                               }
                        }
                }
 
@@ -158,9 +121,11 @@ void destroy_details_comp(struct details_comp *details_comp)
                while (g_hash_table_iter_next(&iter, &key, &value)) {
                        struct details_trace *details_trace = value;
 
-                       bt_trace_remove_destruction_listener(
-                               (const void *) key,
-                               details_trace->trace_destruction_listener_id);
+                       if (bt_trace_remove_destruction_listener(
+                                       (const void *) key,
+                                       details_trace->trace_destruction_listener_id)) {
+                               bt_current_thread_clear_error();
+                       }
                }
 
                g_hash_table_destroy(details_comp->traces);
@@ -172,7 +137,7 @@ void destroy_details_comp(struct details_comp *details_comp)
                details_comp->str = NULL;
        }
 
-       BT_SELF_COMPONENT_PORT_INPUT_MESSAGE_ITERATOR_PUT_REF_AND_RESET(
+       BT_MESSAGE_ITERATOR_PUT_REF_AND_RESET(
                details_comp->msg_iter);
        g_free(details_comp);
 
@@ -181,14 +146,20 @@ end:
 }
 
 static
-struct details_comp *create_details_comp(void)
+struct details_comp *create_details_comp(
+               bt_self_component_sink *self_comp_sink)
 {
        struct details_comp *details_comp = g_new0(struct details_comp, 1);
+       bt_self_component *self_comp =
+               bt_self_component_sink_as_self_component(self_comp_sink);
 
        if (!details_comp) {
                goto error;
        }
 
+       details_comp->log_level = bt_component_get_logging_level(
+               bt_self_component_as_component(self_comp));
+       details_comp->self_comp = self_comp;
        details_comp->meta = g_hash_table_new_full(g_direct_hash,
                g_direct_equal, NULL,
                (GDestroyNotify) details_destroy_details_trace_class_meta);
@@ -230,48 +201,63 @@ void details_finalize(bt_self_component_sink *comp)
 }
 
 static
-int configure_bool_opt(struct details_comp *details_comp,
+void configure_bool_opt(struct details_comp *details_comp,
                const bt_value *params, const char *param_name,
                bool default_value, bool *opt_value)
 {
-       int ret = 0;
        const bt_value *value;
 
        *opt_value = default_value;
        value = bt_value_map_borrow_entry_value_const(params, param_name);
        if (value) {
-               if (!bt_value_is_bool(value)) {
-                       LOG_WRONG_PARAM_TYPE(param_name, value,
-                               BT_VALUE_TYPE_BOOL);
-                       ret = -1;
-                       goto end;
-               }
-
                *opt_value = (bool) bt_value_bool_get(value);
        }
-
-end:
-       return ret;
 }
 
+static const char *color_choices[] = { "never", "auto", "always", NULL };
+
+static const struct bt_param_validation_map_value_entry_descr details_params[] = {
+       { COLOR_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { BT_VALUE_TYPE_STRING, .string = {
+               .choices = color_choices,
+       } } },
+       { WITH_METADATA_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { WITH_DATA_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { COMPACT_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { WITH_TIME_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { WITH_TRACE_NAME_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { WITH_STREAM_CLASS_NAME_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { WITH_STREAM_NAME_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       { WITH_UUID_PARAM_NAME, BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_OPTIONAL, { .type = BT_VALUE_TYPE_BOOL } },
+       BT_PARAM_VALIDATION_MAP_VALUE_ENTRY_END
+};
+
 static
-int configure_details_comp(struct details_comp *details_comp,
+bt_component_class_initialize_method_status configure_details_comp(
+               struct details_comp *details_comp,
                const bt_value *params)
 {
-       int ret = 0;
+       bt_component_class_initialize_method_status status;
        const bt_value *value;
        const char *str;
+       enum bt_param_validation_status validation_status;
+       gchar *validate_error = NULL;
+
+       validation_status = bt_param_validation_validate(params,
+               details_params, &validate_error);
+       if (validation_status == BT_PARAM_VALIDATION_STATUS_MEMORY_ERROR) {
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR;
+               goto end;
+       } else if (validation_status == BT_PARAM_VALIDATION_STATUS_VALIDATION_ERROR) {
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR;
+               BT_COMP_LOGE_APPEND_CAUSE(details_comp->self_comp,
+                       "%s", validate_error);
+               goto end;
+       }
 
        /* Colorize output? */
        details_comp->cfg.with_color = bt_common_colors_supported();
-       value = bt_value_map_borrow_entry_value_const(params, color_param_name);
+       value = bt_value_map_borrow_entry_value_const(params, COLOR_PARAM_NAME);
        if (value) {
-               if (!bt_value_is_string(value)) {
-                       LOG_WRONG_PARAM_TYPE(color_param_name, value,
-                               BT_VALUE_TYPE_STRING);
-                       goto error;
-               }
-
                str = bt_value_string_get(value);
 
                if (strcmp(str, "never") == 0) {
@@ -279,127 +265,111 @@ int configure_details_comp(struct details_comp *details_comp,
                } else if (strcmp(str, "auto") == 0) {
                        details_comp->cfg.with_color =
                                bt_common_colors_supported();
-               } else if (strcmp(str, "always") == 0) {
-                       details_comp->cfg.with_color = true;
                } else {
-                       BT_LOGE("Invalid `%s` parameter: unknown value "
-                               "(expecting `never`, `auto`, or `always`): "
-                               "value=\"%s\"", color_param_name, str);
-                       goto error;
+                       BT_ASSERT(strcmp(str, "always") == 0);
+
+                       details_comp->cfg.with_color = true;
                }
        }
 
        /* With metadata objects? */
-       ret = configure_bool_opt(details_comp, params, with_metadata_param_name,
+       configure_bool_opt(details_comp, params, WITH_METADATA_PARAM_NAME,
                true, &details_comp->cfg.with_meta);
-       if (ret) {
-               goto error;
-       }
+
+       /* With data objects? */
+       configure_bool_opt(details_comp, params, WITH_DATA_PARAM_NAME,
+               true, &details_comp->cfg.with_data);
 
        /* Compact? */
-       ret = configure_bool_opt(details_comp, params, compact_param_name,
+       configure_bool_opt(details_comp, params, COMPACT_PARAM_NAME,
                false, &details_comp->cfg.compact);
-       if (ret) {
-               goto error;
-       }
 
        /* With time? */
-       ret = configure_bool_opt(details_comp, params, with_time_param_name,
+       configure_bool_opt(details_comp, params, WITH_TIME_PARAM_NAME,
                true, &details_comp->cfg.with_time);
-       if (ret) {
-               goto error;
-       }
-
-       /* With trace class name? */
-       ret = configure_bool_opt(details_comp, params,
-               with_trace_class_name_param_name,
-               true, &details_comp->cfg.with_trace_class_name);
-       if (ret) {
-               goto error;
-       }
 
        /* With trace name? */
-       ret = configure_bool_opt(details_comp, params,
-               with_trace_name_param_name,
+       configure_bool_opt(details_comp, params,
+               WITH_TRACE_NAME_PARAM_NAME,
                true, &details_comp->cfg.with_trace_name);
-       if (ret) {
-               goto error;
-       }
 
        /* With stream class name? */
-       ret = configure_bool_opt(details_comp, params,
-               with_stream_class_name_param_name,
+       configure_bool_opt(details_comp, params,
+               WITH_STREAM_CLASS_NAME_PARAM_NAME,
                true, &details_comp->cfg.with_stream_class_name);
-       if (ret) {
-               goto error;
-       }
 
        /* With stream name? */
-       ret = configure_bool_opt(details_comp, params,
-               with_stream_name_param_name,
+       configure_bool_opt(details_comp, params,
+               WITH_STREAM_NAME_PARAM_NAME,
                true, &details_comp->cfg.with_stream_name);
-       if (ret) {
-               goto error;
-       }
 
        /* With UUID? */
-       ret = configure_bool_opt(details_comp, params,
-               with_uuid_param_name, true, &details_comp->cfg.with_uuid);
-       if (ret) {
-               goto error;
-       }
+       configure_bool_opt(details_comp, params,
+               WITH_UUID_PARAM_NAME, true, &details_comp->cfg.with_uuid);
 
+       status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK;
        goto end;
 
-error:
-       ret = -1;
-
 end:
-       return ret;
+       g_free(validate_error);
+
+       return status;
 }
 
 static
 void log_configuration(bt_self_component_sink *comp,
                struct details_comp *details_comp)
 {
-       BT_LOGI("Configuration for `sink.text.details` component `%s`:",
+       BT_COMP_LOGI("Configuration for `sink.text.details` component `%s`:",
                bt_component_get_name(bt_self_component_as_component(
                        bt_self_component_sink_as_self_component(comp))));
-       BT_LOGI("  Colorize output: %d", details_comp->cfg.with_color);
-       BT_LOGI("  Compact: %d", details_comp->cfg.compact);
-       BT_LOGI("  With metadata: %d", details_comp->cfg.with_meta);
-       BT_LOGI("  With time: %d", details_comp->cfg.with_time);
-       BT_LOGI("  With trace class name: %d",
-               details_comp->cfg.with_trace_class_name);
-       BT_LOGI("  With trace name: %d", details_comp->cfg.with_trace_name);
-       BT_LOGI("  With stream class name: %d",
+       BT_COMP_LOGI("  Colorize output: %d", details_comp->cfg.with_color);
+       BT_COMP_LOGI("  Compact: %d", details_comp->cfg.compact);
+       BT_COMP_LOGI("  With metadata: %d", details_comp->cfg.with_meta);
+       BT_COMP_LOGI("  With time: %d", details_comp->cfg.with_time);
+       BT_COMP_LOGI("  With trace name: %d", details_comp->cfg.with_trace_name);
+       BT_COMP_LOGI("  With stream class name: %d",
                details_comp->cfg.with_stream_class_name);
-       BT_LOGI("  With stream name: %d", details_comp->cfg.with_stream_name);
-       BT_LOGI("  With UUID: %d", details_comp->cfg.with_uuid);
+       BT_COMP_LOGI("  With stream name: %d", details_comp->cfg.with_stream_name);
+       BT_COMP_LOGI("  With UUID: %d", details_comp->cfg.with_uuid);
 }
 
 BT_HIDDEN
-bt_self_component_status details_init(bt_self_component_sink *comp,
+bt_component_class_initialize_method_status details_init(
+               bt_self_component_sink *comp,
+               bt_self_component_sink_configuration *config,
                const bt_value *params,
                __attribute__((unused)) void *init_method_data)
 {
-       bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK;
+       bt_component_class_initialize_method_status status =
+               BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK;
+       bt_self_component_add_port_status add_port_status;
        struct details_comp *details_comp = NULL;
 
-       status = bt_self_component_sink_add_input_port(comp, in_port_name,
-               NULL, NULL);
-       if (status != BT_SELF_COMPONENT_STATUS_OK) {
-               goto error;
+       add_port_status = bt_self_component_sink_add_input_port(comp,
+               IN_PORT_NAME, NULL, NULL);
+       switch (add_port_status) {
+       case BT_SELF_COMPONENT_ADD_PORT_STATUS_OK:
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK;
+               break;
+       case BT_SELF_COMPONENT_ADD_PORT_STATUS_ERROR:
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR;
+               break;
+       case BT_SELF_COMPONENT_ADD_PORT_STATUS_MEMORY_ERROR:
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR;
+               break;
+       default:
+               bt_common_abort();
        }
 
-       details_comp = create_details_comp();
+       details_comp = create_details_comp(comp);
        if (!details_comp) {
-               status = BT_SELF_COMPONENT_STATUS_NOMEM;
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR;
                goto error;
        }
 
        if (configure_details_comp(details_comp, params)) {
-               BT_LOGE_STR("Failed to configure component.");
+               BT_COMP_LOGE_STR("Failed to configure component.");
                goto error;
        }
 
@@ -409,8 +379,8 @@ bt_self_component_status details_init(bt_self_component_sink *comp,
        goto end;
 
 error:
-       if (status == BT_SELF_COMPONENT_STATUS_OK) {
-               status = BT_SELF_COMPONENT_STATUS_ERROR;
+       if (status == BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK) {
+               status = BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR;
        }
 
        destroy_details_comp(details_comp);
@@ -420,11 +390,13 @@ end:
 }
 
 BT_HIDDEN
-bt_self_component_status details_graph_is_configured(
-               bt_self_component_sink *comp)
+bt_component_class_sink_graph_is_configured_method_status
+details_graph_is_configured(bt_self_component_sink *comp)
 {
-       bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK;
-       bt_self_component_port_input_message_iterator *iterator;
+       bt_component_class_sink_graph_is_configured_method_status status;
+       bt_message_iterator_create_from_sink_component_status
+               msg_iter_status;
+       bt_message_iterator *iterator;
        struct details_comp *details_comp;
        bt_self_component_port_input *in_port;
 
@@ -432,51 +404,55 @@ bt_self_component_status details_graph_is_configured(
                bt_self_component_sink_as_self_component(comp));
        BT_ASSERT(details_comp);
        in_port = bt_self_component_sink_borrow_input_port_by_name(comp,
-               in_port_name);
+               IN_PORT_NAME);
        if (!bt_port_is_connected(bt_port_input_as_port_const(
                        bt_self_component_port_input_as_port_input(in_port)))) {
-               BT_LOGE("Single input port is not connected: "
-                       "port-name=\"%s\"", in_port_name);
-               status = BT_SELF_COMPONENT_STATUS_ERROR;
+               BT_COMP_LOGE("Single input port is not connected: "
+                       "port-name=\"%s\"", IN_PORT_NAME);
+               status = BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_ERROR;
                goto end;
        }
 
-       iterator = bt_self_component_port_input_message_iterator_create(
-               bt_self_component_sink_borrow_input_port_by_name(comp,
-                       in_port_name));
-       if (!iterator) {
-               status = BT_SELF_COMPONENT_STATUS_NOMEM;
+       msg_iter_status = bt_message_iterator_create_from_sink_component(
+               comp, bt_self_component_sink_borrow_input_port_by_name(comp,
+                       IN_PORT_NAME), &iterator);
+       if (msg_iter_status != BT_MESSAGE_ITERATOR_CREATE_FROM_SINK_COMPONENT_STATUS_OK) {
+               status = (int) msg_iter_status;
                goto end;
        }
 
-       BT_SELF_COMPONENT_PORT_INPUT_MESSAGE_ITERATOR_MOVE_REF(
+       BT_MESSAGE_ITERATOR_MOVE_REF(
                details_comp->msg_iter, iterator);
 
+       status = BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_OK;
+
 end:
        return status;
 }
 
 BT_HIDDEN
-bt_self_component_status details_consume(bt_self_component_sink *comp)
+bt_component_class_sink_consume_method_status
+details_consume(bt_self_component_sink *comp)
 {
-       bt_self_component_status ret = BT_SELF_COMPONENT_STATUS_OK;
+       bt_component_class_sink_consume_method_status ret =
+               BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_OK;
        bt_message_array_const msgs;
        uint64_t count;
        struct details_comp *details_comp;
-       bt_message_iterator_status it_ret;
+       bt_message_iterator_next_status next_status;
        uint64_t i;
 
        details_comp = bt_self_component_get_data(
                bt_self_component_sink_as_self_component(comp));
-       BT_ASSERT(details_comp);
-       BT_ASSERT(details_comp->msg_iter);
+       BT_ASSERT_DBG(details_comp);
+       BT_ASSERT_DBG(details_comp->msg_iter);
 
        /* Consume messages */
-       it_ret = bt_self_component_port_input_message_iterator_next(
+       next_status = bt_message_iterator_next(
                details_comp->msg_iter, &msgs, &count);
-       switch (it_ret) {
-       case BT_MESSAGE_ITERATOR_STATUS_OK:
-               ret = BT_SELF_COMPONENT_STATUS_OK;
+       switch (next_status) {
+       case BT_MESSAGE_ITERATOR_NEXT_STATUS_OK:
+               ret = BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_OK;
 
                for (i = 0; i < count; i++) {
                        int print_ret = details_write_message(details_comp,
@@ -488,7 +464,7 @@ bt_self_component_status details_consume(bt_self_component_sink *comp)
                                        bt_message_put_ref(msgs[i]);
                                }
 
-                               ret = BT_SELF_COMPONENT_STATUS_ERROR;
+                               ret = BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_ERROR;
                                goto end;
                        }
 
@@ -504,20 +480,20 @@ bt_self_component_status details_consume(bt_self_component_sink *comp)
                }
 
                break;
-       case BT_MESSAGE_ITERATOR_STATUS_AGAIN:
-               ret = BT_SELF_COMPONENT_STATUS_AGAIN;
+       case BT_MESSAGE_ITERATOR_NEXT_STATUS_AGAIN:
+               ret = BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_AGAIN;
                goto end;
-       case BT_MESSAGE_ITERATOR_STATUS_END:
-               ret = BT_SELF_COMPONENT_STATUS_END;
+       case BT_MESSAGE_ITERATOR_NEXT_STATUS_END:
+               ret = BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_END;
                goto end;
-       case BT_MESSAGE_ITERATOR_STATUS_ERROR:
-               ret = BT_SELF_COMPONENT_STATUS_ERROR;
+       case BT_MESSAGE_ITERATOR_NEXT_STATUS_ERROR:
+               ret = BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_ERROR;
                goto end;
-       case BT_MESSAGE_ITERATOR_STATUS_NOMEM:
-               ret = BT_SELF_COMPONENT_STATUS_NOMEM;
+       case BT_MESSAGE_ITERATOR_NEXT_STATUS_MEMORY_ERROR:
+               ret = BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_MEMORY_ERROR;
                goto end;
        default:
-               abort();
+               bt_common_abort();
        }
 
 end:
This page took 0.031132 seconds and 4 git commands to generate.