diff options
author | Ali Polatel <alip@exherbo.org> | 2011-01-10 16:02:43 +0200 |
---|---|---|
committer | Ali Polatel <alip@exherbo.org> | 2011-01-25 12:03:37 +0200 |
commit | 02369d031c1499e015db1736bd259d314d39b8cf (patch) | |
tree | 1546fc803e0761bbd6590af277cba6fb7c4c01be /bindings/ruby | |
parent | ed38940323ba80d0136688405cbd923fa088d706 (diff) |
ruby: Add wrappers for maildir sync. interface
New wrappers:
notmuch_message_maildir_flags_to_tags(): MESSAGE.maildir_flags_to_tags
notmuch_message_tags_to_maildir_flags(): MESSAGE.tags_to_maildir_flags
Diffstat (limited to 'bindings/ruby')
-rw-r--r-- | bindings/ruby/defs.h | 6 | ||||
-rw-r--r-- | bindings/ruby/init.c | 2 | ||||
-rw-r--r-- | bindings/ruby/message.c | 38 |
3 files changed, 46 insertions, 0 deletions
diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h index db530968..1f529883 100644 --- a/bindings/ruby/defs.h +++ b/bindings/ruby/defs.h @@ -293,6 +293,12 @@ VALUE notmuch_rb_message_remove_all_tags(VALUE self); VALUE +notmuch_rb_message_maildir_flags_to_tags(VALUE self); + +VALUE +notmuch_rb_message_tags_to_maildir_flags(VALUE self); + +VALUE notmuch_rb_message_freeze(VALUE self); VALUE diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c index 63ab205e..4a63ba07 100644 --- a/bindings/ruby/init.c +++ b/bindings/ruby/init.c @@ -273,6 +273,8 @@ Init_notmuch(void) rb_define_alias(notmuch_rb_cMessage, "<<", "add_tag"); rb_define_method(notmuch_rb_cMessage, "remove_tag", notmuch_rb_message_remove_tag, 1); rb_define_method(notmuch_rb_cMessage, "remove_all_tags", notmuch_rb_message_remove_all_tags, 0); + rb_define_method(notmuch_rb_cMessage, "maildir_flags_to_tags", notmuch_rb_message_maildir_flags_to_tags, 0); + rb_define_method(notmuch_rb_cMessage, "tags_to_maildir_flags", notmuch_rb_message_tags_to_maildir_flags, 0); rb_define_method(notmuch_rb_cMessage, "freeze", notmuch_rb_message_freeze, 0); rb_define_method(notmuch_rb_cMessage, "thaw", notmuch_rb_message_thaw, 0); diff --git a/bindings/ruby/message.c b/bindings/ruby/message.c index f97e1a4e..1b2c01ef 100644 --- a/bindings/ruby/message.c +++ b/bindings/ruby/message.c @@ -284,6 +284,44 @@ notmuch_rb_message_remove_all_tags(VALUE self) } /* + * call-seq: MESSAGE.maildir_flags_to_tags => true + * + * Add/remove tags according to maildir flags in the message filename(s) + */ +VALUE +notmuch_rb_message_maildir_flags_to_tags(VALUE self) +{ + notmuch_status_t ret; + notmuch_message_t *message; + + Data_Get_Notmuch_Message(self, message); + + ret = notmuch_message_maildir_flags_to_tags(message); + notmuch_rb_status_raise(ret); + + return Qtrue; +} + +/* + * call-seq: MESSAGE.tags_to_maildir_flags => true + * + * Rename message filename(s) to encode tags as maildir flags + */ +VALUE +notmuch_rb_message_tags_to_maildir_flags(VALUE self) +{ + notmuch_status_t ret; + notmuch_message_t *message; + + Data_Get_Notmuch_Message(self, message); + + ret = notmuch_message_tags_to_maildir_flags(message); + notmuch_rb_status_raise(ret); + + return Qtrue; +} + +/* * call-seq: MESSAGE.freeze => true * * Freeze the 'message' |