;;; nndraft.el --- draft article access for Gnus
-;; Copyright (C) 1995,96 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
;; Keywords: news
;;; Code:
(require 'nnheader)
+(require 'nnmail)
+(require 'gnus-start)
(require 'nnmh)
-(eval-and-compile (require 'cl))
+(require 'nnoo)
+(eval-when-compile (require 'cl))
-(eval-and-compile
- (autoload 'mail-send-and-exit "sendmail"))
+(nnoo-declare nndraft
+ nnmh)
-(defvar nndraft-directory nil
- "Where nndraft will store its directory.")
+(defvoo nndraft-directory (nnheader-concat gnus-directory "drafts/")
+ "Where nndraft will store its files."
+ nnmh-directory)
\f
-(defconst nndraft-version "nndraft 1.0")
-(defvar nndraft-status-string "")
-
-\f
+(defvoo nndraft-current-group "" nil nnmh-current-group)
+(defvoo nndraft-get-new-mail nil nil nnmh-get-new-mail)
+(defvoo nndraft-current-directory nil nil nnmh-current-directory)
-(defvar nndraft-current-server nil)
-(defvar nndraft-server-alist nil)
-(defvar nndraft-server-variables
- `((nndraft-directory nil)
- (nndraft-status-string "")
- (nndraft-group-alist)))
+(defconst nndraft-version "nndraft 1.0")
+(defvoo nndraft-status-string "" nil nnmh-status-string)
\f
;;; Interface functions.
+(nnoo-define-basics nndraft)
-(defun nndraft-retrieve-headers (articles &optional group server fetch-old)
+(deffoo nndraft-open-server (server &optional defs)
+ (nnoo-change-server 'nndraft server defs)
+ (cond
+ ((not (file-exists-p nndraft-directory))
+ (nndraft-close-server)
+ (nnheader-report 'nndraft "No such file or directory: %s"
+