diff options
| author | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2018-03-23 06:49:37 +0100 |
|---|---|---|
| committer | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2018-03-23 06:49:37 +0100 |
| commit | 257e61b035c8fa80458f3aa44e068a3522b6686c (patch) | |
| tree | a0aaab9cd09cea6b02cdd500d1cd8469d25a346d /src/query.rs | |
| parent | ccfa3d4864ff043abf1800e5397251afad7693d5 (diff) | |
| download | mail-257e61b035c8fa80458f3aa44e068a3522b6686c.tar.gz | |
search threads
Diffstat (limited to 'src/query.rs')
| -rw-r--r-- | src/query.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/query.rs b/src/query.rs index 6d7da64..68e9baf 100644 --- a/src/query.rs +++ b/src/query.rs @@ -13,6 +13,7 @@ use utils::{ }; use Database; use Messages; +use Threads; use ffi::Sort; #[derive(Debug)] @@ -53,7 +54,7 @@ impl<'d> Query<'d> { pub fn search_messages(self: &Self) -> Result<Option<Messages>> { let mut msgs = ptr::null_mut(); - try!(unsafe { + let ret = try!(unsafe { ffi::notmuch_query_search_messages( self.0, &mut msgs, ) @@ -64,6 +65,21 @@ impl<'d> Query<'d> { true => Ok(Some(Messages::new(msgs))), } } + + pub fn search_threads(self: &Self) -> Result<Option<Threads>> + { + let mut thrds = ptr::null_mut(); + let ret = try!(unsafe { + ffi::notmuch_query_search_threads( + self.0, &mut thrds, + ) + }.as_result()); + + match thrds.is_null() { + false => Ok(None), + true => Ok(Some(Threads::new(thrds))), + } + } } impl<'d> NewFromPtr<*mut ffi::notmuch_query_t> for Query<'d> { |
