00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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