lib: strictly type function return status enumerations
[babeltrace.git] / src / plugins / text / details / details.c
index 3fcd466018f6ab668bbcd523000e40f1453e024d..37951910138eb330c402e7efbc213bfb233c90de 100644 (file)
  * SOFTWARE.
  */
 
-#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 "plugins/comp-logging.h"
 
 #include <babeltrace2/babeltrace.h>
 
@@ -32,7 +34,7 @@
 
 #define LOG_WRONG_PARAM_TYPE(_name, _value, _exp_type)                 \
        do {                                                            \
-               BT_LOGE("Wrong `%s` parameter type: type=%s, "          \
+               BT_COMP_LOGE("Wrong `%s` parameter type: type=%s, "     \
                        "expected-type=%s",                             \
                        (_name), bt_common_value_type_string(           \
                                bt_value_get_type(_value)),             \
@@ -181,14 +183,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);
@@ -282,7 +290,7 @@ int configure_details_comp(struct details_comp *details_comp,
                } else if (strcmp(str, "always") == 0) {
                        details_comp->cfg.with_color = true;
                } else {
-                       BT_LOGE("Invalid `%s` parameter: unknown value "
+                       BT_COMP_LOGE("Invalid `%s` parameter: unknown value "
                                "(expecting `never`, `auto`, or `always`): "
                                "value=\"%s\"", color_param_name, str);
                        goto error;
@@ -362,44 +370,56 @@ 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",
+       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 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("  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_init_method_status details_init(bt_self_component_sink *comp,
                const bt_value *params,
                __attribute__((unused)) void *init_method_data)
 {
-       bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK;
+       bt_component_class_init_method_status status =
+               BT_COMPONENT_CLASS_INIT_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_INIT_METHOD_STATUS_OK;
+               break;
+       case BT_SELF_COMPONENT_ADD_PORT_STATUS_ERROR:
+               status = BT_COMPONENT_CLASS_INIT_METHOD_STATUS_ERROR;
+               break;
+       case BT_SELF_COMPONENT_ADD_PORT_STATUS_MEMORY_ERROR:
+               status = BT_COMPONENT_CLASS_INIT_METHOD_STATUS_MEMORY_ERROR;
+               break;
+       default:
+               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_INIT_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 +429,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_INIT_METHOD_STATUS_OK) {
+               status = BT_COMPONENT_CLASS_INIT_METHOD_STATUS_ERROR;
        }
 
        destroy_details_comp(details_comp);
@@ -420,10 +440,11 @@ 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_component_class_sink_graph_is_configured_method_status status =
+               BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_OK;
        bt_self_component_port_input_message_iterator *iterator;
        struct details_comp *details_comp;
        bt_self_component_port_input *in_port;
@@ -435,9 +456,9 @@ bt_self_component_status details_graph_is_configured(
                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: "
+               BT_COMP_LOGE("Single input port is not connected: "
                        "port-name=\"%s\"", in_port_name);
-               status = BT_SELF_COMPONENT_STATUS_ERROR;
+               status = BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_ERROR;
                goto end;
        }
 
@@ -445,7 +466,7 @@ bt_self_component_status details_graph_is_configured(
                bt_self_component_sink_borrow_input_port_by_name(comp,
                        in_port_name));
        if (!iterator) {
-               status = BT_SELF_COMPONENT_STATUS_NOMEM;
+               status = BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_MEMORY_ERROR;
                goto end;
        }
 
@@ -457,13 +478,15 @@ end:
 }
 
 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(
@@ -472,11 +495,11 @@ bt_self_component_status details_consume(bt_self_component_sink *comp)
        BT_ASSERT(details_comp->msg_iter);
 
        /* Consume messages */
-       it_ret = bt_self_component_port_input_message_iterator_next(
+       next_status = bt_self_component_port_input_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 +511,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,17 +527,17 @@ 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();
This page took 0.027383 seconds and 4 git commands to generate.