00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _NNTPGRAB_PLUGIN_NNTP_H_
00020 #define _NNTPGRAB_PLUGIN_NNTP_H_
00021
00022 #include "nntpgrab_plugin_base.h"
00023
00024
00025 typedef struct _plugin_nntp_imported_funcs {
00026 int version;
00027
00028 void (*update_progress) (int bytes_downloaded, gpointer data);
00029 void (*update_traffic_monitor) (int bytes_received[10], time_t stamp);
00030 void (*notify_download_begin) (gpointer data);
00031 void (*notify_connecting) (int conn_id, gpointer data);
00032 void (*notify_connected) (const char *welcome_msg, gpointer data);
00033 void (*notify_disconnect) (NNTPDisconnectType disconnect_type, const char *errmsg, gpointer data);
00034 void (*parse_header) (int position, const char *subject, const char *poster, time_t postdate, const char *message_id, int size, int numlines, int start_range, int end_range, gpointer data);
00035 } PluginNNTPImportedFuncs;
00036
00037
00038
00046 gboolean nntpgrab_plugin_nntp_initialize(PluginNNTPImportedFuncs funcs);
00047
00054 int nntpgrab_plugin_nntp_get_version(void);
00055
00063 gboolean nntpgrab_plugin_nntp_get_is_connected(int conn_id);
00064
00079 NNTPGrabErrCode nntpgrab_plugin_nntp_connect(const char *hostname, int port, const char *username, const char *password, gboolean use_ssl, char **errmsg, int *conn_id, gpointer data);
00080
00088 void nntpgrab_plugin_nntp_disconnect(int conn_id, gpointer data);
00089
00101 NNTPGrabErrCode nntpgrab_plugin_nntp_get_article_by_message_id(int conn_id, const char *message_id, const char **headers, const char *filename, gpointer cb_data);
00102
00114 NNTPGrabErrCode nntpgrab_plugin_nntp_group(int conn_id, const char *newsgroup, int *num_articles, gint64 *start_article, gint64 *end_article, gpointer data);
00115
00125 NNTPGrabErrCode nntpgrab_plugin_nntp_xover(int conn_id, gint64 start_range, gint64 end_range, gpointer data);
00126
00127 #endif