diff options
| author | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2019-10-18 16:09:48 +0200 |
|---|---|---|
| committer | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2019-10-18 16:10:32 +0200 |
| commit | 1e4e67fde1a7c75c9a81312d71340801d0ee06d3 (patch) | |
| tree | fdcdc3ab3429f1c9d57574cd8affdcc23a00ea9b | |
| parent | cf3b912a94dd18cb3f5af664e11a0e2391d16b0b (diff) | |
| download | mail-1e4e67fde1a7c75c9a81312d71340801d0ee06d3.tar.gz | |
message: implement reindex
| -rw-r--r-- | src/ffi.rs | 13 | ||||
| -rw-r--r-- | src/message.rs | 5 |
2 files changed, 18 insertions, 0 deletions
@@ -1114,6 +1114,19 @@ extern "C" { message: *mut notmuch_message_t, ) -> *mut notmuch_filenames_t; + /// Re-index the e-mail corresponding to 'message' using the supplied index options + /// + /// Returns the status of the re-index operation. (see the return + /// codes documented in notmuch_database_index_file) + /// + /// After reindexing, the user should discard the message object passed + /// in here by calling notmuch_message_destroy, since it refers to the + /// original message, not to the reindexed message. + pub fn notmuch_message_reindex( + message: *mut notmuch_message_t, + indexopts: *mut notmuch_indexopts_t + ) -> notmuch_status_t; + /// Get a value of a flag for the email corresponding to 'message'. pub fn notmuch_message_get_flag( message: *mut notmuch_message_t, diff --git a/src/message.rs b/src/message.rs index 2172713..73727f9 100644 --- a/src/message.rs +++ b/src/message.rs @@ -11,6 +11,7 @@ use FilenamesOwner; use Messages; use Tags; use TagsOwner; +use IndexOpts; pub trait MessageOwner: Send + Sync {} @@ -118,6 +119,10 @@ where pub fn maildir_flags_to_tags(self: &Self) -> Result<()> { unsafe { ffi::notmuch_message_maildir_flags_to_tags(self.ptr) }.as_result() } + + pub fn reindex<'d>(self: &Self, indexopts: IndexOpts<'d>) -> Result<()> { + unsafe { ffi::notmuch_message_reindex(self.ptr, indexopts.ptr) }.as_result() + } } pub trait MessageExt<'o, O> |
