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:
David Bremner 2021-02-27 10:11:23 -04:00
parent 1c747a501c
commit 1459217e17
3 changed files with 90 additions and 90 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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;