emacs-jabber/jabber-disco.el

211 lines
7.7 KiB
EmacsLisp
Raw Normal View History

2004-02-25 21:42:02 +00:00
;; jabber-disco.el - service discovery functions
;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - mange@freemail.hu
2004-02-25 21:42:02 +00:00
;; Copyright (C) 2002, 2003, 2004 - tom berger - object@intelectronica.net
;; This file is a part of jabber.el.
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
;;; All the client part should be seriously rewritten, or at least
;;; reconsidered. I'm imagining a separation between backend and
;;; frontend, so that various functions can perform disco queries for
;;; their own purposes, and maybe some caching with that.
2004-02-25 21:42:02 +00:00
(require 'jabber-iq)
(require 'jabber-xml)
2004-04-03 09:01:08 +00:00
(require 'jabber-menu)
2004-02-25 21:42:02 +00:00
;; Advertise your features here. Add the namespace to this list.
(defvar jabber-advertised-features
(list "http://jabber.org/protocol/disco#info")
"Features advertised on service discovery requests")
(defvar jabber-disco-items-nodes
(list
(list "" nil nil))
"Alist of node names and information about returning disco item data.
Key is node name as a string, or \"\" for no node specified. Value is
a list of two items.
First item is data to return. If it is a function, that function is
called and its return value is used; if it is a list, that list is
used. The list should be the XML data to be returned inside the
<query/> element, like this:
\((item ((name . \"Name of first item\")
(jid . \"first.item\")
(node . \"node\"))))
Second item is access control function. That function is passed the
JID, and returns non-nil if access is granted. If the second item is
nil, access is always granted.")
(defvar jabber-disco-info-nodes
(list
(list "" #'jabber-disco-return-client-info nil))
"Alist of node names and information returning disco info data.
Key is node name as a string, or \"\" for no node specified. Value is
a list of two items.
First item is data to return. If it is a function, that function is
called and its return value is used; if it is a list, that list is
used. The list should be the XML data to be returned inside the
<query/> element, like this:
\((identity ((category . \"client\")
(type . \"pc\")
(name . \"Jabber client\")))
(feature ((var . \"some-feature\"))))
Second item is access control function. That function is passed the
JID, and returns non-nil if access is granted. If the second item is
nil, access is always granted.")
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(defun jabber-process-disco-info (jc xml-data)
2004-02-25 21:42:02 +00:00
"Handle results from info disco requests."
(let ((beginning (point)))
(dolist (x (jabber-xml-node-children (jabber-iq-query xml-data)))
(cond
((eq (jabber-xml-node-name x) 'identity)
(let ((name (jabber-xml-get-attribute x 'name))
(category (jabber-xml-get-attribute x 'category))
(type (jabber-xml-get-attribute x 'type)))
(insert (jabber-propertize (if name
name
"Unnamed")
'face 'jabber-title-medium)
2004-02-25 21:42:02 +00:00
"\n\nCategory:\t" category "\n")
(if type
(insert "Type:\t\t" type "\n"))
(insert "\n")))
((eq (jabber-xml-node-name x) 'feature)
(let ((var (jabber-xml-get-attribute x 'var)))
(insert "Feature:\t" var "\n")))))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(put-text-property beginning (point)
'jabber-jid (jabber-xml-get-attribute xml-data 'from))
(put-text-property beginning (point)
'jabber-account jc)))
2004-02-25 21:42:02 +00:00
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(defun jabber-process-disco-items (jc xml-data)
2004-02-25 21:42:02 +00:00
"Handle results from items disco requests."
(let ((items (jabber-xml-get-children (jabber-iq-query xml-data) 'item)))
(if items
(dolist (item items)
(let ((jid (jabber-xml-get-attribute item 'jid))
(name (jabber-xml-get-attribute item 'name))
(node (jabber-xml-get-attribute item 'node)))
(insert
(jabber-propertize
(concat
(jabber-propertize
(concat jid "\n" (if node (format "Node: %s\n" node)))
'face 'jabber-title-medium)
name "\n\n")
2004-02-25 21:42:02 +00:00
'jabber-jid jid
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
'jabber-account jc
2004-02-25 21:42:02 +00:00
'jabber-node node))))
(insert "No items found.\n"))))
(add-to-list 'jabber-iq-get-xmlns-alist
(cons "http://jabber.org/protocol/disco#info" 'jabber-return-disco-info))
(add-to-list 'jabber-iq-get-xmlns-alist
(cons "http://jabber.org/protocol/disco#items" 'jabber-return-disco-info))
(defun jabber-return-disco-info (jc xml-data)
2004-02-25 21:42:02 +00:00
"Respond to a service discovery request.
See JEP-0030."
(let* ((to (jabber-xml-get-attribute xml-data 'from))
(id (jabber-xml-get-attribute xml-data 'id))
(xmlns (jabber-iq-xmlns xml-data))
(which-alist (eval (cdr (assoc xmlns
(list
(cons "http://jabber.org/protocol/disco#info" 'jabber-disco-info-nodes)
(cons "http://jabber.org/protocol/disco#items" 'jabber-disco-items-nodes))))))
(node (or
(jabber-xml-get-attribute (jabber-iq-query xml-data) 'node)
""))
(return-list (cdr (assoc node which-alist)))
(func (nth 0 return-list))
(access-control (nth 1 return-list)))
(if return-list
(if (and (functionp access-control)
(not (funcall access-control jc to)))
2004-03-21 14:10:38 +00:00
(jabber-signal-error "cancel" 'not-allowed)
;; Access control passed
(let ((result (if (functionp func)
(funcall func jc xml-data)
func)))
(jabber-send-iq jc to "result"
`(query ((xmlns . ,xmlns)
,@(when node
(list (cons 'node node))))
,@result)
nil nil nil nil id)))
;; No such node
2004-03-21 14:10:38 +00:00
(jabber-signal-error "cancel" 'item-not-found))))
(defun jabber-disco-return-client-info (jc xml-data)
`(
;; If running under a window system, this is
;; a GUI client. If not, it is a console client.
(identity ((category . "client")
(name . "Emacs Jabber client")
(type . ,(if (memq window-system
'(x w32 mac))
"pc"
"console"))))
,@(mapcar
#'(lambda (featurename)
`(feature ((var . ,featurename))))
jabber-advertised-features)))
2004-03-02 13:08:25 +00:00
(add-to-list 'jabber-jid-info-menu
(cons "Send items disco query" 'jabber-get-disco-items))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(defun jabber-get-disco-items (jc to &optional node)
2004-02-25 21:42:02 +00:00
"Send a service discovery request for items"
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(interactive (list (jabber-read-account)
(jabber-read-jid-completing "Send items disco request to: ")
2004-02-25 21:42:02 +00:00
(jabber-read-node "Node (or leave empty): ")))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(jabber-send-iq jc to
2004-02-25 21:42:02 +00:00
"get"
(list 'query (append (list (cons 'xmlns "http://jabber.org/protocol/disco#items"))
(if (> (length node) 0)
(list (cons 'node node)))))
#'jabber-process-data #'jabber-process-disco-items
#'jabber-process-data "Item discovery failed"))
2004-03-02 13:08:25 +00:00
(add-to-list 'jabber-jid-info-menu
(cons "Send info disco query" 'jabber-get-disco-info))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(defun jabber-get-disco-info (jc to &optional node)
2004-02-25 21:42:02 +00:00
"Send a service discovery request for info"
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(interactive (list (jabber-read-account)
(jabber-read-jid-completing "Send info disco request to: ")
2004-02-25 21:42:02 +00:00
(jabber-read-node "Node (or leave empty): ")))
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-289 Creator: Magnus Henoch <mange@freemail.hu> Merge multi-account work Patches applied: * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-2 Only output car of events in fsm.el, to avoid overflowing debug buffers * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 Apply 0.1ttn4 patch from Thien-Thi Nguyen * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-4 Don't eval state-name in define-state and define-enter-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-5 Fix previous change * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-6 Apply patches I forgot about * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-7 Add fsm-get-state * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-8 fsm-get-state should really be fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-9 Add edebug declarations * mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-10 Catch and report errors in enter functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--base-0 tag of mange@freemail.hu--2005/emacs-jabber--fsm--0--patch-3 * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-1 Start ewocizing roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-2 Use jabber-roster-update in jabber-process-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-3 Merge from CVS * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-4 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-5 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-6 Use jabber-roster-update in jabber-presence-update-roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-7 Remove unused *xmlq* variable * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-8 Merge fsm change * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-9 Start converting jabber-core and jabber-conn to fsm style * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-10 Further hacking * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-11 Rough hacking at legacy authentication and IQ handling * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-12 Rough hacking at SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-13 Remove some obsolete variables and functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-14 Resource binding, session establishing; refactor roster retrieval * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-15 Remove some jabber-conn global variables. Fix or comment out dependent code. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-16 Add missing parenthesis * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-17 Add fsm-get-state-data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-18 Add :connection to state-data in proper time * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-19 Fix remaining references to global variables * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-20 Fix filter events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-21 Fix various mismatched argument lists * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-22 Surface fixes to jabber-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-23 Merge FSM changes * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-24 Rename jabber-post-connect-hook to jabber-post-connect-hooks * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-25 Merge from CVS (except patch-266) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-26 Support STARTTLS (almost) * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-27 Fix SASL authentication * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-28 Typo: s/hook/hooks/ * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-29 Forget SASL data when not needed * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-30 Store username, server and resource in state data * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-31 Remember which account to use in each chat buffer * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-32 Update signature of jabber-muc-process-message * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-33 Update signature of jabber-vcard-avatars-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-34 Handle roster * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-35 Add missing parenthesis in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-36 Use header for roster ewoc * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-37 Remove trailing newline in jabber-resource-line-format * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-38 Properly update roster display * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-39 Fix double-connect check in jabber-connect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-40 Fix jabber-disconnect * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-41 Ignore resource when checking whether already connected * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-42 Set jabber-account text proporty, and use it in jabber-read-account * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-43 Add connection argument to commands in jabber-disco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-44 Adapt jabber-process-data, jabber-process-disco-{info,items} * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-45 Adapt jabber-version * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-46 Adapt jabber-browse * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-47 Adapt various jabber-presence functions * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-48 Use separate process buffers for different accounts * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-49 Include account property in roster. Fix jabber-chat-with-jid-at-point. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-50 Add jabber-concat-rosters. Use it in jabber-read-jid-completing. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-51 Adapt jabber-report-success * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-52 Adapt jabber-vcard * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-53 Adapt jabber-newdisco * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-54 Start adapting MUC * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-55 Adapt jabber-muc-process-presence and caller * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-56 Fix interactive use of jabber-send-default-presence * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-57 Handle sentinel events in :session-established state * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-58 Support selecting account interactively in jabber-connect. * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-59 Adapt jabber-events * mange@freemail.hu--2005/emacs-jabber--multi-account--0--patch-60 Adapt jabber-history
2007-02-05 21:59:02 +00:00
(jabber-send-iq jc to
2004-02-25 21:42:02 +00:00
"get"
(list 'query (append (list (cons 'xmlns "http://jabber.org/protocol/disco#info"))
(if (> (length node) 0)
(list (cons 'node node)))))
#'jabber-process-data #'jabber-process-disco-info
#'jabber-process-data "Info discovery failed"))
(provide 'jabber-disco)
2004-04-15 23:15:21 +00:00
;;; arch-tag: 71f5c76f-2956-4ed2-b871-9f5fe198092d