From 1759d4ca990e68df11fb57d96939483e62ec80cc Mon Sep 17 00:00:00 2001 From: Alberto Miranda Date: Mon, 3 Jul 2023 10:27:19 +0200 Subject: [PATCH] API: Extend public interfaces for ADM_node_t type - Add `ADM_node_get_hostname()` - Add `ADM_node_get_type()` --- src/lib/scord/types.h | 19 +++++++++++++++++++ src/lib/types.c | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/src/lib/scord/types.h b/src/lib/scord/types.h index 5d14e7dd..7bfbc113 100644 --- a/src/lib/scord/types.h +++ b/src/lib/scord/types.h @@ -69,6 +69,7 @@ typedef struct adm_server* ADM_server_t; typedef enum { ADM_NODE_REGULAR, ADM_NODE_ADMINISTRATIVE, + ADM_NODE_INVALID } ADM_node_type_t; /** A node */ @@ -261,6 +262,24 @@ ADM_server_destroy(ADM_server_t server); ADM_node_t ADM_node_create(const char* hostname, ADM_node_type_t type); +/** + * Get the hostname of a node. + * + * @param[in] node A valid ADM_node_t + * @return The hostname of the node. + */ +const char* +ADM_node_get_hostname(ADM_node_t node); + +/** + * Get the type of a node. + * + * @param[in] node A valid ADM_node_t + * @return The type of the node. + */ +ADM_node_type_t +ADM_node_get_type(ADM_node_t node); + /** * Destroy a node created by ADM_node_create(). * diff --git a/src/lib/types.c b/src/lib/types.c index 97c9ae12..fd2c7c7e 100644 --- a/src/lib/types.c +++ b/src/lib/types.c @@ -86,6 +86,26 @@ ADM_node_create(const char* hostname, ADM_node_type_t type) { return adm_node; } +const char* +ADM_node_get_hostname(ADM_node_t node) { + if(!node) { + LOGGER_ERROR("Invalid ADM_node_t"); + return NULL; + } + + return node->n_hostname; +} + +ADM_node_type_t +ADM_node_get_type(ADM_node_t node) { + if(!node) { + LOGGER_ERROR("Invalid ADM_node_t"); + return ADM_NODE_INVALID; + } + + return node->n_type; +} + ADM_node_t ADM_node_copy(ADM_node_t dst, const ADM_node_t src) { -- GitLab