X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgraph.c;h=6b898595f36ed703bc3854b3df34a2dcf25ac6d2;hb=3e780d3e71dd90f155e65db7ea298778ef4fe1e5;hp=d314bcc1af2070acf4019f5765922096494a4df5;hpb=7ef6ca1ae6310242938b74bd1e79c51e4373534f;p=collection4.git diff --git a/src/graph.c b/src/graph.c index d314bcc..6b89859 100644 --- a/src/graph.c +++ b/src/graph.c @@ -204,6 +204,35 @@ int graph_get_title (graph_config_t *cfg, /* {{{ */ return (0); } /* }}} int graph_get_title */ +int graph_get_params (graph_config_t *cfg, /* {{{ */ + char *buffer, size_t buffer_size) +{ + buffer[0] = 0; + +#define COPY_FIELD(field) do { \ + const char *str = ident_get_##field (cfg->select); \ + char uri_str[1024]; \ + uri_escape (uri_str, str, sizeof (uri_str)); \ + strlcat (buffer, #field, buffer_size); \ + strlcat (buffer, "=", buffer_size); \ + strlcat (buffer, uri_str, buffer_size); \ +} while (0) + + COPY_FIELD(host); + strlcat (buffer, ";", buffer_size); + COPY_FIELD(plugin); + strlcat (buffer, ";", buffer_size); + COPY_FIELD(plugin_instance); + strlcat (buffer, ";", buffer_size); + COPY_FIELD(type); + strlcat (buffer, ";", buffer_size); + COPY_FIELD(type_instance); + +#undef COPY_FIELD + + return (0); +} /* }}} int graph_get_params */ + graph_ident_t *graph_get_selector (graph_config_t *cfg) /* {{{ */ { if (cfg == NULL) @@ -269,6 +298,12 @@ static int graph_search_submit (graph_instance_t *inst, /* {{{ */ return ((*data->callback) (data->cfg, inst, data->user_data)); } /* }}} int graph_search_submit */ +int graph_inst_foreach (graph_config_t *cfg, /* {{{ */ + inst_callback_t cb, void *user_data) +{ + return (inst_foreach (cfg->instances, cb, user_data)); +} /* }}} int graph_inst_foreach */ + int graph_search (graph_config_t *cfg, const char *term, /* {{{ */ graph_inst_callback_t callback, void *user_data)