X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fnotmuch-private.h;h=cb93c397a0265b539f54c407929ebfb90562b350;hb=f11aaa3678ab9d02d4ea98db1164772ed637404b;hp=1583498ea72aa1689b2cb7d25cdd219684b39bf4;hpb=2ce25b93a72b4a8d6daa5321f9ef7df0772a789f;p=notmuch diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 1583498e..cb93c397 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -26,6 +26,8 @@ #endif #include +#include "compat.h" + #include "notmuch.h" NOTMUCH_BEGIN_DECLS @@ -110,13 +112,15 @@ typedef enum _notmuch_private_status { /* First, copy all the public status values. */ NOTMUCH_PRIVATE_STATUS_SUCCESS = NOTMUCH_STATUS_SUCCESS, NOTMUCH_PRIVATE_STATUS_OUT_OF_MEMORY = NOTMUCH_STATUS_OUT_OF_MEMORY, + NOTMUCH_PRIVATE_STATUS_READONLY_DATABASE = NOTMUCH_STATUS_READONLY_DATABASE, NOTMUCH_PRIVATE_STATUS_XAPIAN_EXCEPTION = NOTMUCH_STATUS_XAPIAN_EXCEPTION, NOTMUCH_PRIVATE_STATUS_FILE_NOT_EMAIL = NOTMUCH_STATUS_FILE_NOT_EMAIL, NOTMUCH_PRIVATE_STATUS_NULL_POINTER = NOTMUCH_STATUS_NULL_POINTER, NOTMUCH_PRIVATE_STATUS_TAG_TOO_LONG = NOTMUCH_STATUS_TAG_TOO_LONG, + NOTMUCH_PRIVATE_STATUS_UNBALANCED_FREEZE_THAW = NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW, /* Then add our own private values. */ - NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG, + NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG = NOTMUCH_STATUS_LAST_STATUS, NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND, NOTMUCH_PRIVATE_STATUS_LAST_STATUS @@ -147,6 +151,32 @@ typedef enum _notmuch_private_status { const char * _find_prefix (const char *name); +const char * +_notmuch_database_relative_path (notmuch_database_t *notmuch, + const char *path); + +notmuch_status_t +_notmuch_database_split_path (void *ctx, + const char *path, + const char **directory, + const char **basename); + +notmuch_status_t +_notmuch_database_find_directory_id (notmuch_database_t *database, + const char *path, + unsigned int *directory_id); + +const char * +_notmuch_database_get_directory_path (void *ctx, + notmuch_database_t *notmuch, + unsigned int doc_id); + +notmuch_status_t +_notmuch_database_filename_to_direntry (void *ctx, + notmuch_database_t *notmuch, + const char *filename, + char **direntry); + /* thread.cc */ notmuch_thread_t * @@ -186,14 +216,10 @@ _notmuch_message_gen_terms (notmuch_message_t *message, const char *prefix_name, const char *text); -void -_notmuch_message_set_filename (notmuch_message_t *message, +notmuch_status_t +_notmuch_message_add_filename (notmuch_message_t *message, const char *filename); -void -_notmuch_message_add_thread_id (notmuch_message_t *message, - const char *thread_id); - void _notmuch_message_ensure_thread_id (notmuch_message_t *message); @@ -289,6 +315,15 @@ typedef struct _notmuch_message_list { notmuch_message_node_t **tail; } notmuch_message_list_t; +/* There's a rumor that there's an alternate struct _notmuch_messages + * somewhere with some nasty C++ objects in it. We'll try to maintain + * ignorance of that here. (See notmuch_mset_messages_t in query.cc) + */ +struct _notmuch_messages { + notmuch_bool_t is_of_list_type; + notmuch_message_node_t *iterator; +}; + notmuch_message_list_t * _notmuch_message_list_create (const void *ctx); @@ -303,24 +338,23 @@ _notmuch_message_list_add_message (notmuch_message_list_t *list, notmuch_messages_t * _notmuch_messages_create (notmuch_message_list_t *list); +/* query.cc */ + +notmuch_bool_t +_notmuch_mset_messages_has_more (notmuch_messages_t *messages); + +notmuch_message_t * +_notmuch_mset_messages_get (notmuch_messages_t *messages); + +void +_notmuch_mset_messages_advance (notmuch_messages_t *messages); + /* message.cc */ void _notmuch_message_add_reply (notmuch_message_t *message, notmuch_message_node_t *reply); -/* date.c */ - -/* Parse an RFC 8222 date string to a time_t value. - * - * The tz_offset argument can be used to also obtain the time-zone - * offset, (but can be NULL if the call is not interested in that). - * - * Returns 0 on error. - */ -time_t -notmuch_parse_date (const char *str, int *tz_offset); - /* sha1.c */ char *