diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-02-15 16:56:36 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-02-28 18:15:12 +0100 |
commit | 966cedb4a7e5137697b99e64ce5b013d07c04773 (patch) | |
tree | 7da4ffc53f5985840d687ce99beb2e7c2504715d /libimagtag | |
parent | d0a12c2fb0d7dfc18730c062b830a856b50a5564 (diff) |
Impl Tagable for FileLockEntry for more convenience
Diffstat (limited to 'libimagtag')
-rw-r--r-- | libimagtag/src/tagable.rs | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/libimagtag/src/tagable.rs b/libimagtag/src/tagable.rs index f38f49d6..70eaec02 100644 --- a/libimagtag/src/tagable.rs +++ b/libimagtag/src/tagable.rs @@ -1,4 +1,7 @@ -use libimagstore::store::{Entry, EntryHeader}; +use std::ops::Deref; +use std::ops::DerefMut; + +use libimagstore::store::{Entry, EntryHeader, FileLockEntry}; use error::{TagError, TagErrorKind}; use result::Result; @@ -163,3 +166,32 @@ impl Tagable for Entry { } } + +impl<'a> Tagable for FileLockEntry<'a> { + + fn get_tags(&self) -> Result<Vec<Tag>> { + self.deref().get_tags() + } + + fn set_tags(&mut self, ts: Vec<Tag>) -> Result<()> { + self.deref_mut().set_tags(ts) + } + + fn add_tag(&mut self, t: Tag) -> Result<()> { + self.deref_mut().add_tag(t) + } + + fn remove_tag(&mut self, t: Tag) -> Result<()> { + self.deref_mut().remove_tag(t) + } + + fn has_tag(&self, t: &Tag) -> Result<bool> { + self.deref().has_tag(t) + } + + fn has_tags(&self, ts: &Vec<Tag>) -> Result<bool> { + self.deref().has_tags(ts) + } + +} + |