Esempio n. 1
0
File: mu-index.c Progetto: Dabg/mu
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;
}
Esempio n. 2
0
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);
}