schedular.h

Go to the documentation of this file.
00001 /*
00002  Copyright (C) 2005-2009 Erik van Pienbroek
00003 
00004  This program is free software; you can redistribute it and/or modify
00005  it under the terms of the GNU General Public License as published by
00006  the Free Software Foundation; either version 2 of the License, or
00007  (at your option) any later version.
00008 
00009  This program is distributed in the hope that it will be useful,
00010  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00012  GNU General Public License for more details.
00013 
00014  You should have received a copy of the GNU General Public License
00015  along with this program; if not, write to the Free Software
00016  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00017 */
00018 
00019 #ifndef _SCHEDULAR_H_
00020 #define _SCHEDULAR_H_
00021 
00022 #include "nntpgrab_types.h"
00023 #include "collections.h"
00024 #include "configuration.h"
00025 
00026 typedef struct Schedular Schedular;
00027 
00028 #define SCHEDULAR_TYPE_OBJECT (schedular_get_type ())
00029 #define SCHEDULAR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), SCHEDULAR_TYPE_OBJECT, Schedular))
00030 #define SCHEDULAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCHEDULAR_TYPE_OBJECT, SchedularClass))
00031 #define IS_SCHEDULAR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), SCHEDULAR_TYPE_OBJECT))
00032 #define IS_SCHEDULAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCHEDULAR_TYPE_OBJECT))
00033 #define SCHEDULAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCHEDULAR_TYPE_OBJECT, SchedularClass))
00034 
00035 Schedular       *schedular_new(Configuration *config, char **errmsg);
00036 void             schedular_destroy(Schedular *obj);
00037 
00038 gboolean         schedular_start(Schedular *obj);
00039 gboolean         schedular_stop(Schedular *obj);
00040 SchedularState   schedular_get_state(Schedular *obj);
00041 
00042 gboolean         schedular_add_task_to_queue(Schedular *obj, const char *collection_name, const NNTPFile *file, char **errmsg);
00043 gboolean         schedular_del_task_from_queue(Schedular *obj, const char *collection_name, const char *subject, char **errmsg);
00044 gboolean         schedular_restart_task(Schedular *obj, const char *collection_name, const char *subject, char **errmsg);
00045 gboolean         schedular_save_queue(Schedular *obj, char **errmsg);
00046 void             schedular_foreach_task(Schedular *obj, ForeachCollectionFunc collection_func, ForeachFileFunc file_func, ForeachGroupFunc group_func, gpointer data);
00047 gboolean         schedular_move_task(Schedular *obj, const char *collection_name_src, const char *subject_src, const char *collection_name_dest, int position_dest);
00048 gboolean         schedular_move_collection(Schedular *obj, const char *collection_name, int new_position);
00049 
00050 #endif /* _SCHEDULAR_H_ */

Generated on Thu May 21 21:25:05 2009 for NNTPGrab by  1.5.4