lib: pass config objects to component init methods
[babeltrace.git] / src / plugins / text / details / details.c
index 47a29326313fe5b1aba827dbc07f654bb873b3a6..5093aca4fea4824ab687264bd9682490f53b484c 100644 (file)
@@ -23,7 +23,7 @@
 #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 "logging/comp-logging.h"
 
 #include <babeltrace2/babeltrace.h>
 
@@ -50,6 +50,9 @@ const char * const color_param_name = "color";
 static
 const char * const with_metadata_param_name = "with-metadata";
 
+static
+const char * const with_data_param_name = "with-data";
+
 static
 const char * const with_time_param_name = "with-time";
 
@@ -305,6 +308,13 @@ int configure_details_comp(struct details_comp *details_comp,
                goto error;
        }
 
+       /* With data objects? */
+       ret = configure_bool_opt(details_comp, params, with_data_param_name,
+               true, &details_comp->cfg.with_data);
+       if (ret) {
+               goto error;
+       }
+
        /* Compact? */
        ret = configure_bool_opt(details_comp, params, compact_param_name,
                false, &details_comp->cfg.compact);
@@ -378,7 +388,9 @@ void log_configuration(bt_self_component_sink *comp,
 }
 
 BT_HIDDEN
-bt_component_class_init_method_status details_init(bt_self_component_sink *comp,
+bt_component_class_init_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)
 {
@@ -434,8 +446,9 @@ BT_HIDDEN
 bt_component_class_sink_graph_is_configured_method_status
 details_graph_is_configured(bt_self_component_sink *comp)
 {
-       bt_component_class_sink_graph_is_configured_method_status status =
-               BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_OK;
+       bt_component_class_sink_graph_is_configured_method_status status;
+       bt_self_component_port_input_message_iterator_create_from_sink_component_status
+               msg_iter_status;
        bt_self_component_port_input_message_iterator *iterator;
        struct details_comp *details_comp;
        bt_self_component_port_input *in_port;
@@ -453,17 +466,19 @@ details_graph_is_configured(bt_self_component_sink *comp)
                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_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_MEMORY_ERROR;
+       msg_iter_status = bt_self_component_port_input_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_SELF_COMPONENT_PORT_INPUT_MESSAGE_ITERATOR_CREATE_FROM_SINK_COMPONENT_STATUS_OK) {
+               status = (int) msg_iter_status;
                goto end;
        }
 
        BT_SELF_COMPONENT_PORT_INPUT_MESSAGE_ITERATOR_MOVE_REF(
                details_comp->msg_iter, iterator);
 
+       status = BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_OK;
+
 end:
        return status;
 }
This page took 0.02463 seconds and 4 git commands to generate.