Renamed.
[riece] / lisp / riece-rdcc.el
index f977f36..7af34af 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-rdcc.el --- ruby implementation of DCC add-on
+;;; riece-rdcc.el --- DCC file sending protocol support (written in Ruby)
 ;; Copyright (C) 1998-2003 Daiki Ueno
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ;; Boston, MA 02111-1307, USA.
 
+;;; Commentary:
+
+;; NOTE: This is an add-on module for Riece.
+
 ;;; Code:
 
 (require 'riece-globals)
@@ -31,7 +35,7 @@
 (require 'riece-ruby)
 
 (defgroup riece-rdcc nil
-  "DCC implementation using ruby"
+  "DCC written in Ruby."
   :prefix "riece-"
   :group 'riece)
 
@@ -98,16 +102,14 @@ end
 (defvar riece-rdcc-temp-file nil)
 (defvar riece-rdcc-received-size nil)
 
-(defvar riece-rdcc-enabled nil)
-
 (defconst riece-rdcc-description
-  "DCC file sending extension implemented in Ruby")
+  "DCC file sending protocol support (written in Ruby.)")
 
 (defvar temporary-file-directory)
 (defvar jka-compr-compression-info-list)
 (defvar jam-zcat-filename-list)
 
-(defun riece-rdcc-output-handler (name output)
+(defun riece-rdcc-output-handler (name output time)
   (if (string-match "\\([0-9]+\\) \\([0-9]+\\)" output)
       (let ((address (match-string 1 output))
            (port (match-string 2 output)))
@@ -121,7 +123,7 @@ end
                 (riece-ruby-property name 'riece-rdcc-request-size)))))
   (riece-ruby-set-output-handler name #'riece-rdcc-output-handler-2))
 
-(defun riece-rdcc-output-handler-2 (name output)
+(defun riece-rdcc-output-handler-2 (name output time)
   (message "Sending %s...(%s/%d)"
           (riece-ruby-property name 'riece-rdcc-request-file)
           (string-to-number output)
@@ -301,7 +303,7 @@ end
 
 (defun riece-handle-dcc-request (prefix target message)
   (let ((case-fold-search t))
-    (when (and riece-rdcc-enabled
+    (when (and (get 'riece-rdcc 'riece-addon-enabled)
               (string-match
                "SEND \\(\\([^ ]+\\)\\|\"\\(.+\\)\"\\) \\([^ ]+\\) \\([^ ]+\\) \\([^ ]+\\)"
                message))
@@ -351,15 +353,18 @@ end
   (add-to-list 'riece-ctcp-additional-clientinfo "DCC")
   (add-hook 'riece-ctcp-dcc-request-hook 'riece-handle-dcc-request))
 
+(defun riece-rdcc-uninstall ()
+  (setq riece-ctcp-additional-clientinfo
+       (delete "DCC" riece-ctcp-additional-clientinfo))
+  (remove-hook 'riece-ctcp-dcc-request-hook 'riece-handle-dcc-request))
+
 (defun riece-rdcc-enable ()
   (define-key riece-dialogue-mode-map "\C-ds" 'riece-command-dcc-send)
-  (define-key riece-dialogue-mode-map "\C-dr" 'riece-command-dcc-receive)
-  (setq riece-rdcc-enabled t))
+  (define-key riece-dialogue-mode-map "\C-dr" 'riece-command-dcc-receive))
 
 (defun riece-rdcc-disable ()
   (define-key riece-dialogue-mode-map "\C-ds" nil)
-  (define-key riece-dialogue-mode-map "\C-dr" nil)
-  (setq riece-rdcc-enabled nil))
+  (define-key riece-dialogue-mode-map "\C-dr" nil))
 
 (provide 'riece-rdcc)