X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-client.h;h=63be33741a212ac2ed03434418373c1481faff76;hp=b65aa777bdf5362681d54e8e70d8e5c6b0199f42;hb=59b251ef940609dac7e17528065a39544463e0b4;hpb=533d0f5382797c702ac3976c1a7da27590ec1fb9 diff --git a/notmuch-client.h b/notmuch-client.h index b65aa777..63be3374 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,41 @@ #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_start) (GMimeObject *part, + int *part_count); + void (*part_encstatus) (int status); + void (*part_sigstatus) (const GMimeSignatureValidity* validity); + void (*part_content) (GMimeObject *part); + void (*part_end) (GMimeObject *part); + const char *part_sep; + const char *body_end; + const char *message_end; + const char *message_set_sep; + const char *message_set_end; +} notmuch_show_format_t; + +typedef struct notmuch_show_params { + int entire_thread; + int raw; + int part; + GMimeCipherContext* cryptoctx; + int decrypt; +} notmuch_show_params_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,20 +105,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 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) { @@ -90,6 +112,9 @@ chomp_newline (char *str) str[strlen(str)-1] = '\0'; } +int +notmuch_count_command (void *ctx, int argc, char *argv[]); + int notmuch_dump_command (void *ctx, int argc, char *argv[]); @@ -114,6 +139,15 @@ notmuch_show_command (void *ctx, int argc, char *argv[]); int 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_config_command (void *ctx, int argc, char *argv[]); + const char * notmuch_time_relative_date (const void *ctx, time_t then); @@ -123,16 +157,22 @@ 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_show_params_t *params); + +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 */ @@ -170,7 +210,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); @@ -179,4 +219,22 @@ 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); + #endif