00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #ifndef _PLUGIN_SCHEDULAR_H_
00020 #define _PLUGIN_SCHEDULAR_H_
00021 
00022 #include "nntpgrab_plugin_schedular.h"
00023 
00024 typedef struct _plugin_schedular_exported_funcs {
00025     int              (*get_version) (void);
00026 
00027     void             (*destroy) (void);
00028 
00029     gboolean         (*start) (void);
00030     gboolean         (*stop) (const char *reason);
00031     gboolean         (*get_state) (void);
00032 
00033     gboolean         (*add_task_to_queue) (const char *collection_name, const NNTPFile *file, char **errmsg);
00034     gboolean         (*del_task_from_queue) (const char *collection_name, const char *subject, char **errmsg);
00035     gboolean         (*restart_task) (const char *collection_name, const char *subject, char **errmsg);
00036     gboolean         (*save_queue) (char **errmsg);
00037     void             (*foreach_task) (GFunc foreach_func, gpointer data);
00038     gboolean         (*move_task) (const char *collection_name_src, const char *subject_src, const char *collection_name_dest, int position_dest);
00039     gboolean         (*move_collection) (const char *collection_name, int new_position);
00040 } PluginSchedularExportedFuncs;
00041 
00042 typedef gboolean (*plugin_schedular_init_func) (PluginSchedularImportedFuncs funcs, char **errmsg);
00043 
00044 #endif