Implement jabber-silent-process-data and start use it for ping request
This commit is contained in:
parent
03d4aad7b9
commit
3c486bb73e
13
jabber-iq.el
13
jabber-iq.el
|
@ -195,6 +195,19 @@ See section 9.3 of XMPP Core."
|
|||
(dolist (hook '(jabber-info-message-hooks jabber-alert-info-message-hooks))
|
||||
(run-hook-with-args hook 'browse (current-buffer) (funcall jabber-alert-info-message-function 'browse (current-buffer))))))))
|
||||
|
||||
(defun jabber-silent-process-data (js xml-data closure-data)
|
||||
"Process random results from various requests to only alert hooks."
|
||||
(let ((text (cond
|
||||
((functionp closure-data)
|
||||
(funcall closure-data jc xml-data))
|
||||
((stringp closure-data)
|
||||
(concat closure-data ": " (jabber-parse-error (jabber-iq-error xml-data))))
|
||||
(t
|
||||
(format "%S" xml-data)))))
|
||||
(dolist (hook '(jabber-info-message-hooks jabber-alert-info-message-hooks))
|
||||
(run-hook-with-args hook 'browse (current-buffer)
|
||||
text))))
|
||||
|
||||
(provide 'jabber-iq)
|
||||
|
||||
;;; arch-tag: 5585dfa3-b59a-42ee-9292-803652c85e26
|
||||
|
|
|
@ -38,16 +38,17 @@
|
|||
"Ping XMPP entity. TO is full JID. All connected JIDs is used."
|
||||
(interactive (list (jabber-read-jid-completing "Send ping to: " nil nil nil 'full)))
|
||||
(dolist (jc jabber-connections)
|
||||
(jabber-ping-send jc to 'jabber-process-data 'jabber-process-ping "Ping is unsupported")))
|
||||
(jabber-ping-send jc to 'jabber-silent-process-data 'jabber-process-ping "Ping is unsupported")))
|
||||
|
||||
;; called by jabber-process-data
|
||||
(defun jabber-process-ping (jc xml-data)
|
||||
"Handle results from ping requests."
|
||||
(let ((to (jabber-xml-get-attribute xml-data 'from)))
|
||||
(insert (format "%s is alive\n" to))))
|
||||
(format "%s is alive" to)))
|
||||
|
||||
(add-to-list 'jabber-iq-get-xmlns-alist (cons "urn:xmpp:ping" 'jabber-pong))
|
||||
(add-to-list 'jabber-advertised-features "urn:xmpp:ping")
|
||||
|
||||
(defun jabber-pong (jc xml-data)
|
||||
"Return pong as defined in XEP-0199. Sender and Id are
|
||||
determined from the incoming packet passed in XML-DATA."
|
||||
|
|
Loading…
Reference in New Issue