diff options
Diffstat (limited to 'src/query.rs')
| -rw-r--r-- | src/query.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/query.rs b/src/query.rs index 18d44d7..8e8514c 100644 --- a/src/query.rs +++ b/src/query.rs @@ -1,6 +1,7 @@ use std::{ ops, - marker + marker, + ptr, }; use error::Result; @@ -10,6 +11,7 @@ use utils::{ NewFromPtr, }; use Database; +use Messages; #[derive(Debug)] @@ -23,6 +25,17 @@ impl<'d> Query<'d> { pub fn create(db: &'d Database, query_string: &String) -> Result<Self> { db.create_query(query_string) } + + /// Filter messages according to the query and return + pub fn search_messages(self: &Self) -> Result<Messages> + { + let mut msgs = ptr::null_mut(); + unsafe { + msgs = ffi::notmuch_query_search_messages(self.0); + } + + Ok(Messages::new(msgs)) + } } impl<'d> NewFromPtr<*mut ffi::notmuch_query_t> for Query<'d> { |
