X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-client.h;h=77766de2cb56cda4bb8ac019426e16380c380839;hp=50f31fa1094e4d5c58bd5649378c0d5803ed6612;hb=c25bc03dc60846090d230cdad21e39faccce35ff;hpb=50144f95cababfb73027ca95ad1fb303c235a893 diff --git a/notmuch-client.h b/notmuch-client.h index 50f31fa1..77766de2 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" @@ -66,28 +67,8 @@ #define ARRAY_SIZE(arr) (sizeof (arr) / sizeof (arr[0])) -typedef int (*command_function_t) (void *ctx, int argc, char *argv[]); - -typedef struct command { - const char *name; - command_function_t function; - const char *summary; - const char *documentation; -} command_t; - -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; +#define STRNCMP_LITERAL(var, literal) \ + strncmp ((var), (literal), sizeof (literal) - 1) static inline void chomp_newline (char *str) @@ -96,12 +77,18 @@ 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[]); int notmuch_new_command (void *ctx, int argc, char *argv[]); +int +notmuch_reply_command (void *ctx, int argc, char *argv[]); + int notmuch_restore_command (void *ctx, int argc, char *argv[]); @@ -117,15 +104,11 @@ notmuch_show_command (void *ctx, int argc, char *argv[]); int notmuch_tag_command (void *ctx, int argc, char *argv[]); -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[]); +int +notmuch_search_tags_command (void *ctx, int argc, char *argv[]); const char * -notmuch_time_relative_date (void *ctx, time_t then); +notmuch_time_relative_date (const void *ctx, time_t then); void notmuch_time_print_formatted_seconds (double seconds); @@ -133,4 +116,59 @@ notmuch_time_print_formatted_seconds (double seconds); double notmuch_time_elapsed (struct timeval start, struct timeval end); +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)); + +/* notmuch-config.c */ + +typedef struct _notmuch_config notmuch_config_t; + +notmuch_config_t * +notmuch_config_open (void *ctx, + const char *filename, + notmuch_bool_t *is_new_ret); + +void +notmuch_config_close (notmuch_config_t *config); + +int +notmuch_config_save (notmuch_config_t *config); + +const char * +notmuch_config_get_database_path (notmuch_config_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); + +void +notmuch_config_set_user_primary_email (notmuch_config_t *config, + const char *primary_email); + +char ** +notmuch_config_get_user_other_email (notmuch_config_t *config, + size_t *length); + +void +notmuch_config_set_user_other_email (notmuch_config_t *config, + const char *other_email[], + size_t length); + +notmuch_bool_t +debugger_is_active (void); + #endif