X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgraph_ident.h;h=f76c0c9f647858f0a9e4425acd0e91f7f0a2cd2d;hb=06651124c58362741dee867142f0a42b6ccc091d;hp=5107011ed3dec9d9848ee874895c3cdf32df9bd5;hpb=0ab3085f89e64eecd67d3179ea87f0463e918a10;p=collection4.git diff --git a/src/graph_ident.h b/src/graph_ident.h index 5107011..f76c0c9 100644 --- a/src/graph_ident.h +++ b/src/graph_ident.h @@ -1,14 +1,25 @@ #ifndef GRAPH_IDENT_H #define GRAPH_IDENT_H 1 +#include +#include "graph_types.h" + #define ANY_TOKEN "/any/" #define ALL_TOKEN "/all/" #define IS_ANY(str) (((str) != NULL) && (strcasecmp (ANY_TOKEN, (str)) == 0)) #define IS_ALL(str) (((str) != NULL) && (strcasecmp (ALL_TOKEN, (str)) == 0)) -struct graph_ident_s; -typedef struct graph_ident_s graph_ident_t; +enum graph_ident_field_e +{ + GIF_HOST, + GIF_PLUGIN, + GIF_PLUGIN_INSTANCE, + GIF_TYPE, + GIF_TYPE_INSTANCE, + _GIF_LAST +}; +typedef enum graph_ident_field_e graph_ident_field_t; graph_ident_t *ident_create (const char *host, const char *plugin, const char *plugin_instance, @@ -22,11 +33,13 @@ graph_ident_t *ident_copy_with_selector (const graph_ident_t *selector, void ident_destroy (graph_ident_t *ident); -const char *ident_get_host (graph_ident_t *ident); -const char *ident_get_plugin (graph_ident_t *ident); -const char *ident_get_plugin_instance (graph_ident_t *ident); -const char *ident_get_type (graph_ident_t *ident); -const char *ident_get_type_instance (graph_ident_t *ident); +const char *ident_get_host (const graph_ident_t *ident); +const char *ident_get_plugin (const graph_ident_t *ident); +const char *ident_get_plugin_instance (const graph_ident_t *ident); +const char *ident_get_type (const graph_ident_t *ident); +const char *ident_get_type_instance (const graph_ident_t *ident); +const char *ident_get_field (const graph_ident_t *ident, + graph_ident_field_t field); int ident_set_host (graph_ident_t *ident, const char *host); int ident_set_plugin (graph_ident_t *ident, const char *plugin); @@ -40,11 +53,13 @@ int ident_compare (const graph_ident_t *i0, const graph_ident_t *i1); _Bool ident_matches (const graph_ident_t *selector, - const graph_ident_t *ident); + const graph_ident_t *ident); char *ident_to_string (const graph_ident_t *ident); char *ident_to_file (const graph_ident_t *ident); char *ident_to_json (const graph_ident_t *ident); +time_t ident_get_mtime (const graph_ident_t *ident); + /* vim: set sw=2 sts=2 et fdm=marker : */ #endif /* GRAPH_IDENT_H */