X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-private.h;h=99fbb4b2eb1b2e6c5d736e937cf5c3f5309aafe9;hp=98ad4e26bfa673d578d15f2caef1948ef0f179fd;hb=c33eed84f2c1a23d7f3835f7f7d480fde179ff4d;hpb=94f01d9de914b609e1f02385092b82fd61ca73b5 diff --git a/notmuch-private.h b/notmuch-private.h index 98ad4e26..99fbb4b2 100644 --- a/notmuch-private.h +++ b/notmuch-private.h @@ -22,7 +22,7 @@ #define NOTMUCH_PRIVATE_H #ifndef _GNU_SOURCE -#define _GNU_SOURCE /* For getline */ +#define _GNU_SOURCE /* For getline and asprintf */ #endif #include @@ -137,6 +137,16 @@ typedef enum _notmuch_private_status { : \ (notmuch_status_t) private_status) +/* database.cc */ + +/* Lookup a prefix value by name. + * + * XXX: This should really be static inside of message.cc, and we can + * do that once we convert database.cc to use the + * _notmuch_message_add/remove_term functions. */ +const char * +_find_prefix (const char *name); + /* thread.cc */ notmuch_thread_t * @@ -145,7 +155,8 @@ _notmuch_thread_create (const void *talloc_owner, const char *thread_id); void -_notmuch_thread_add_tag (notmuch_thread_t *thread, const char *tag); +_notmuch_thread_add_message (notmuch_thread_t *thread, + notmuch_message_t *message); /* message.cc */ @@ -159,15 +170,10 @@ notmuch_message_t * _notmuch_message_create_for_message_id (const void *talloc_owner, notmuch_database_t *notmuch, const char *message_id, - notmuch_status_t *status); + notmuch_private_status_t *status); -/* Lookup a prefix value by name. - * - * XXX: This should really be static inside of message.cc, and we can - * do that once we convert database.cc to use the - * _notmuch_message_add/remove_term functions. */ const char * -_find_prefix (const char *name); +_notmuch_message_get_subject (notmuch_message_t *message); notmuch_private_status_t _notmuch_message_add_term (notmuch_message_t *message, @@ -179,6 +185,11 @@ _notmuch_message_remove_term (notmuch_message_t *message, const char *prefix_name, const char *value); +notmuch_private_status_t +_notmuch_message_gen_terms (notmuch_message_t *message, + const char *prefix_name, + const char *text); + void _notmuch_message_set_filename (notmuch_message_t *message, const char *filename); @@ -197,6 +208,12 @@ _notmuch_message_set_date (notmuch_message_t *message, void _notmuch_message_sync (notmuch_message_t *message); +/* index.cc */ + +notmuch_status_t +_notmuch_message_index_file (notmuch_message_t *message, + const char *filename); + /* message-file.c */ /* XXX: I haven't decided yet whether these will actually get exported @@ -214,6 +231,10 @@ typedef struct _notmuch_message_file notmuch_message_file_t; notmuch_message_file_t * notmuch_message_file_open (const char *filename); +/* Like notmuch_message_file_open but with 'ctx' as the talloc owner. */ +notmuch_message_file_t * +_notmuch_message_file_open_ctx (void *ctx, const char *filename); + /* Close a notmuch message preivously opened with notmuch_message_open. */ void notmuch_message_file_close (notmuch_message_file_t *message); @@ -257,6 +278,24 @@ const char * notmuch_message_file_get_header (notmuch_message_file_t *message, const char *header); +/* Get the entire set of headers from an email message as a string. + * + * The returned value is owned by the notmuch message and is valid + * only until the message is closed. The caller should copy it if + * needing to modify the value or to hold onto it for longer. + * + * Returns NULL in the case of any error. + */ +const char * +notmuch_message_file_get_all_headers (notmuch_message_file_t *message); + +/* Get the size in bytes of the full header section of 'message'. + * + * Returns 0 in the case of any error. + */ +size_t +notmuch_message_file_get_header_size (notmuch_message_file_t *message); + /* date.c */ /* Parse an RFC 8222 date string to a time_t value.