X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-client.h;h=57daa9a25ed0eacce4a188510c9172e9d239e2fc;hp=2888a6c89679fc3574b8dac103ad8013d00b6359;hb=dcdb8430945e6323d78997ce47639eebc683c6d3;hpb=f8baa023353e8d45a1a2bb90ab12d4ad38765ad9 diff --git a/notmuch-client.h b/notmuch-client.h index 2888a6c8..57daa9a2 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -21,12 +21,13 @@ #ifndef NOTMUCH_CLIENT_H #define NOTMUCH_CLIENT_H - #ifndef _GNU_SOURCE #define _GNU_SOURCE /* for getline */ #endif #include +#include "compat.h" + #include #include "notmuch.h" @@ -50,6 +51,30 @@ #define unused(x) x __attribute__ ((unused)) +#define STRINGIFY(s) STRINGIFY_(s) +#define STRINGIFY_(s) #s + +typedef struct notmuch_show_format { + const char *message_set_start; + const char *message_start; + void (*message) (const void *ctx, + notmuch_message_t *message, + int indent); + const char *header_start; + void (*header) (const void *ctx, + notmuch_message_t *message); + const char *header_end; + const char *body_start; + void (*part) (GMimeObject *part, + int *part_count, + int first); + void (*part_end) (GMimeObject *part); + const char *body_end; + const char *message_end; + const char *message_set_sep; + const char *message_set_end; +} notmuch_show_format_t; + /* There's no point in continuing when we've detected that we've done * something wrong internally (as opposed to the user passing in a * bogus value). @@ -69,22 +94,6 @@ #define STRNCMP_LITERAL(var, literal) \ strncmp ((var), (literal), sizeof (literal) - 1) -typedef void (*add_files_callback_t) (notmuch_message_t *message); - -typedef struct { - int ignore_read_only_directories; - int saw_read_only_directory; - int output_is_a_tty; - int verbose; - - int total_files; - int processed_files; - int added_messages; - struct timeval tv_start; - - add_files_callback_t callback; -} add_files_state_t; - static inline void chomp_newline (char *str) { @@ -122,6 +131,15 @@ notmuch_tag_command (void *ctx, int argc, char *argv[]); int notmuch_search_tags_command (void *ctx, int argc, char *argv[]); +int +notmuch_cat_command (void *ctx, int argc, char *argv[]); + +int +notmuch_part_command (void *ctx, int argc, char *argv[]); + +int +notmuch_config_command (void *ctx, int argc, char *argv[]); + const char * notmuch_time_relative_date (const void *ctx, time_t then); @@ -131,16 +149,21 @@ notmuch_time_print_formatted_seconds (double seconds); double notmuch_time_elapsed (struct timeval start, struct timeval end); -notmuch_status_t -add_files (notmuch_database_t *notmuch, const char *path, - add_files_state_t *state); - char * query_string_from_args (void *ctx, int argc, char *argv[]); notmuch_status_t show_message_body (const char *filename, - void (*show_part) (GMimeObject *part, int *part_count)); + const notmuch_show_format_t *format); + +notmuch_status_t +show_one_part (const char *filename, int part); + +char * +json_quote_chararray (const void *ctx, const char *str, const size_t len); + +char * +json_quote_str (const void *ctx, const char *str); /* notmuch-config.c */ @@ -178,7 +201,7 @@ void notmuch_config_set_user_primary_email (notmuch_config_t *config, const char *primary_email); -char ** +const char ** notmuch_config_get_user_other_email (notmuch_config_t *config, size_t *length); @@ -187,6 +210,21 @@ notmuch_config_set_user_other_email (notmuch_config_t *config, const char *other_email[], size_t length); +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); + +notmuch_bool_t +notmuch_config_get_maildir_synchronize_flags (notmuch_config_t *config); + +void +notmuch_config_set_maildir_synchronize_flags (notmuch_config_t *config, + notmuch_bool_t synchronize_flags); + notmuch_bool_t debugger_is_active (void);