X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-private.h;h=99fbb4b2eb1b2e6c5d736e937cf5c3f5309aafe9;hp=c6d8e355388ae70b894b53d2ec38c4683042d47b;hb=acdc9988a2a502accad860a116b094b0a1f62008;hpb=ef3ab5781a3730e019f92517366029540a960cd0 diff --git a/notmuch-private.h b/notmuch-private.h index c6d8e355..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 * @@ -144,6 +154,10 @@ _notmuch_thread_create (const void *talloc_owner, notmuch_database_t *notmuch, const char *thread_id); +void +_notmuch_thread_add_message (notmuch_thread_t *thread, + notmuch_message_t *message); + /* message.cc */ notmuch_message_t * @@ -156,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, @@ -176,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); @@ -194,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 @@ -211,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); @@ -254,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.