00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #ifndef _NNTPGRAB_PLUGIN_PAR2_H_
00020 #define _NNTPGRAB_PLUGIN_PAR2_H_
00021 
00022 #include "nntpgrab_plugin_base.h"
00023 #include "collections.h"
00024 
00025 G_BEGIN_DECLS
00026 
00027 
00028 typedef struct _plugin_par2_imported_funcs {
00029     int version;
00030 
00031     void (*emit_repair_message) (const char *message);
00032     void (*emit_load_progress_update) (const char *filename, double progress);
00033     void (*emit_recovery_file_loaded) (const char *filename, int num_new_packets, int num_blocks_found);
00034     void (*emit_file_loaded) (const char *filename, PAR2FileState state, int num_blocks_found, int num_blocks_expected);
00035     void (*emit_repair_progress_update) (double progress);
00036     void (*emit_repair_failure) (int num_blocks_more_required);
00037     void (*emit_repair_success) (void);
00038     void (*emit_no_repair_required) (void);
00039 } PluginPar2ImportedFuncs;
00040 
00041 
00042 
00051 gboolean     nntpgrab_plugin_par2_initialize(PluginPar2ImportedFuncs funcs, char **errmsg);
00052 
00056 void         nntpgrab_plugin_par2_destroy(void);
00057 
00064 int          nntpgrab_plugin_par2_get_version(void);
00065 
00074 gboolean    nntpgrab_plugin_par2_load_verification_packet(const char *filename, PAR2Set **par2set);
00075 
00084 gboolean
00085 nntpgrab_plugin_par2_repair_files(const char *directory, const char *par2filename);
00086 
00087 G_END_DECLS
00088 
00089 #endif 
00090