From: Florian Forster Date: Sat, 26 Jun 2010 10:36:05 +0000 (+0200) Subject: Rename: src/action_show_graph.[ch] -> src/action_show_instance.[ch] X-Git-Tag: v4.0.0~180 X-Git-Url: https://git.octo.it/?p=collection4.git;a=commitdiff_plain;h=15279357255dbcccab890a29c7ceecc144ba3e63;hp=b7203b849d84ce9ca2b063dd768e7d0033472ace Rename: src/action_show_graph.[ch] -> src/action_show_instance.[ch] --- diff --git a/src/Makefile.am b/src/Makefile.am index ea4e837..ed5393a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,7 +18,7 @@ collection_fcgi_SOURCES = main.c \ action_graph.c action_graph.h \ action_list_graphs.c action_list_graphs.h \ action_search_json.c action_search_json.h \ - action_show_graph.c action_show_graph.h \ + action_show_instance.c action_show_instance.h \ common.c common.h \ filesystem.c filesystem.h \ graph_types.h \ diff --git a/src/action_show_graph.c b/src/action_show_graph.c deleted file mode 100644 index 8cde5c2..0000000 --- a/src/action_show_graph.c +++ /dev/null @@ -1,250 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "action_show_graph.h" -#include "common.h" -#include "graph.h" -#include "graph_ident.h" -#include "graph_instance.h" -#include "graph_list.h" -#include "utils_cgi.h" - -#include -#include - -#define OUTPUT_ERROR(...) do { \ - printf ("Content-Type: text/plain\n\n"); \ - printf (__VA_ARGS__); \ - return (0); \ -} while (0) - -struct show_graph_data_s -{ - graph_config_t *cfg; - graph_instance_t *inst; -}; -typedef struct show_graph_data_s show_graph_data_t; - -static void show_breadcrump_field (const char *str, /* {{{ */ - const char *field_name) -{ - if ((str == NULL) || (str[0] == 0)) - printf ("none"); - else if (IS_ANY (str)) - printf ("any"); - else if (IS_ALL (str)) - printf ("all"); - else - { - char *str_html = html_escape (str); - - if (field_name != NULL) - printf ("%s", - script_name (), field_name, str_html, str_html); - else - printf ("%s", - script_name (), str_html, str_html); - - free (str_html); - } -} /* }}} void show_breadcrump_field */ - -static int show_breadcrump (show_graph_data_t *data) /* {{{ */ -{ - graph_ident_t *ident; - char *prefix; - - if (data->inst != NULL) - { - prefix = "Instance"; - ident = inst_get_selector (data->inst); - } - else - { - prefix = "Graph"; - ident = graph_get_selector (data->cfg); - } - - printf ("
%s: "", prefix); - show_breadcrump_field (ident_get_host (ident), "host"); - printf (" / "); - show_breadcrump_field (ident_get_plugin (ident), "plugin"); - printf (" – "); - show_breadcrump_field (ident_get_plugin_instance (ident), "plugin_instance"); - printf (" / "); - show_breadcrump_field (ident_get_type (ident), "type"); - printf (" – "); - show_breadcrump_field (ident_get_type_instance (ident), "type_instance"); - printf (""
\n"); - - return (0); -} /* }}} int show_breadcrump */ - -static int show_time_selector (__attribute__((unused)) void *user_data) /* {{{ */ -{ - param_list_t *pl; - - pl = param_create (/* query string = */ NULL); - param_set (pl, "begin", NULL); - param_set (pl, "end", NULL); - param_set (pl, "button", NULL); - - printf ("
\n", script_name ()); - - param_print_hidden (pl); - - printf (" \n" - " \n"); - - printf ("
\n"); - - param_destroy (pl); - - return (0); -} /* }}} int show_time_selector */ - -static int show_instance_list_cb (graph_instance_t *inst, /* {{{ */ - void *user_data) -{ - show_graph_data_t *data = user_data; - char descr[128]; - char params[1024]; - - memset (descr, 0, sizeof (descr)); - inst_describe (data->cfg, inst, descr, sizeof (descr)); - html_escape_buffer (descr, sizeof (descr)); - - if (inst == data->inst) - { - printf ("
  • %s
  • \n", descr); - return (0); - } - - memset (params, 0, sizeof (params)); - inst_get_params (data->cfg, inst, params, sizeof (params)); - html_escape_buffer (params, sizeof (params)); - - printf ("
  • " - "%s
  • \n", - script_name (), params, descr); - - return (0); -} /* }}} int show_instance_list_cb */ - -static int show_instance_list (void *user_data) /* {{{ */ -{ - show_graph_data_t *data = user_data; - char title[128]; - char params[1024]; - - memset (title, 0, sizeof (title)); - graph_get_title (data->cfg, title, sizeof (title)); - html_escape_buffer (title, sizeof (title)); - - memset (params, 0, sizeof (params)); - graph_get_params (data->cfg, params, sizeof (params)); - html_escape_buffer (params, sizeof (params)); - - printf ("
      \n" - "
    • %s\n" - "
        \n", - script_name (), params, title); - - graph_inst_foreach (data->cfg, show_instance_list_cb, user_data); - - printf ("
      \n" - "
    \n"); - - return (0); -} /* }}} int show_instance_list */ - -static int show_instance_cb (graph_config_t *cfg, /* {{{ */ - graph_instance_t *inst, - __attribute__((unused)) void *user_data) -{ - char title[128]; - char descr[128]; - char params[1024]; - - memset (title, 0, sizeof (title)); - graph_get_title (cfg, title, sizeof (title)); - html_escape_buffer (title, sizeof (title)); - - memset (descr, 0, sizeof (descr)); - inst_describe (cfg, inst, descr, sizeof (descr)); - html_escape_buffer (descr, sizeof (descr)); - - memset (params, 0, sizeof (params)); - inst_get_params (cfg, inst, params, sizeof (params)); - html_escape_buffer (params, sizeof (params)); - - printf ("

    Instance "%s"

    \n", descr); - printf ("
    \n", - script_name (), params, title, descr); - - return (0); -} /* }}} int show_instance_cb */ - -static int show_instance (void *user_data) /* {{{ */ -{ - show_graph_data_t *data = user_data; - int status; - - fprintf (stderr, "show_instance: Calling inst_get_all_selected()\n"); - status = inst_get_all_selected (data->cfg, - /* callback = */ show_instance_cb, /* user data = */ NULL); - if (status != 0) - fprintf (stderr, "show_instance: inst_get_all_selected failed " - "with status %i\n", status); - - return (0); -} /* }}} int show_instance */ - -static int show_graph (void *user_data) /* {{{ */ -{ - show_graph_data_t *data = user_data; - - show_breadcrump (data); - return (show_instance_list (user_data)); -} /* }}} int show_graph */ - -int action_show_graph (void) /* {{{ */ -{ - page_callbacks_t pg_callbacks = PAGE_CALLBACKS_INIT; - show_graph_data_t pg_data; - - char tmp[128]; - char title[128]; - - pg_data.cfg = gl_graph_get_selected (); - if (pg_data.cfg == NULL) - OUTPUT_ERROR ("gl_graph_get_selected () failed.\n"); - - memset (tmp, 0, sizeof (tmp)); - graph_get_title (pg_data.cfg, tmp, sizeof (tmp)); - snprintf (title, sizeof (title), "Graph \"%s\"", tmp); - title[sizeof (title) - 1] = 0; - - pg_callbacks.top_right = html_print_search_box; - pg_callbacks.middle_center = show_instance; - pg_callbacks.middle_left = show_instance_list; - pg_callbacks.middle_right = show_time_selector; - - html_print_page (title, &pg_callbacks, &pg_data); - - return (0); -} /* }}} int action_graph */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/src/action_show_graph.h b/src/action_show_graph.h deleted file mode 100644 index 5b5e78a..0000000 --- a/src/action_show_graph.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef ACTION_SHOW_GRAPH_H -#define ACTION_SHOW_GRAPH_H 1 - -int action_show_graph (void); - -#endif /* ACTION_SHOW_GRAPH_H */ -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/src/action_show_instance.c b/src/action_show_instance.c new file mode 100644 index 0000000..a45fb49 --- /dev/null +++ b/src/action_show_instance.c @@ -0,0 +1,250 @@ +#include +#include +#include +#include +#include +#include +#include + +#include "action_show_instance.h" +#include "common.h" +#include "graph.h" +#include "graph_ident.h" +#include "graph_instance.h" +#include "graph_list.h" +#include "utils_cgi.h" + +#include +#include + +#define OUTPUT_ERROR(...) do { \ + printf ("Content-Type: text/plain\n\n"); \ + printf (__VA_ARGS__); \ + return (0); \ +} while (0) + +struct show_graph_data_s +{ + graph_config_t *cfg; + graph_instance_t *inst; +}; +typedef struct show_graph_data_s show_graph_data_t; + +static void show_breadcrump_field (const char *str, /* {{{ */ + const char *field_name) +{ + if ((str == NULL) || (str[0] == 0)) + printf ("none"); + else if (IS_ANY (str)) + printf ("any"); + else if (IS_ALL (str)) + printf ("all"); + else + { + char *str_html = html_escape (str); + + if (field_name != NULL) + printf ("%s", + script_name (), field_name, str_html, str_html); + else + printf ("%s", + script_name (), str_html, str_html); + + free (str_html); + } +} /* }}} void show_breadcrump_field */ + +static int show_breadcrump (show_graph_data_t *data) /* {{{ */ +{ + graph_ident_t *ident; + char *prefix; + + if (data->inst != NULL) + { + prefix = "Instance"; + ident = inst_get_selector (data->inst); + } + else + { + prefix = "Graph"; + ident = graph_get_selector (data->cfg); + } + + printf ("
    %s: "", prefix); + show_breadcrump_field (ident_get_host (ident), "host"); + printf (" / "); + show_breadcrump_field (ident_get_plugin (ident), "plugin"); + printf (" – "); + show_breadcrump_field (ident_get_plugin_instance (ident), "plugin_instance"); + printf (" / "); + show_breadcrump_field (ident_get_type (ident), "type"); + printf (" – "); + show_breadcrump_field (ident_get_type_instance (ident), "type_instance"); + printf (""
    \n"); + + return (0); +} /* }}} int show_breadcrump */ + +static int show_time_selector (__attribute__((unused)) void *user_data) /* {{{ */ +{ + param_list_t *pl; + + pl = param_create (/* query string = */ NULL); + param_set (pl, "begin", NULL); + param_set (pl, "end", NULL); + param_set (pl, "button", NULL); + + printf ("
    \n", script_name ()); + + param_print_hidden (pl); + + printf (" \n" + " \n"); + + printf ("
    \n"); + + param_destroy (pl); + + return (0); +} /* }}} int show_time_selector */ + +static int show_instance_list_cb (graph_instance_t *inst, /* {{{ */ + void *user_data) +{ + show_graph_data_t *data = user_data; + char descr[128]; + char params[1024]; + + memset (descr, 0, sizeof (descr)); + inst_describe (data->cfg, inst, descr, sizeof (descr)); + html_escape_buffer (descr, sizeof (descr)); + + if (inst == data->inst) + { + printf ("
  • %s
  • \n", descr); + return (0); + } + + memset (params, 0, sizeof (params)); + inst_get_params (data->cfg, inst, params, sizeof (params)); + html_escape_buffer (params, sizeof (params)); + + printf ("
  • " + "%s
  • \n", + script_name (), params, descr); + + return (0); +} /* }}} int show_instance_list_cb */ + +static int show_instance_list (void *user_data) /* {{{ */ +{ + show_graph_data_t *data = user_data; + char title[128]; + char params[1024]; + + memset (title, 0, sizeof (title)); + graph_get_title (data->cfg, title, sizeof (title)); + html_escape_buffer (title, sizeof (title)); + + memset (params, 0, sizeof (params)); + graph_get_params (data->cfg, params, sizeof (params)); + html_escape_buffer (params, sizeof (params)); + + printf ("
      \n" + "
    • %s\n" + "
        \n", + script_name (), params, title); + + graph_inst_foreach (data->cfg, show_instance_list_cb, user_data); + + printf ("
      \n" + "
    \n"); + + return (0); +} /* }}} int show_instance_list */ + +static int show_instance_cb (graph_config_t *cfg, /* {{{ */ + graph_instance_t *inst, + __attribute__((unused)) void *user_data) +{ + char title[128]; + char descr[128]; + char params[1024]; + + memset (title, 0, sizeof (title)); + graph_get_title (cfg, title, sizeof (title)); + html_escape_buffer (title, sizeof (title)); + + memset (descr, 0, sizeof (descr)); + inst_describe (cfg, inst, descr, sizeof (descr)); + html_escape_buffer (descr, sizeof (descr)); + + memset (params, 0, sizeof (params)); + inst_get_params (cfg, inst, params, sizeof (params)); + html_escape_buffer (params, sizeof (params)); + + printf ("

    Instance "%s"

    \n", descr); + printf ("
    \n", + script_name (), params, title, descr); + + return (0); +} /* }}} int show_instance_cb */ + +static int show_instance (void *user_data) /* {{{ */ +{ + show_graph_data_t *data = user_data; + int status; + + fprintf (stderr, "show_instance: Calling inst_get_all_selected()\n"); + status = inst_get_all_selected (data->cfg, + /* callback = */ show_instance_cb, /* user data = */ NULL); + if (status != 0) + fprintf (stderr, "show_instance: inst_get_all_selected failed " + "with status %i\n", status); + + return (0); +} /* }}} int show_instance */ + +static int show_graph (void *user_data) /* {{{ */ +{ + show_graph_data_t *data = user_data; + + show_breadcrump (data); + return (show_instance_list (user_data)); +} /* }}} int show_graph */ + +int action_show_instance (void) /* {{{ */ +{ + page_callbacks_t pg_callbacks = PAGE_CALLBACKS_INIT; + show_graph_data_t pg_data; + + char tmp[128]; + char title[128]; + + pg_data.cfg = gl_graph_get_selected (); + if (pg_data.cfg == NULL) + OUTPUT_ERROR ("gl_graph_get_selected () failed.\n"); + + memset (tmp, 0, sizeof (tmp)); + graph_get_title (pg_data.cfg, tmp, sizeof (tmp)); + snprintf (title, sizeof (title), "Graph \"%s\"", tmp); + title[sizeof (title) - 1] = 0; + + pg_callbacks.top_right = html_print_search_box; + pg_callbacks.middle_center = show_instance; + pg_callbacks.middle_left = show_instance_list; + pg_callbacks.middle_right = show_time_selector; + + html_print_page (title, &pg_callbacks, &pg_data); + + return (0); +} /* }}} int action_show_instance */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/src/action_show_instance.h b/src/action_show_instance.h new file mode 100644 index 0000000..33e8a73 --- /dev/null +++ b/src/action_show_instance.h @@ -0,0 +1,7 @@ +#ifndef ACTION_SHOW_GRAPH_H +#define ACTION_SHOW_GRAPH_H 1 + +int action_show_instance (void); + +#endif /* ACTION_SHOW_GRAPH_H */ +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/src/main.c b/src/main.c index 5fd34d1..208318d 100644 --- a/src/main.c +++ b/src/main.c @@ -16,7 +16,7 @@ #include "action_graph.h" #include "action_list_graphs.h" #include "action_search_json.h" -#include "action_show_graph.h" +#include "action_show_instance.h" /* Include this last, so the macro magic of doesn't interfere * with our own header files. */ @@ -37,7 +37,7 @@ static const action_t actions[] = { "graph", action_graph }, { "list_graphs", action_list_graphs }, { "search_json", action_search_json }, - { "show_graph", action_show_graph }, + { "show_graph", action_show_instance }, { "usage", action_usage } }; static const size_t actions_num = sizeof (actions) / sizeof (actions[0]);