config_setting_t *list, *str_list;
const char *name, *parser = NULL, *filename, **parser_data;
const char **pre_draw_cmd;
+ const char **post_draw_cmd;
const char *logfile = NULL, *logfile_timestamp_fmt = NULL;
if (!config_setting_lookup_string(rrd, "name", &name)) {
db->pre_draw_cmd = (char *const *)pre_draw_cmd;
}
+ str_list = config_setting_get_member(rrd, "post_draw_cmd");
+ if (str_list) {
+ read_strings_from_list(str_list, &post_draw_cmd);
+ db->pre_draw_cmd = (char *const *)post_draw_cmd;
+ }
+
config_setting_lookup_string(rrd, "logfile", &logfile);
if (logfile)
db->logfile = strdup(logfile);
if (rrd->images)
rrdtool_draw_images(rrd->images);
+ if (rrd->post_draw_cmd && !strcmp(rrd->post_draw_cmd[0], "shell"))
+ run(rrd->post_draw_cmd[1], &rrd->post_draw_cmd[1]);
+
return 0;
}
const char **parser_data; /* data to be fed to the parser */
char *const *pre_draw_cmd; /* Command to execute prior drawing images*/
+ char *const *post_draw_cmd; /* ..and after drawing images */
struct rrd_image **images; /* Images to draw */