aboutsummaryrefslogtreecommitdiffstats
path: root/src/query.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/query.rs')
-rw-r--r--src/query.rs15
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> {