Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
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;
}
Beispiel #4
0
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);
}
Beispiel #5
0
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;
}
Beispiel #6
0
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);
    }
}
Beispiel #7
0
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;
}