Clean-up: modernize pretty_xml.cpp
[lttng-tools.git] / src / common / tracker.c
diff --git a/src/common/tracker.c b/src/common/tracker.c
deleted file mode 100644 (file)
index 2c91d5d..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * Copyright (C) 2019 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
- *
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- */
-
-#include <assert.h>
-#include <common/defaults.h>
-#include <common/error.h>
-#include <common/macros.h>
-#include <common/sessiond-comm/sessiond-comm.h>
-#include <common/uri.h>
-#include <lttng/tracker-internal.h>
-#include <stdio.h>
-#include <time.h>
-
-struct lttng_tracker_id *lttng_tracker_id_create(void)
-{
-       struct lttng_tracker_id *id;
-
-       id = zmalloc(sizeof(*id));
-       if (!id) {
-               goto error;
-       }
-
-       id->type = LTTNG_ID_UNKNOWN;
-       id->string = NULL;
-       id->value = -1;
-       return id;
-error:
-       lttng_tracker_id_destroy(id);
-       return NULL;
-}
-
-enum lttng_tracker_id_status lttng_tracker_id_set_value(
-               struct lttng_tracker_id *id, int value)
-{
-       assert(id);
-
-       if (value < 0) {
-               return LTTNG_TRACKER_ID_STATUS_INVALID;
-       }
-
-       id->type = LTTNG_ID_VALUE;
-       id->value = value;
-       return LTTNG_TRACKER_ID_STATUS_OK;
-}
-
-enum lttng_tracker_id_status lttng_tracker_id_set_string(
-               struct lttng_tracker_id *id, const char *value)
-{
-       assert(id);
-       assert(value);
-
-       id->type = LTTNG_ID_STRING;
-       id->string = strdup(value);
-       if (id->string == NULL) {
-               /* No memory left */
-               goto error;
-       }
-
-       return LTTNG_TRACKER_ID_STATUS_OK;
-error:
-       return LTTNG_TRACKER_ID_STATUS_INVALID;
-}
-
-enum lttng_tracker_id_status lttng_tracker_id_set_all(
-               struct lttng_tracker_id *id)
-{
-       assert(id);
-
-       id->type = LTTNG_ID_ALL;
-
-       return LTTNG_TRACKER_ID_STATUS_OK;
-}
-
-static void lttng_tracker_id_reset(struct lttng_tracker_id *id)
-{
-       if (id == NULL) {
-               return;
-       }
-
-       if (id->string != NULL) {
-               free(id->string);
-               id->string = NULL;
-       }
-
-       id->type = LTTNG_ID_UNKNOWN;
-       id->value = -1;
-}
-
-void lttng_tracker_id_destroy(struct lttng_tracker_id *id)
-{
-       if (id == NULL) {
-               return;
-       }
-
-       lttng_tracker_id_reset(id);
-
-       free(id);
-}
-
-enum lttng_tracker_id_type lttng_tracker_id_get_type(
-               const struct lttng_tracker_id *id)
-{
-       assert(id);
-       return id->type;
-}
-
-enum lttng_tracker_id_status lttng_tracker_id_get_value(
-               const struct lttng_tracker_id *id, int *value)
-{
-       assert(id);
-       if (id->type == LTTNG_ID_UNKNOWN) {
-               return LTTNG_TRACKER_ID_STATUS_UNSET;
-       }
-
-       if (id->type != LTTNG_ID_VALUE) {
-               return LTTNG_TRACKER_ID_STATUS_INVALID;
-       }
-
-       *value = id->value;
-       return LTTNG_TRACKER_ID_STATUS_OK;
-}
-
-bool lttng_tracker_id_is_equal(const struct lttng_tracker_id *left,
-               const struct lttng_tracker_id *right)
-{
-       if (left->type != right->type) {
-               return 0;
-       }
-
-       switch (left->type) {
-       case LTTNG_ID_ALL:
-               return 1;
-       case LTTNG_ID_VALUE:
-               if (left->value != right->value) {
-                       return 0;
-               }
-               break;
-       case LTTNG_ID_STRING:
-               if (strcmp(left->string, right->string) != 0) {
-                       return 0;
-               }
-               break;
-       default:
-               /*
-                * Normally this should return true, but comparing unset tracker
-                * id is "invalid".
-                */
-               return 0;
-       }
-       return 1;
-}
-
-int lttng_tracker_id_copy(struct lttng_tracker_id *dest,
-               const struct lttng_tracker_id *orig)
-{
-       int ret = 0;
-       enum lttng_tracker_id_status status;
-
-       assert(dest);
-       assert(orig);
-
-       switch (orig->type) {
-       case LTTNG_ID_ALL:
-               status = lttng_tracker_id_set_all(dest);
-               break;
-       case LTTNG_ID_VALUE:
-               status = lttng_tracker_id_set_value(dest, orig->value);
-               break;
-       case LTTNG_ID_STRING:
-               status = lttng_tracker_id_set_string(dest, orig->string);
-               break;
-       default:
-               status = LTTNG_TRACKER_ID_STATUS_OK;
-               break;
-       }
-
-       if (status != LTTNG_TRACKER_ID_STATUS_OK) {
-               ret = -1;
-               goto error;
-       }
-error:
-       return ret;
-}
-
-struct lttng_tracker_id *lttng_tracker_id_duplicate(
-               const struct lttng_tracker_id *orig)
-{
-       int ret;
-       struct lttng_tracker_id *copy = NULL;
-
-       copy = lttng_tracker_id_create();
-       if (copy == NULL) {
-               goto error;
-       }
-
-       ret = lttng_tracker_id_copy(copy, orig);
-       if (ret) {
-               goto error;
-       }
-
-       return copy;
-error:
-       lttng_tracker_id_destroy(copy);
-       return NULL;
-}
-
-enum lttng_tracker_id_status lttng_tracker_id_get_string(
-               const struct lttng_tracker_id *id, const char **value)
-{
-       assert(id);
-       if (id->type == LTTNG_ID_UNKNOWN) {
-               *value = NULL;
-               return LTTNG_TRACKER_ID_STATUS_UNSET;
-       }
-
-       if (id->type != LTTNG_ID_STRING) {
-               *value = NULL;
-               return LTTNG_TRACKER_ID_STATUS_INVALID;
-       }
-
-       *value = id->string;
-       return LTTNG_TRACKER_ID_STATUS_OK;
-}
-
-struct lttng_tracker_ids *lttng_tracker_ids_create(unsigned int count)
-{
-       struct lttng_tracker_ids *ids = NULL;
-
-       ids = zmalloc(sizeof(*ids));
-       if (!ids) {
-               goto error;
-       }
-
-       ids->id_array = zmalloc(sizeof(struct lttng_tracker_id) * count);
-       if (!ids->id_array) {
-               goto error;
-       }
-
-       ids->count = count;
-
-       return ids;
-error:
-       free(ids);
-       return NULL;
-}
-
-LTTNG_HIDDEN
-struct lttng_tracker_id *lttng_tracker_ids_get_pointer_of_index(
-               const struct lttng_tracker_ids *ids, unsigned int index)
-{
-       assert(ids);
-       if (index >= ids->count) {
-               return NULL;
-       }
-
-       return &ids->id_array[index];
-}
-
-const struct lttng_tracker_id *lttng_tracker_ids_get_at_index(
-               const struct lttng_tracker_ids *ids, unsigned int index)
-{
-       assert(ids);
-       return lttng_tracker_ids_get_pointer_of_index(ids, index);
-}
-
-enum lttng_tracker_id_status lttng_tracker_ids_get_count(const struct lttng_tracker_ids *ids, unsigned int *count)
-{
-
-       enum lttng_tracker_id_status status = LTTNG_TRACKER_ID_STATUS_OK;
-
-       if (!ids || !count) {
-               status = LTTNG_TRACKER_ID_STATUS_INVALID;
-               goto end;
-       }
-
-       *count = ids->count;
-end:
-       return status;
-}
-
-void lttng_tracker_ids_destroy(struct lttng_tracker_ids *ids)
-{
-       int i;
-
-       if (!ids) {
-               return;
-       }
-
-       for (i = 0; i < ids->count; i++) {
-               lttng_tracker_id_reset(&ids->id_array[i]);
-       }
-       free(ids->id_array);
-       free(ids);
-}
-
-int lttng_tracker_ids_serialize(const struct lttng_tracker_ids *ids,
-               struct lttng_dynamic_buffer *buffer)
-{
-       int ret;
-       int value;
-       const char *string;
-       unsigned int count;
-       enum lttng_tracker_id_status status;
-       const struct lttng_tracker_id *id;
-       unsigned int i;
-
-       status = lttng_tracker_ids_get_count(ids, &count);
-       if (status != LTTNG_TRACKER_ID_STATUS_OK) {
-               ret = LTTNG_ERR_INVALID;
-               goto error;
-       }
-
-       for (i = 0; i < count; i++) {
-               struct lttcomm_tracker_id_header id_hdr;
-               size_t var_data_len = 0;
-
-               id = lttng_tracker_ids_get_at_index(ids, i);
-               if (!id) {
-                       ret = -LTTNG_ERR_INVALID;
-                       goto error;
-               }
-
-               memset(&id_hdr, 0, sizeof(id_hdr));
-               id_hdr.type = lttng_tracker_id_get_type(id);
-               switch (id_hdr.type) {
-               case LTTNG_ID_ALL:
-                       break;
-               case LTTNG_ID_VALUE:
-                       status = lttng_tracker_id_get_value(id, &value);
-                       id_hdr.u.value = value;
-                       if (status != LTTNG_TRACKER_ID_STATUS_OK) {
-                               ret = -LTTNG_ERR_INVALID;
-                               goto error;
-                       }
-                       break;
-               case LTTNG_ID_STRING:
-                       status = lttng_tracker_id_get_string(
-                                       id, &string);
-                       if (status != LTTNG_TRACKER_ID_STATUS_OK) {
-                               ret = -LTTNG_ERR_INVALID;
-                               goto error;
-                       }
-
-                       id_hdr.u.var_data_len = var_data_len =
-                                       strlen(string) + 1;
-                       break;
-               default:
-                       ret = -LTTNG_ERR_INVALID;
-                       goto error;
-               }
-               ret = lttng_dynamic_buffer_append(
-                               buffer, &id_hdr, sizeof(id_hdr));
-               if (ret) {
-                       ret = -LTTNG_ERR_NOMEM;
-                       goto error;
-               }
-               ret = lttng_dynamic_buffer_append(
-                               buffer, string, var_data_len);
-               if (ret) {
-                       ret = -LTTNG_ERR_NOMEM;
-                       goto error;
-               }
-       }
-error:
-       return ret;
-}
This page took 0.026671 seconds and 4 git commands to generate.