aboutsummaryrefslogtreecommitdiffstats
path: root/src/query.rs
diff options
context:
space:
mode:
authorDirk Van Haerenborgh <vhdirk@gmail.com>2018-03-23 07:01:03 +0100
committerDirk Van Haerenborgh <vhdirk@gmail.com>2018-03-23 07:01:03 +0100
commit8e76db5f75c9c315236bc6f8c6e195cec6103537 (patch)
tree2750281d90d6048da08a74292272bff12b75a82d /src/query.rs
parent257e61b035c8fa80458f3aa44e068a3522b6686c (diff)
downloadmail-8e76db5f75c9c315236bc6f8c6e195cec6103537.tar.gz
count threads and messages
Diffstat (limited to 'src/query.rs')
-rw-r--r--src/query.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/query.rs b/src/query.rs
index 68e9baf..2873b27 100644
--- a/src/query.rs
+++ b/src/query.rs
@@ -66,6 +66,21 @@ impl<'d> Query<'d> {
}
}
+ pub fn count_messages(self: &Self) -> Result<u32>
+ {
+ let mut cnt = 0;
+ let ret = try!(unsafe {
+ ffi::notmuch_query_count_messages(
+ self.0, &mut cnt,
+ )
+ }.as_result());
+
+ // if ret.is_err(){
+ // return ret;
+ // }
+ return Ok(cnt);
+ }
+
pub fn search_threads(self: &Self) -> Result<Option<Threads>>
{
let mut thrds = ptr::null_mut();
@@ -80,6 +95,21 @@ impl<'d> Query<'d> {
true => Ok(Some(Threads::new(thrds))),
}
}
+
+ pub fn count_threads(self: &Self) -> Result<u32>
+ {
+ let mut cnt = 0;
+ let ret = try!(unsafe {
+ ffi::notmuch_query_count_threads(
+ self.0, &mut cnt,
+ )
+ }.as_result());
+
+ // if ret.is_err(){
+ // return ret;
+ // }
+ return Ok(cnt);
+ }
}
impl<'d> NewFromPtr<*mut ffi::notmuch_query_t> for Query<'d> {