ruby: Wrap notmuch_database_{begin,end}_atomic

Adding ruby wrappers for functions:
- notmuch_database_begin_atomic()
- notmuch_database_end_atomic()
added by 957f1ba3fc

New functions:
Notmuch::Database.begin_atomic()
Notmuch::Database.end_atomic()
This commit is contained in:
Ali Polatel 2011-09-24 15:43:43 +03:00
parent a08aa32b44
commit bbb41081d7
3 changed files with 47 additions and 1 deletions

View file

@ -1,6 +1,6 @@
/* The Ruby interface to the notmuch mail library
*
* Copyright © 2010 Ali Polatel
* Copyright © 2010, 2011 Ali Polatel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -204,6 +204,44 @@ notmuch_rb_database_upgrade(VALUE self)
return Qtrue;
}
/*
* call-seq: DB.begin_atomic => nil
*
* Begin an atomic database operation.
*/
VALUE
notmuch_rb_database_begin_atomic(VALUE self)
{
notmuch_status_t ret;
notmuch_database_t *db;
Data_Get_Notmuch_Database(self, db);
ret = notmuch_database_begin_atomic(db);
notmuch_rb_status_raise(ret);
return Qtrue;
}
/*
* call-seq: DB.end_atomic => nil
*
* Indicate the end of an atomic database operation.
*/
VALUE
notmuch_rb_database_end_atomic(VALUE self)
{
notmuch_status_t ret;
notmuch_database_t *db;
Data_Get_Notmuch_Database(self, db);
ret = notmuch_database_end_atomic(db);
notmuch_rb_status_raise(ret);
return Qtrue;
}
/*
* call-seq: DB.get_directory(path) => DIR
*

View file

@ -150,6 +150,12 @@ notmuch_rb_database_needs_upgrade(VALUE self);
VALUE
notmuch_rb_database_upgrade(VALUE self);
VALUE
notmuch_rb_database_begin_atomic(VALUE self);
VALUE
notmuch_rb_database_end_atomic(VALUE self);
VALUE
notmuch_rb_database_get_directory(VALUE self, VALUE pathv);

View file

@ -181,6 +181,8 @@ Init_notmuch(void)
rb_define_method(notmuch_rb_cDatabase, "version", notmuch_rb_database_version, 0); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "needs_upgrade?", notmuch_rb_database_needs_upgrade, 0); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "upgrade!", notmuch_rb_database_upgrade, 0); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "begin_atomic", notmuch_rb_database_begin_atomic, 0); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "end_atomic", notmuch_rb_database_end_atomic, 0); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "get_directory", notmuch_rb_database_get_directory, 1); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "add_message", notmuch_rb_database_add_message, 1); /* in database.c */
rb_define_method(notmuch_rb_cDatabase, "remove_message", notmuch_rb_database_remove_message, 1); /* in database.c */