extern VALUE notmuch_rb_cThread;
extern VALUE notmuch_rb_cMessages;
extern VALUE notmuch_rb_cMessage;
-extern VALUE notmuch_rb_cTags;
extern VALUE notmuch_rb_eBaseError;
extern VALUE notmuch_rb_eDatabaseError;
extern VALUE notmuch_rb_eUnbalancedAtomicError;
extern ID ID_call;
-extern ID ID_db_create;
-extern ID ID_db_mode;
/* RSTRING_PTR() is new in ruby-1.9 */
#if !defined(RSTRING_PTR)
extern const rb_data_type_t notmuch_rb_object_type;
extern const rb_data_type_t notmuch_rb_database_type;
extern const rb_data_type_t notmuch_rb_directory_type;
-extern const rb_data_type_t notmuch_rb_filenames_type;
extern const rb_data_type_t notmuch_rb_query_type;
extern const rb_data_type_t notmuch_rb_threads_type;
extern const rb_data_type_t notmuch_rb_thread_type;
#define Data_Get_Notmuch_Directory(obj, ptr) \
Data_Get_Notmuch_Object ((obj), ¬much_rb_directory_type, (ptr))
-#define Data_Get_Notmuch_FileNames(obj, ptr) \
- Data_Get_Notmuch_Object ((obj), ¬much_rb_filenames_type, (ptr))
-
#define Data_Get_Notmuch_Query(obj, ptr) \
Data_Get_Notmuch_Object ((obj), ¬much_rb_query_type, (ptr))
talloc_free (rb_wrapper);
}
-static inline notmuch_status_t
+static inline void
notmuch_rb_object_destroy (VALUE rb_object, const rb_data_type_t *type)
{
notmuch_rb_object_t *rb_wrapper;
- notmuch_status_t ret;
Data_Get_Notmuch_Rb_Object (rb_object, type, rb_wrapper);
/* Call the corresponding notmuch_*_destroy function */
- ret = ((notmuch_status_t (*)(void *)) type->data) (rb_wrapper->nm_object);
+ ((void (*)(void *)) type->data) (rb_wrapper->nm_object);
notmuch_rb_object_free (rb_wrapper);
DATA_PTR (rb_object) = NULL;
-
- return ret;
}
/* status.c */
VALUE
notmuch_rb_database_alloc (VALUE klass);
+VALUE
+notmuch_rb_database_destroy (VALUE self);
+
VALUE
notmuch_rb_database_initialize (int argc, VALUE *argv, VALUE klass);
/* filenames.c */
VALUE
-notmuch_rb_filenames_destroy (VALUE self);
-
-VALUE
-notmuch_rb_filenames_each (VALUE self);
+notmuch_rb_filenames_get (notmuch_filenames_t *fnames);
/* query.c */
VALUE
/* tags.c */
VALUE
-notmuch_rb_tags_destroy (VALUE self);
-
-VALUE
-notmuch_rb_tags_each (VALUE self);
+notmuch_rb_tags_get (notmuch_tags_t *tags);
/* init.c */
void