Function: nnfeed-define-basic-backend-interface

nnfeed-define-basic-backend-interface is a macro defined in nnfeed.el.gz.

Signature

(nnfeed-define-basic-backend-interface BACKEND)

Documentation

Define a basic set of functions and variables for BACKEND.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnfeed.el.gz
;; This macro should be used to define inheriting backends.

(defmacro nnfeed-define-basic-backend-interface (backend)
  "Define a basic set of functions and variables for BACKEND."
  `(progn
     (defvoo ,(nnoo-symbol backend 'backend) ',backend nil nnfeed-backend)
     (defvoo ,(nnoo-symbol backend 'status-string)
         nil nil nnfeed-status-string)
     (defvoo ,(nnoo-symbol backend 'group) nil nil nnfeed-group)
     (defvoo ,(nnoo-symbol backend 'servers)
         (make-hash-table :test 'equal) nil nnfeed-servers)
     (defvoo ,(nnoo-symbol backend 'group-article-ids)
         (make-hash-table :test 'equal) nil nnfeed-group-article-ids)
     (defvoo ,(nnoo-symbol backend 'group-articles)
         (make-hash-table :test 'eql) nil nnfeed-group-articles)
     (defvoo ,(nnoo-symbol backend 'group-article-max-num) 0 nil
             nnfeed-group-article-max-num)
     (defvoo ,(nnoo-symbol backend 'group-article-mix-num) 1 nil
             nnfeed-group-article-min-num)
     ,@(mapcar (lambda (fun)
                 `(deffoo ,(nnoo-symbol backend fun) (&optional server)
                    (,(nnoo-symbol 'nnoo fun) ',backend server)))
	       '(server-opened status-message))
     (deffoo ,(nnoo-symbol backend 'open-server) (server &optional defs)
       (nnfeed-open-server server defs ',backend))
     (nnoo-import ,backend (nnfeed))))