0.8.10claws79
[claws.git] / src / news.h
index 0ea35476008824a7c6e8a82b10b02f90f2556962..c3c2884947e5ce9cb884317e9e644df6d3aaf91b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2002 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #define __NEWS_H__
 
 #include <glib.h>
+#include <stdio.h>
 
 #include "folder.h"
 #include "session.h"
+#include "nntp.h"
 
+typedef struct _NewsFolder     NewsFolder;
 typedef struct _NNTPSession    NNTPSession;
+typedef struct _NewsGroupInfo  NewsGroupInfo;
 
+#define NEWS_FOLDER(obj)       ((NewsFolder *)obj)
 #define NNTP_SESSION(obj)      ((NNTPSession *)obj)
 
+struct _NewsFolder
+{
+       RemoteFolder rfolder;
+
+       gboolean use_auth;
+};
+
 struct _NNTPSession
 {
        Session session;
 
+       NNTPSockInfo *nntp_sock;
        gchar *group;
+       gfloat fetch_base_percentage;
+       gfloat fetch_total_percentage;
 };
 
+struct _NewsGroupInfo
+{
+       gchar *name;
+       guint first;
+       guint last;
+       gchar type;
+};
 
-Session *news_session_new              (const gchar    *server,
-                                        gushort         port);
-void news_session_destroy              (NNTPSession    *session);
+Folder *news_folder_new                (const gchar    *name,
+                                        const gchar    *folder);
+void    news_folder_destroy            (Folder         *folder);
+
+void news_session_destroy              (Session        *session);
 NNTPSession *news_session_get          (Folder         *folder);
 
 GSList *news_get_article_list          (Folder         *folder,
@@ -49,13 +73,17 @@ gchar *news_fetch_msg                       (Folder         *folder,
                                         FolderItem     *item,
                                         gint            num);
 
-void news_scan_group                   (Folder         *folder,
+gint news_scan_group                   (Folder         *folder,
                                         FolderItem     *item);
 
+GSList *news_get_group_list            (Folder         *folder);
+void news_group_list_free              (GSList         *group_list);
+void news_remove_group_list_cache      (Folder         *folder);
+
 gint news_post                         (Folder         *folder,
                                         const gchar    *file);
 
-GSList * news_get_group_list(FolderItem *item);
-void news_reset_group_list();
+gint news_cancel_article               (Folder         *folder,
+                                        MsgInfo        *msginfo);
 
 #endif /* __NEWS_H__ */