NeoMutt  2022-04-29-247-gc6aae8
Teaching an old dog new tricks
DOXYGEN
lib.h
Go to the documentation of this file.
1
40#ifndef MUTT_NOTMUCH_LIB_H
41#define MUTT_NOTMUCH_LIB_H
42
43#include <stddef.h>
44#include <stdbool.h>
45#include "core/lib.h"
46
47struct Email;
48struct stat;
49
50extern struct MxOps MxNotmuchOps;
51
52void nm_init (void);
53void nm_db_debug_check (struct Mailbox *m);
54void nm_db_longrun_done (struct Mailbox *m);
55void nm_db_longrun_init (struct Mailbox *m, bool writable);
56char *nm_email_get_folder (struct Email *e);
57char *nm_email_get_folder_rel_db (struct Mailbox *m, struct Email *e);
58int nm_get_all_tags (struct Mailbox *m, const char **tag_list, int *tag_count);
59bool nm_message_is_still_queried(struct Mailbox *m, struct Email *e);
60enum MailboxType nm_path_probe (const char *path, const struct stat *st);
62void nm_query_window_backward (void);
63void nm_query_window_forward (void);
64void nm_query_window_reset (void);
65int nm_read_entire_thread (struct Mailbox *m, struct Email *e);
66int nm_record_message (struct Mailbox *m, char *path, struct Email *e);
67int nm_update_filename (struct Mailbox *m, const char *old_file, const char *new_file, struct Email *e);
68char *nm_url_from_query (struct Mailbox *m, char *buf, size_t buflen);
69
70#endif /* MUTT_NOTMUCH_LIB_H */
Convenience wrapper for the core headers.
struct MxOps MxNotmuchOps
Notmuch Mailbox - Implements MxOps -.
Definition: notmuch.c:2470
enum MailboxType nm_path_probe(const char *path, const struct stat *st)
Is this a Notmuch Mailbox? - Implements MxOps::path_probe() -.
Definition: notmuch.c:2433
MailboxType
Supported mailbox formats.
Definition: mailbox.h:41
int nm_update_filename(struct Mailbox *m, const char *old_file, const char *new_file, struct Email *e)
Change the filename.
Definition: notmuch.c:1737
void nm_query_window_reset(void)
Resets the vfolder window position to the present.
Definition: notmuch.c:1663
int nm_get_all_tags(struct Mailbox *m, const char **tag_list, int *tag_count)
Fill a list with all notmuch tags.
Definition: notmuch.c:1951
void nm_db_longrun_done(struct Mailbox *m)
Finish a long transaction.
Definition: db.c:368
char * nm_email_get_folder_rel_db(struct Mailbox *m, struct Email *e)
Get the folder for a Email from the same level as the notmuch database.
Definition: notmuch.c:1469
int nm_record_message(struct Mailbox *m, char *path, struct Email *e)
Add a message to the Notmuch database.
Definition: notmuch.c:1869
int nm_read_entire_thread(struct Mailbox *m, struct Email *e)
Get the entire thread of an email.
Definition: notmuch.c:1489
void nm_query_window_backward(void)
Function to move the current search window backward in time.
Definition: notmuch.c:1652
bool nm_query_window_available(void)
Are windowed queries enabled for use?
Definition: notmuch.c:1615
char * nm_url_from_query(struct Mailbox *m, char *buf, size_t buflen)
Turn a query into a URL.
Definition: notmuch.c:1556
void nm_init(void)
Setup feature commands.
Definition: notmuch.c:99
void nm_db_longrun_init(struct Mailbox *m, bool writable)
Start a long transaction.
Definition: db.c:353
void nm_db_debug_check(struct Mailbox *m)
Check if the database is open.
Definition: db.c:386
char * nm_email_get_folder(struct Email *e)
Get the folder for a Email.
Definition: notmuch.c:1450
bool nm_message_is_still_queried(struct Mailbox *m, struct Email *e)
Is a message still visible in the query?
Definition: notmuch.c:1675
void nm_query_window_forward(void)
Function to move the current search window forward in time.
Definition: notmuch.c:1632
The envelope/body of an email.
Definition: email.h:37
A mailbox.
Definition: mailbox.h:79
Definition: mxapi.h:112