int plugin_config_delete_desc (const void *pointer, void *data, struct t_config_file *config_file, struct t_config_section *section, struct t_config_option *option) { struct t_config_option *ptr_option_var; /* make C compiler happy */ (void) pointer; (void) data; (void) section; ptr_option_var = config_file_search_option (config_file, plugin_config_section_var, option->name); if (ptr_option_var) { if (ptr_option_var->description) { free (ptr_option_var->description); ptr_option_var->description = NULL; } } config_file_option_free (option); return WEECHAT_CONFIG_OPTION_UNSET_OK_REMOVED; }
int plugin_config_set_internal (const char *option, const char *value) { int rc; struct t_config_option *ptr_option; ptr_option = config_file_search_option (plugin_config_file, plugin_config_section_var, option); if (ptr_option) { rc = config_file_option_set (ptr_option, value, 0); } else { ptr_option = config_file_new_option ( plugin_config_file, plugin_config_section_var, option, "string", NULL, NULL, 0, 0, "", value, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); rc = (ptr_option) ? WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE : WEECHAT_CONFIG_OPTION_SET_ERROR; } return rc; }
int plugin_config_create_option (const void *pointer, void *data, struct t_config_file *config_file, struct t_config_section *section, const char *option_name, const char *value) { struct t_config_option *ptr_option_desc, *ptr_option; /* make C compiler happy */ (void) pointer; (void) data; ptr_option_desc = config_file_search_option (config_file, plugin_config_section_desc, option_name); ptr_option = config_file_new_option ( config_file, section, option_name, "string", (ptr_option_desc) ? CONFIG_STRING(ptr_option_desc) : NULL, NULL, 0, 0, "", value, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); return (ptr_option) ? WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE : WEECHAT_CONFIG_OPTION_SET_ERROR; }
void plugin_config_set_desc_internal (const char *option, const char *value) { struct t_config_option *ptr_option; ptr_option = config_file_search_option (plugin_config_file, plugin_config_section_desc, option); if (ptr_option) { config_file_option_set (ptr_option, value, 1); } else { ptr_option = config_file_new_option ( plugin_config_file, plugin_config_section_desc, option, "string", _("description of plugin option"), NULL, 0, 0, "", value, 0, NULL, NULL, NULL, &plugin_config_desc_changed_cb, NULL, NULL, NULL, NULL, NULL); } if (ptr_option) plugin_config_desc_changed_cb (NULL, NULL, ptr_option); }
int plugin_config_create_desc (void *data, struct t_config_file *config_file, struct t_config_section *section, const char *option_name, const char *value) { struct t_config_option *ptr_option_var, *ptr_option; /* make C compiler happy */ (void) data; ptr_option_var = config_file_search_option (config_file, plugin_config_section_var, option_name); if (ptr_option_var) { if (ptr_option_var->description) { free (ptr_option_var->description); ptr_option_var->description = NULL; } if (value) ptr_option_var->description = strdup (value); } ptr_option = config_file_new_option ( config_file, section, option_name, "string", _("description of plugin option"), NULL, 0, 0, "", value, 0, NULL, NULL, &plugin_config_desc_changed_cb, NULL, NULL, NULL); return (ptr_option) ? DOGECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE : DOGECHAT_CONFIG_OPTION_SET_ERROR; }
void plugin_config_desc_changed_cb (void *data, struct t_config_option *option) { struct t_config_option *ptr_option; /* make C compiler happy */ (void) data; ptr_option = config_file_search_option (plugin_config_file, plugin_config_section_var, option->name); if (ptr_option) { if (ptr_option->description) { free (ptr_option->description); ptr_option->description = NULL; } if (option->value) ptr_option->description = strdup (option->value); } }
struct t_config_option * plugin_config_search (const char *plugin_name, const char *option_name) { int length; char *option_full_name; struct t_config_option *ptr_option; ptr_option = NULL; length = strlen (plugin_name) + 1 + strlen (option_name) + 1; option_full_name = malloc (length); if (option_full_name) { snprintf (option_full_name, length, "%s.%s", plugin_name, option_name); ptr_option = config_file_search_option (plugin_config_file, plugin_config_section_var, option_full_name); free (option_full_name); } return ptr_option; }