;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
-;; To use, add the following line to your ~/.riece/init.el:
-;; (add-to-list 'riece-addons 'riece-keepalive)
+;; NOTE: This is an add-on module for Riece.
;;; Code:
-(defvar riece-keepalive-ping-repeat 120)
+(require 'riece-options)
+(require 'riece-server)
+
+(defgroup riece-keepalive nil
+ "Keep an IRC connection."
+ :prefix "riece-"
+ :group 'riece)
+
+(defcustom riece-keepalive-ping-repeat 120
+ "Interval for sending PING to server."
+ :type 'integer
+ :group 'riece-keepalive)
+
(defvar riece-keepalive-timer nil)
+(defconst riece-keepalive-description
+ "Keep an IRC connection.")
+
(defun riece-keepalive-after-login-hook ()
(make-local-variable 'riece-keepalive-timer)
(unless riece-keepalive-timer
(setq riece-keepalive-timer nil)))
(defun riece-keepalive-insinuate ()
- (add-hook 'riece-after-login-hook #'riece-keepalive-after-login-hook)
- (add-hook 'riece-after-close-hook #'riece-keepalive-after-close-hook))
+ (add-hook 'riece-after-login-hook 'riece-keepalive-after-login-hook)
+ (add-hook 'riece-after-close-hook 'riece-keepalive-after-close-hook))
+
+(defun riece-keepalive-uninstall ()
+ (remove-hook 'riece-after-login-hook 'riece-keepalive-after-login-hook)
+ (remove-hook 'riece-after-close-hook 'riece-keepalive-after-close-hook))
(provide 'riece-keepalive)