X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-client.h;h=96d81166d2f52342b721f7be293eb2641ea4e868;hp=f60f540626d94df074f0294d439892b52bf03b46;hb=4f4ec48df25c8d2963e7124d2781b13e5a7f6a78;hpb=4c79a2dabe38ac72eb9eb21620f2ffca5f1885c6 diff --git a/notmuch-client.h b/notmuch-client.h index f60f5406..96d81166 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -137,7 +137,7 @@ chomp_newline (char *str) * this. New (required) map fields can be added without increasing * this. */ -#define NOTMUCH_FORMAT_CUR 4 +#define NOTMUCH_FORMAT_CUR 5 /* The minimum supported structured output format version. Requests * for format versions below this will return an error. */ #define NOTMUCH_FORMAT_MIN 1 @@ -156,7 +156,7 @@ chomp_newline (char *str) */ 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 * following argument @@ -171,46 +171,46 @@ void notmuch_exit_if_unsupported_format (void); int -notmuch_count_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_count_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_dump_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_dump_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_new_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_new_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_insert_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_insert_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_reindex_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_reindex_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_reply_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_reply_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_restore_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_restore_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_search_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_search_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_address_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_address_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_setup_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_setup_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_show_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_show_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_tag_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_tag_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_config_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_config_command (notmuch_database_t *notmuch, int argc, char *argv[]); int -notmuch_compact_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]); +notmuch_compact_command (notmuch_database_t *notmuch, int argc, char *argv[]); const char * notmuch_time_relative_date (const void *ctx, time_t then); @@ -250,94 +250,69 @@ json_quote_chararray (const void *ctx, const char *str, const size_t len); char * json_quote_str (const void *ctx, const char *str); +/* notmuch-client-init.c */ + +void notmuch_client_init (void); + /* notmuch-config.c */ typedef enum { - NOTMUCH_COMMAND_CONFIG_OPEN = 1 << 0, NOTMUCH_COMMAND_CONFIG_CREATE = 1 << 1, NOTMUCH_COMMAND_DATABASE_EARLY = 1 << 2, NOTMUCH_COMMAND_DATABASE_WRITE = 1 << 3, NOTMUCH_COMMAND_DATABASE_CREATE = 1 << 4, + NOTMUCH_COMMAND_CONFIG_LOAD = 1 << 5, } notmuch_command_mode_t; -notmuch_config_t * -notmuch_config_open (void *ctx, - const char *filename, - notmuch_command_mode_t config_mode); +notmuch_conffile_t * +notmuch_conffile_open (notmuch_database_t *notmuch, + const char *filename, + bool create); void -notmuch_config_close (notmuch_config_t *config); +notmuch_conffile_close (notmuch_conffile_t *config); int -notmuch_config_save (notmuch_config_t *config); +notmuch_conffile_save (notmuch_conffile_t *config); bool -notmuch_config_is_new (notmuch_config_t *config); - -const char * -notmuch_config_get_database_path (notmuch_config_t *config); +notmuch_conffile_is_new (notmuch_conffile_t *config); void -notmuch_config_set_database_path (notmuch_config_t *config, - const char *database_path); - -const char * -notmuch_config_get_user_name (notmuch_config_t *config); - -void -notmuch_config_set_user_name (notmuch_config_t *config, - const char *user_name); - -const char * -notmuch_config_get_user_primary_email (notmuch_config_t *config); +notmuch_conffile_set_database_path (notmuch_conffile_t *config, + const char *database_path); void -notmuch_config_set_user_primary_email (notmuch_config_t *config, - const char *primary_email); - -const char ** -notmuch_config_get_user_other_email (notmuch_config_t *config, - size_t *length); +notmuch_conffile_set_user_name (notmuch_conffile_t *config, + const char *user_name); void -notmuch_config_set_user_other_email (notmuch_config_t *config, - const char *other_email[], - size_t length); +notmuch_conffile_set_user_primary_email (notmuch_conffile_t *config, + const char *primary_email); -const char ** -notmuch_config_get_new_tags (notmuch_config_t *config, - size_t *length); void -notmuch_config_set_new_tags (notmuch_config_t *config, - const char *new_tags[], - size_t length); - -const char ** -notmuch_config_get_new_ignore (notmuch_config_t *config, - size_t *length); +notmuch_conffile_set_user_other_email (notmuch_conffile_t *config, + const char *other_email[], + size_t length); void -notmuch_config_set_new_ignore (notmuch_config_t *config, - const char *new_ignore[], +notmuch_conffile_set_new_tags (notmuch_conffile_t *config, + const char *new_tags[], size_t length); -bool -notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config); - void -notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config, - bool synchronize_flags); - -const char ** -notmuch_config_get_search_exclude_tags (notmuch_config_t *config, size_t *length); +notmuch_conffile_set_new_ignore (notmuch_conffile_t *config, + const char *new_ignore[], + size_t length); void -notmuch_config_set_search_exclude_tags (notmuch_config_t *config, - const char *list[], - size_t length); -const char * -_notmuch_config_get_path (notmuch_config_t *config); +notmuch_conffile_set_maildir_synchronize_flags (notmuch_conffile_t *config, + bool synchronize_flags); +void +notmuch_conffile_set_search_exclude_tags (notmuch_conffile_t *config, + const char *list[], + size_t length); int notmuch_run_hook (notmuch_database_t *notmuch, const char *hook); @@ -503,17 +478,18 @@ print_status_gzbytes (const char *loc, int bytes); /* the __location__ macro is defined in talloc.h */ -#define ASSERT_GZBYTES(file, bytes) ((print_status_gzbytes (__location__, file, bytes)) ? exit (1) : 0) +#define ASSERT_GZBYTES(file, bytes) ((print_status_gzbytes (__location__, file, bytes)) ? exit (1) : \ + 0) #define GZPRINTF(file, fmt, ...) ASSERT_GZBYTES (file, gzprintf (file, fmt, ##__VA_ARGS__)); -#define GZPUTS(file, str) ASSERT_GZBYTES(file, gzputs (file, str)); +#define GZPUTS(file, str) ASSERT_GZBYTES (file, gzputs (file, str)); #include "command-line-arguments.h" -extern const char *notmuch_requested_db_uuid; extern const notmuch_opt_desc_t notmuch_shared_options []; -void notmuch_exit_if_unmatched_db_uuid (notmuch_database_t *notmuch); -void notmuch_process_shared_options (const char *subcommand_name); +notmuch_query_syntax_t shared_option_query_syntax (); + +void notmuch_process_shared_options (notmuch_database_t *notmuch, const char *subcommand_name); int notmuch_minimal_options (const char *subcommand_name, int argc, char **argv);