123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // SPDX-License-Identifier: GPL-3.0-or-later
- #include "pluginsd_dyncfg.h"
- // ----------------------------------------------------------------------------
- PARSER_RC pluginsd_config(char **words, size_t num_words, PARSER *parser) {
- RRDHOST *host = pluginsd_require_scope_host(parser, PLUGINSD_KEYWORD_CONFIG);
- if(!host) return PARSER_RC_ERROR;
- size_t i = 1;
- char *id = get_word(words, num_words, i++);
- char *action = get_word(words, num_words, i++);
- if(strcmp(action, PLUGINSD_KEYWORD_CONFIG_ACTION_CREATE) == 0) {
- char *status_str = get_word(words, num_words, i++);
- char *type_str = get_word(words, num_words, i++);
- char *path = get_word(words, num_words, i++);
- char *source_type_str = get_word(words, num_words, i++);
- char *source = get_word(words, num_words, i++);
- char *supported_cmds_str = get_word(words, num_words, i++);
- DYNCFG_STATUS status = dyncfg_status2id(status_str);
- DYNCFG_TYPE type = dyncfg_type2id(type_str);
- DYNCFG_SOURCE_TYPE source_type = dyncfg_source_type2id(source_type_str);
- DYNCFG_CMDS cmds = dyncfg_cmds2id(supported_cmds_str);
- if(!dyncfg_add_low_level(
- host,
- id,
- path,
- status,
- type,
- source_type,
- source,
- cmds,
- 0,
- 0,
- false,
- pluginsd_function_execute_cb,
- parser))
- return PARSER_RC_ERROR;
- }
- else if(strcmp(action, PLUGINSD_KEYWORD_CONFIG_ACTION_DELETE) == 0) {
- dyncfg_del_low_level(host, id);
- }
- else if(strcmp(action, PLUGINSD_KEYWORD_CONFIG_ACTION_STATUS) == 0) {
- char *status_str = get_word(words, num_words, i++);
- dyncfg_status_low_level(host, id, dyncfg_status2id(status_str));
- }
- else
- nd_log(NDLS_COLLECTORS, NDLP_WARNING, "DYNCFG: unknown action '%s' received from plugin", action);
- parser->user.data_collections_count++;
- return PARSER_RC_OK;
- }
- // ----------------------------------------------------------------------------
- PARSER_RC pluginsd_dyncfg_noop(char **words __maybe_unused, size_t num_words __maybe_unused, PARSER *parser __maybe_unused) {
- return PARSER_RC_OK;
- }
|