mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 13:44:12 +01:00
CLI: rename notmuch_config_t to notmuch_conffile_t
The name is a compromise between keeping function names from getting too long, and avoiding confusion with the newer notmuch_config library API. Try to make clear that the residual functionality is only about updating configuration files.
This commit is contained in:
parent
1c747a501c
commit
1459217e17
3 changed files with 90 additions and 90 deletions
|
@ -156,7 +156,7 @@ chomp_newline (char *str)
|
||||||
*/
|
*/
|
||||||
extern int notmuch_format_version;
|
extern int notmuch_format_version;
|
||||||
|
|
||||||
typedef struct _notmuch_config notmuch_config_t;
|
typedef struct _notmuch_conffile notmuch_conffile_t;
|
||||||
|
|
||||||
/* Commands that support structured output should support the
|
/* Commands that support structured output should support the
|
||||||
* following argument
|
* following argument
|
||||||
|
@ -260,55 +260,55 @@ typedef enum {
|
||||||
NOTMUCH_COMMAND_CONFIG_LOAD = 1 << 5,
|
NOTMUCH_COMMAND_CONFIG_LOAD = 1 << 5,
|
||||||
} notmuch_command_mode_t;
|
} notmuch_command_mode_t;
|
||||||
|
|
||||||
notmuch_config_t *
|
notmuch_conffile_t *
|
||||||
notmuch_config_open (notmuch_database_t *notmuch,
|
notmuch_conffile_open (notmuch_database_t *notmuch,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
bool create);
|
bool create);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_close (notmuch_config_t *config);
|
notmuch_conffile_close (notmuch_conffile_t *config);
|
||||||
|
|
||||||
int
|
int
|
||||||
notmuch_config_save (notmuch_config_t *config);
|
notmuch_conffile_save (notmuch_conffile_t *config);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
notmuch_config_is_new (notmuch_config_t *config);
|
notmuch_conffile_is_new (notmuch_conffile_t *config);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_database_path (notmuch_config_t *config,
|
notmuch_conffile_set_database_path (notmuch_conffile_t *config,
|
||||||
const char *database_path);
|
const char *database_path);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_user_name (notmuch_config_t *config,
|
notmuch_conffile_set_user_name (notmuch_conffile_t *config,
|
||||||
const char *user_name);
|
const char *user_name);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_user_primary_email (notmuch_config_t *config,
|
notmuch_conffile_set_user_primary_email (notmuch_conffile_t *config,
|
||||||
const char *primary_email);
|
const char *primary_email);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_user_other_email (notmuch_config_t *config,
|
notmuch_conffile_set_user_other_email (notmuch_conffile_t *config,
|
||||||
const char *other_email[],
|
const char *other_email[],
|
||||||
size_t length);
|
size_t length);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_new_tags (notmuch_config_t *config,
|
notmuch_conffile_set_new_tags (notmuch_conffile_t *config,
|
||||||
const char *new_tags[],
|
const char *new_tags[],
|
||||||
size_t length);
|
|
||||||
|
|
||||||
void
|
|
||||||
notmuch_config_set_new_ignore (notmuch_config_t *config,
|
|
||||||
const char *new_ignore[],
|
|
||||||
size_t length);
|
size_t length);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
|
notmuch_conffile_set_new_ignore (notmuch_conffile_t *config,
|
||||||
bool synchronize_flags);
|
const char *new_ignore[],
|
||||||
|
size_t length);
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_search_exclude_tags (notmuch_config_t *config,
|
notmuch_conffile_set_maildir_synchronize_flags (notmuch_conffile_t *config,
|
||||||
const char *list[],
|
bool synchronize_flags);
|
||||||
size_t length);
|
|
||||||
|
void
|
||||||
|
notmuch_conffile_set_search_exclude_tags (notmuch_conffile_t *config,
|
||||||
|
const char *list[],
|
||||||
|
size_t length);
|
||||||
int
|
int
|
||||||
notmuch_run_hook (notmuch_database_t *notmuch, const char *hook);
|
notmuch_run_hook (notmuch_database_t *notmuch, const char *hook);
|
||||||
|
|
||||||
|
|
|
@ -114,14 +114,14 @@ struct config_group {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _notmuch_config {
|
struct _notmuch_conffile {
|
||||||
char *filename;
|
char *filename;
|
||||||
GKeyFile *key_file;
|
GKeyFile *key_file;
|
||||||
bool is_new;
|
bool is_new;
|
||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int
|
||||||
notmuch_config_destructor (notmuch_config_t *config)
|
notmuch_conffile_destructor (notmuch_conffile_t *config)
|
||||||
{
|
{
|
||||||
if (config->key_file)
|
if (config->key_file)
|
||||||
g_key_file_free (config->key_file);
|
g_key_file_free (config->key_file);
|
||||||
|
@ -130,7 +130,7 @@ notmuch_config_destructor (notmuch_config_t *config)
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
get_config_from_file (notmuch_config_t *config, bool create_new)
|
get_config_from_file (notmuch_conffile_t *config, bool create_new)
|
||||||
{
|
{
|
||||||
#define BUF_SIZE 4096
|
#define BUF_SIZE 4096
|
||||||
char *config_str = NULL;
|
char *config_str = NULL;
|
||||||
|
@ -245,21 +245,21 @@ get_config_from_file (notmuch_config_t *config, bool create_new)
|
||||||
* The default configuration also contains comments to guide the
|
* The default configuration also contains comments to guide the
|
||||||
* user in editing the file directly.
|
* user in editing the file directly.
|
||||||
*/
|
*/
|
||||||
notmuch_config_t *
|
notmuch_conffile_t *
|
||||||
notmuch_config_open (notmuch_database_t *notmuch,
|
notmuch_conffile_open (notmuch_database_t *notmuch,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
bool create)
|
bool create)
|
||||||
{
|
{
|
||||||
char *notmuch_config_env = NULL;
|
char *notmuch_config_env = NULL;
|
||||||
|
|
||||||
notmuch_config_t *config = talloc_zero (notmuch, notmuch_config_t);
|
notmuch_conffile_t *config = talloc_zero (notmuch, notmuch_conffile_t);
|
||||||
|
|
||||||
if (config == NULL) {
|
if (config == NULL) {
|
||||||
fprintf (stderr, "Out of memory.\n");
|
fprintf (stderr, "Out of memory.\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
talloc_set_destructor (config, notmuch_config_destructor);
|
talloc_set_destructor (config, notmuch_conffile_destructor);
|
||||||
|
|
||||||
if (filename) {
|
if (filename) {
|
||||||
config->filename = talloc_strdup (config, filename);
|
config->filename = talloc_strdup (config, filename);
|
||||||
|
@ -294,14 +294,14 @@ notmuch_config_open (notmuch_database_t *notmuch,
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Close the given notmuch_config_t object, freeing all resources.
|
/* Close the given notmuch_conffile_t object, freeing all resources.
|
||||||
*
|
*
|
||||||
* Note: Any changes made to the configuration are *not* saved by this
|
* Note: Any changes made to the configuration are *not* saved by this
|
||||||
* function. To save changes, call notmuch_config_save before
|
* function. To save changes, call notmuch_conffile_save before
|
||||||
* notmuch_config_close.
|
* notmuch_conffile_close.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
notmuch_config_close (notmuch_config_t *config)
|
notmuch_conffile_close (notmuch_conffile_t *config)
|
||||||
{
|
{
|
||||||
talloc_free (config);
|
talloc_free (config);
|
||||||
}
|
}
|
||||||
|
@ -314,7 +314,7 @@ notmuch_config_close (notmuch_config_t *config)
|
||||||
* printing a description of the error to stderr).
|
* printing a description of the error to stderr).
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
notmuch_config_save (notmuch_config_t *config)
|
notmuch_conffile_save (notmuch_conffile_t *config)
|
||||||
{
|
{
|
||||||
size_t length;
|
size_t length;
|
||||||
char *data, *filename;
|
char *data, *filename;
|
||||||
|
@ -364,20 +364,20 @@ notmuch_config_save (notmuch_config_t *config)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
notmuch_config_is_new (notmuch_config_t *config)
|
notmuch_conffile_is_new (notmuch_conffile_t *config)
|
||||||
{
|
{
|
||||||
return config->is_new;
|
return config->is_new;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_config_set (notmuch_config_t *config,
|
_config_set (notmuch_conffile_t *config,
|
||||||
const char *group, const char *key, const char *value)
|
const char *group, const char *key, const char *value)
|
||||||
{
|
{
|
||||||
g_key_file_set_string (config->key_file, group, key, value);
|
g_key_file_set_string (config->key_file, group, key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_config_set_list (notmuch_config_t *config,
|
_config_set_list (notmuch_conffile_t *config,
|
||||||
const char *group, const char *key,
|
const char *group, const char *key,
|
||||||
const char *list[],
|
const char *list[],
|
||||||
size_t length)
|
size_t length)
|
||||||
|
@ -386,54 +386,54 @@ _config_set_list (notmuch_config_t *config,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_database_path (notmuch_config_t *config,
|
notmuch_conffile_set_database_path (notmuch_conffile_t *config,
|
||||||
const char *database_path)
|
const char *database_path)
|
||||||
{
|
{
|
||||||
_config_set (config, "database", "path", database_path);
|
_config_set (config, "database", "path", database_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_user_name (notmuch_config_t *config,
|
notmuch_conffile_set_user_name (notmuch_conffile_t *config,
|
||||||
const char *user_name)
|
const char *user_name)
|
||||||
{
|
{
|
||||||
_config_set (config, "user", "name", user_name);
|
_config_set (config, "user", "name", user_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_user_primary_email (notmuch_config_t *config,
|
notmuch_conffile_set_user_primary_email (notmuch_conffile_t *config,
|
||||||
const char *primary_email)
|
const char *primary_email)
|
||||||
{
|
{
|
||||||
_config_set (config, "user", "primary_email", primary_email);
|
_config_set (config, "user", "primary_email", primary_email);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_user_other_email (notmuch_config_t *config,
|
notmuch_conffile_set_user_other_email (notmuch_conffile_t *config,
|
||||||
const char *list[],
|
const char *list[],
|
||||||
size_t length)
|
size_t length)
|
||||||
{
|
{
|
||||||
_config_set_list (config, "user", "other_email", list, length);
|
_config_set_list (config, "user", "other_email", list, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_new_tags (notmuch_config_t *config,
|
notmuch_conffile_set_new_tags (notmuch_conffile_t *config,
|
||||||
const char *list[],
|
const char *list[],
|
||||||
size_t length)
|
size_t length)
|
||||||
{
|
{
|
||||||
_config_set_list (config, "new", "tags", list, length);
|
_config_set_list (config, "new", "tags", list, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_new_ignore (notmuch_config_t *config,
|
notmuch_conffile_set_new_ignore (notmuch_conffile_t *config,
|
||||||
const char *list[],
|
const char *list[],
|
||||||
size_t length)
|
size_t length)
|
||||||
{
|
{
|
||||||
_config_set_list (config, "new", "ignore", list, length);
|
_config_set_list (config, "new", "ignore", list, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_search_exclude_tags (notmuch_config_t *config,
|
notmuch_conffile_set_search_exclude_tags (notmuch_conffile_t *config,
|
||||||
const char *list[],
|
const char *list[],
|
||||||
size_t length)
|
size_t length)
|
||||||
{
|
{
|
||||||
_config_set_list (config, "search", "exclude_tags", list, length);
|
_config_set_list (config, "search", "exclude_tags", list, length);
|
||||||
}
|
}
|
||||||
|
@ -583,7 +583,7 @@ notmuch_config_command_set (notmuch_database_t *notmuch,
|
||||||
{
|
{
|
||||||
char *group, *key;
|
char *group, *key;
|
||||||
config_key_info_t *key_info;
|
config_key_info_t *key_info;
|
||||||
notmuch_config_t *config;
|
notmuch_conffile_t *config;
|
||||||
bool update_database = false;
|
bool update_database = false;
|
||||||
int opt_index, ret;
|
int opt_index, ret;
|
||||||
char *item;
|
char *item;
|
||||||
|
@ -626,8 +626,8 @@ notmuch_config_command_set (notmuch_database_t *notmuch,
|
||||||
if (_item_split (item, &group, &key))
|
if (_item_split (item, &group, &key))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
config = notmuch_config_open (notmuch,
|
config = notmuch_conffile_open (notmuch,
|
||||||
notmuch_config_path (notmuch), false);
|
notmuch_config_path (notmuch), false);
|
||||||
if (! config)
|
if (! config)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -651,9 +651,9 @@ notmuch_config_command_set (notmuch_database_t *notmuch,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = notmuch_config_save (config);
|
ret = notmuch_conffile_save (config);
|
||||||
|
|
||||||
notmuch_config_close (config);
|
notmuch_conffile_close (config);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -735,8 +735,8 @@ notmuch_config_command (notmuch_database_t *notmuch, int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config,
|
notmuch_conffile_set_maildir_synchronize_flags (notmuch_conffile_t *config,
|
||||||
bool synchronize_flags)
|
bool synchronize_flags)
|
||||||
{
|
{
|
||||||
g_key_file_set_boolean (config->key_file,
|
g_key_file_set_boolean (config->key_file,
|
||||||
"maildir", "synchronize_flags", synchronize_flags);
|
"maildir", "synchronize_flags", synchronize_flags);
|
||||||
|
|
|
@ -131,7 +131,7 @@ notmuch_setup_command (notmuch_database_t *notmuch,
|
||||||
size_t response_size = 0;
|
size_t response_size = 0;
|
||||||
GPtrArray *other_emails;
|
GPtrArray *other_emails;
|
||||||
notmuch_config_values_t *new_tags, *search_exclude_tags, *emails;
|
notmuch_config_values_t *new_tags, *search_exclude_tags, *emails;
|
||||||
notmuch_config_t *config;
|
notmuch_conffile_t *config;
|
||||||
|
|
||||||
#define prompt(format, ...) \
|
#define prompt(format, ...) \
|
||||||
do { \
|
do { \
|
||||||
|
@ -151,22 +151,22 @@ notmuch_setup_command (notmuch_database_t *notmuch,
|
||||||
fprintf (stderr, "Warning: ignoring --uuid=%s\n",
|
fprintf (stderr, "Warning: ignoring --uuid=%s\n",
|
||||||
notmuch_requested_db_uuid);
|
notmuch_requested_db_uuid);
|
||||||
|
|
||||||
config = notmuch_config_open (notmuch,
|
config = notmuch_conffile_open (notmuch,
|
||||||
notmuch_config_path (notmuch), true);
|
notmuch_config_path (notmuch), true);
|
||||||
if (! config)
|
if (! config)
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
if (notmuch_config_is_new (config))
|
if (notmuch_conffile_is_new (config))
|
||||||
welcome_message_pre_setup ();
|
welcome_message_pre_setup ();
|
||||||
|
|
||||||
prompt ("Your full name [%s]: ", notmuch_config_get (notmuch, NOTMUCH_CONFIG_USER_NAME));
|
prompt ("Your full name [%s]: ", notmuch_config_get (notmuch, NOTMUCH_CONFIG_USER_NAME));
|
||||||
if (strlen (response))
|
if (strlen (response))
|
||||||
notmuch_config_set_user_name (config, response);
|
notmuch_conffile_set_user_name (config, response);
|
||||||
|
|
||||||
prompt ("Your primary email address [%s]: ",
|
prompt ("Your primary email address [%s]: ",
|
||||||
notmuch_config_get (notmuch, NOTMUCH_CONFIG_PRIMARY_EMAIL));
|
notmuch_config_get (notmuch, NOTMUCH_CONFIG_PRIMARY_EMAIL));
|
||||||
if (strlen (response))
|
if (strlen (response))
|
||||||
notmuch_config_set_user_primary_email (config, response);
|
notmuch_conffile_set_user_primary_email (config, response);
|
||||||
|
|
||||||
other_emails = g_ptr_array_new ();
|
other_emails = g_ptr_array_new ();
|
||||||
|
|
||||||
|
@ -188,10 +188,10 @@ notmuch_setup_command (notmuch_database_t *notmuch,
|
||||||
g_ptr_array_add (other_emails, talloc_strdup (config, response));
|
g_ptr_array_add (other_emails, talloc_strdup (config, response));
|
||||||
} while (strlen (response));
|
} while (strlen (response));
|
||||||
if (other_emails->len)
|
if (other_emails->len)
|
||||||
notmuch_config_set_user_other_email (config,
|
notmuch_conffile_set_user_other_email (config,
|
||||||
(const char **)
|
(const char **)
|
||||||
other_emails->pdata,
|
other_emails->pdata,
|
||||||
other_emails->len);
|
other_emails->len);
|
||||||
g_ptr_array_free (other_emails, true);
|
g_ptr_array_free (other_emails, true);
|
||||||
|
|
||||||
prompt ("Top-level directory of your email archive [%s]: ",
|
prompt ("Top-level directory of your email archive [%s]: ",
|
||||||
|
@ -200,7 +200,7 @@ notmuch_setup_command (notmuch_database_t *notmuch,
|
||||||
const char *absolute_path;
|
const char *absolute_path;
|
||||||
|
|
||||||
absolute_path = make_path_absolute (config, response);
|
absolute_path = make_path_absolute (config, response);
|
||||||
notmuch_config_set_database_path (config, absolute_path);
|
notmuch_conffile_set_database_path (config, absolute_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_tags = notmuch_config_get_values (notmuch, NOTMUCH_CONFIG_NEW_TAGS);
|
new_tags = notmuch_config_get_values (notmuch, NOTMUCH_CONFIG_NEW_TAGS);
|
||||||
|
@ -212,8 +212,8 @@ notmuch_setup_command (notmuch_database_t *notmuch,
|
||||||
if (strlen (response)) {
|
if (strlen (response)) {
|
||||||
GPtrArray *tags = parse_tag_list (config, response);
|
GPtrArray *tags = parse_tag_list (config, response);
|
||||||
|
|
||||||
notmuch_config_set_new_tags (config, (const char **) tags->pdata,
|
notmuch_conffile_set_new_tags (config, (const char **) tags->pdata,
|
||||||
tags->len);
|
tags->len);
|
||||||
|
|
||||||
g_ptr_array_free (tags, true);
|
g_ptr_array_free (tags, true);
|
||||||
}
|
}
|
||||||
|
@ -227,20 +227,20 @@ notmuch_setup_command (notmuch_database_t *notmuch,
|
||||||
if (strlen (response)) {
|
if (strlen (response)) {
|
||||||
GPtrArray *tags = parse_tag_list (config, response);
|
GPtrArray *tags = parse_tag_list (config, response);
|
||||||
|
|
||||||
notmuch_config_set_search_exclude_tags (config,
|
notmuch_conffile_set_search_exclude_tags (config,
|
||||||
(const char **) tags->pdata,
|
(const char **) tags->pdata,
|
||||||
tags->len);
|
tags->len);
|
||||||
|
|
||||||
g_ptr_array_free (tags, true);
|
g_ptr_array_free (tags, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notmuch_config_save (config))
|
if (notmuch_conffile_save (config))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
if (config)
|
if (config)
|
||||||
notmuch_config_close (config);
|
notmuch_conffile_close (config);
|
||||||
|
|
||||||
if (notmuch_config_is_new (config))
|
if (notmuch_conffile_is_new (config))
|
||||||
welcome_message_post_setup ();
|
welcome_message_post_setup ();
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
Loading…
Reference in a new issue