remove mx_{pop,nntp,imap}.[hc]
[apps/madmutt.git] / nntp / nntp.c
index 32f40c6..e24857a 100644 (file)
@@ -18,7 +18,6 @@
 #include "mutt.h"
 #include "sort.h"
 #include "mx.h"
 #include "mutt.h"
 #include "sort.h"
 #include "mx.h"
-#include "mx_nntp.h"
 #include "nntp.h"
 #include "buffy.h"
 
 #include "nntp.h"
 #include "buffy.h"
 
@@ -802,7 +801,7 @@ static int nntp_fetch_headers (CONTEXT * ctx, unsigned int first,
 /* 
  * currently, nntp "mailbox" is "newsgroup"
  */
 /* 
  * currently, nntp "mailbox" is "newsgroup"
  */
-int nntp_open_mailbox (CONTEXT * ctx)
+static int nntp_open_mailbox (CONTEXT * ctx)
 {
   NNTP_DATA *nntp_data;
   NNTP_SERVER *serv;
 {
   NNTP_DATA *nntp_data;
   NNTP_SERVER *serv;
@@ -1089,7 +1088,7 @@ void nntp_delete_data (void *p)
   p_delete(&data);
 }
 
   p_delete(&data);
 }
 
-int nntp_sync_mailbox (CONTEXT * ctx, int unused1, int* unused2)
+static int nntp_sync_mailbox (CONTEXT * ctx, int unused1, int* unused2)
 {
   NNTP_DATA *data = ctx->data;
 
 {
   NNTP_DATA *data = ctx->data;
 
@@ -1102,7 +1101,7 @@ int nntp_sync_mailbox (CONTEXT * ctx, int unused1, int* unused2)
   return 0;
 }
 
   return 0;
 }
 
-void nntp_fastclose_mailbox (CONTEXT * ctx)
+static void nntp_fastclose_mailbox (CONTEXT * ctx)
 {
   NNTP_DATA *data = (NNTP_DATA *) ctx->data, *tmp;
 
 {
   NNTP_DATA *data = (NNTP_DATA *) ctx->data, *tmp;
 
@@ -1204,7 +1203,7 @@ static int _nntp_check_mailbox (CONTEXT * ctx, NNTP_DATA * nntp_data)
   return 0;
 }
 
   return 0;
 }
 
-int nntp_check_mailbox (CONTEXT * ctx, int* unused1, int unused2)
+static int nntp_check_mailbox (CONTEXT * ctx, int* unused1, int unused2)
 {
   return _nntp_check_mailbox (ctx, (NNTP_DATA *) ctx->data);
 }
 {
   return _nntp_check_mailbox (ctx, (NNTP_DATA *) ctx->data);
 }
@@ -1501,3 +1500,36 @@ int nntp_check_children (CONTEXT * ctx, const char *msgid)
   p_delete(&cc.child);
   return ret;
 }
   p_delete(&cc.child);
   return ret;
 }
+
+static int nntp_is_magic (const char* path, struct stat* st) {
+  url_scheme_t s = url_check_scheme (NONULL (path));
+  return ((s == U_NNTP || s == U_NNTPS) ? M_NNTP : -1);
+}
+
+static int acl_check_nntp (CONTEXT* ctx, int bit) {
+  switch (bit) {
+    case ACL_INSERT:    /* editing messages */
+    case ACL_WRITE:     /* change importance */
+      return (0);
+    case ACL_DELETE:    /* (un)deletion */
+    case ACL_SEEN:      /* mark as read */
+      return (1);
+    default:
+      return (0);
+  }
+}
+
+mx_t const nntp_mx = {
+    M_NNTP,
+    0,
+    nntp_is_magic,
+    NULL,
+    NULL,
+    nntp_open_mailbox,
+    NULL,
+    acl_check_nntp,
+    nntp_check_mailbox,
+    nntp_fastclose_mailbox,
+    nntp_sync_mailbox,
+    NULL,
+};