summaryrefslogtreecommitdiffstats
path: root/libimagtag
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2016-02-15 16:56:36 +0100
committerMatthias Beyer <mail@beyermatthias.de>2016-02-28 18:15:12 +0100
commit966cedb4a7e5137697b99e64ce5b013d07c04773 (patch)
tree7da4ffc53f5985840d687ce99beb2e7c2504715d /libimagtag
parentd0a12c2fb0d7dfc18730c062b830a856b50a5564 (diff)
Impl Tagable for FileLockEntry for more convenience
Diffstat (limited to 'libimagtag')
-rw-r--r--libimagtag/src/tagable.rs34
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)
+ }
+
+}
+