X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fnotmuch-private.h;h=0c340a769fc005d9b98c1b46a36c77492dcc6c72;hp=bb1f235e0024d7f4ef15daededfc9ecc26031d2e;hb=95f97540a01cd7b4a3da5e2f27837956182869b2;hpb=d3349358c6a5048559bd2a4faebe476ebd222170 diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index bb1f235e..0c340a76 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,6 +112,7 @@ 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, @@ -164,13 +167,12 @@ _notmuch_message_create (const void *talloc_owner, notmuch_private_status_t *status); notmuch_message_t * -_notmuch_message_create_for_message_id (const void *talloc_owner, - notmuch_database_t *notmuch, +_notmuch_message_create_for_message_id (notmuch_database_t *notmuch, const char *message_id, notmuch_private_status_t *status); const char * -_notmuch_message_get_subject (notmuch_message_t *message); +_notmuch_message_get_in_reply_to (notmuch_message_t *message); notmuch_private_status_t _notmuch_message_add_term (notmuch_message_t *message, @@ -205,6 +207,9 @@ _notmuch_message_set_date (notmuch_message_t *message, void _notmuch_message_sync (notmuch_message_t *message); +void +_notmuch_message_close (notmuch_message_t *message); + /* index.cc */ notmuch_status_t @@ -232,7 +237,7 @@ notmuch_message_file_open (const char *filename); notmuch_message_file_t * _notmuch_message_file_open_ctx (void *ctx, const char *filename); -/* Close a notmuch message preivously opened with notmuch_message_open. */ +/* Close a notmuch message previously opened with notmuch_message_open. */ void notmuch_message_file_close (notmuch_message_file_t *message); @@ -277,24 +282,55 @@ notmuch_message_file_get_header (notmuch_message_file_t *message, /* messages.c */ +typedef struct _notmuch_message_node { + notmuch_message_t *message; + struct _notmuch_message_node *next; +} notmuch_message_node_t; + +typedef struct _notmuch_message_list { + notmuch_message_node_t *head; + 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); + +void +_notmuch_message_list_append (notmuch_message_list_t *list, + notmuch_message_node_t *node); + +void +_notmuch_message_list_add_message (notmuch_message_list_t *list, + notmuch_message_t *message); + notmuch_messages_t * -_notmuch_messages_create (void *ctx); +_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_messages_add_message (notmuch_messages_t *messages, - notmuch_message_t *message); +_notmuch_mset_messages_advance (notmuch_messages_t *messages); -/* date.c */ +/* message.cc */ -/* 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); +void +_notmuch_message_add_reply (notmuch_message_t *message, + notmuch_message_node_t *reply); /* sha1.c */