MuError mu_index_run (MuIndex *index, const char *path, gboolean reindex, MuIndexStats *stats, MuIndexMsgCallback msg_cb, MuIndexDirCallback dir_cb, void *user_data) { MuIndexCallbackData cb_data; MuError rv; g_return_val_if_fail (index && index->_store, MU_ERROR); g_return_val_if_fail (msg_cb, MU_ERROR); if (!check_path (path)) return MU_ERROR; if (!reindex && index->_needs_reindex) { g_warning ("database not up-to-date; needs full reindex"); return MU_ERROR; } init_cb_data (&cb_data, index->_store, reindex, index->_max_filesize, stats, msg_cb, dir_cb, user_data); rv = mu_maildir_walk (path, (MuMaildirWalkMsgCallback)on_run_maildir_msg, (MuMaildirWalkDirCallback)on_run_maildir_dir, reindex, /* re-index, ie. do a full update */ &cb_data); mu_store_flush (index->_store); return rv; }
static void setup() { fail_unless((settings = smf_settings_new()) != NULL); smf_settings_set_queue_dir(settings, BINARY_DIR); fail_unless((session = smf_session_new()) != NULL); queue = smf_modules_pqueue_init(error_cb, processing_error_cb, nexthop_error_cb); fail_unless(queue != NULL); create_sample_message(session, SAMPLES_DIR "/m0001.txt"); create_spoolfile(session, SAMPLES_DIR "/m0001.txt"); init_cb_data(&mod1_data); init_cb_data(&mod2_data); init_cb_data(&mod3_data); init_cb_data(&error_data); init_cb_data(&processing_error_data); init_cb_data(&nexthop_error_data); }