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
This commit is contained in:
Ali Polatel 2011-01-10 16:02:43 +02:00
parent ed38940323
commit 02369d031c
3 changed files with 46 additions and 0 deletions

View file

@ -292,6 +292,12 @@ notmuch_rb_message_remove_tag(VALUE self, VALUE tagv);
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);

View file

@ -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);

View file

@ -283,6 +283,44 @@ notmuch_rb_message_remove_all_tags(VALUE self)
return Qtrue;
}
/*
* 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
*