aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorC. Morgan Hamill <me@cmhamill.org>2015-03-27 20:47:52 +0100
committerC. Morgan Hamill <me@cmhamill.org>2015-03-31 16:43:54 +0200
commit211c96c4a57769202de6c194480601570a1cd8f1 (patch)
treecc226f2f205b409704fc5332e8d5b3c8b8bffd8c
parent9005a1b8656ed0bcd8526810206836eeeb919d38 (diff)
downloadmail-211c96c4a57769202de6c194480601570a1cd8f1.tar.gz
Add directory module and `Directory` type.
Wrapper type for `ffi::notmuch_directory_t` pointer.
-rw-r--r--src/directory.rs22
-rw-r--r--src/lib.rs1
2 files changed, 23 insertions, 0 deletions
diff --git a/src/directory.rs b/src/directory.rs
new file mode 100644
index 0000000..eaf706e
--- /dev/null
+++ b/src/directory.rs
@@ -0,0 +1,22 @@
+use std::{
+ marker,
+};
+
+use utils::{
+ NewFromPtr,
+};
+
+use database;
+
+use ffi;
+
+pub struct Directory<'d>(
+ *mut ffi::notmuch_directory_t,
+ marker::PhantomData<&'d mut database::Database>,
+);
+
+impl<'d> NewFromPtr<*mut ffi::notmuch_directory_t> for Directory<'d> {
+ fn new(ptr: *mut ffi::notmuch_directory_t) -> Directory<'d> {
+ Directory(ptr, marker::PhantomData)
+ }
+}
diff --git a/src/lib.rs b/src/lib.rs
index 265589e..aa21751 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -9,3 +9,4 @@ mod utils;
pub mod error;
pub mod database;
+pub mod directory;