Refactoring: use an opaque lttng_tracker_id type
[lttng-tools.git] / src / common / mi-lttng.c
index f884f9385de317c72b68422e626a281878f6e1e9..7b0d9cf0266b981db43b3344f9c67ac9d3280f32 100644 (file)
@@ -21,6 +21,7 @@
 #include <common/config/session-config.h>
 #include <common/defaults.h>
 #include <lttng/snapshot-internal.h>
+#include <lttng/tracker-internal.h>
 #include <lttng/channel.h>
 #include "mi-lttng.h"
 
@@ -1666,6 +1667,9 @@ int mi_lttng_id_target(struct mi_writer *writer,
 {
        int ret;
        const char *element_id_tracker, *element_target_id;
+       enum lttng_tracker_id_status status;
+       int value;
+       const char *string;
 
        ret = get_tracker_elements(
                        tracker_type, &element_id_tracker, &element_target_id);
@@ -1673,7 +1677,7 @@ int mi_lttng_id_target(struct mi_writer *writer,
                return ret;
        }
 
-       switch (id->type) {
+       switch (lttng_tracker_id_get_type(id)) {
        case LTTNG_ID_ALL:
                ret = mi_lttng_writer_open_element(writer, element_target_id);
                if (ret) {
@@ -1702,8 +1706,15 @@ int mi_lttng_id_target(struct mi_writer *writer,
                if (ret) {
                        goto end;
                }
+
+               status = lttng_tracker_id_get_value(id, &value);
+               if (status != LTTNG_TRACKER_ID_STATUS_OK) {
+                       ret = -1;
+                       goto end;
+               }
+
                ret = mi_lttng_writer_write_element_signed_int(
-                               writer, config_element_id, id->value);
+                               writer, config_element_id, value);
                if (ret) {
                        goto end;
                }
@@ -1721,8 +1732,15 @@ int mi_lttng_id_target(struct mi_writer *writer,
                if (ret) {
                        goto end;
                }
+
+               status = lttng_tracker_id_get_string(id, &string);
+               if (status != LTTNG_TRACKER_ID_STATUS_OK) {
+                       ret = -1;
+                       goto end;
+               }
+
                ret = mi_lttng_writer_write_element_string(
-                               writer, config_element_name, id->string);
+                               writer, config_element_name, string);
                if (ret) {
                        goto end;
                }
This page took 0.024211 seconds and 4 git commands to generate.