Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the cl-xmpp Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 15:30:06 2021 GMT+0.
• Introduction | What cl-xmpp is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
This is a Common Lisp implementation of the XMPP RFCs. Please see http://common-lisp.net/project/cl-xmpp for more information. Example: * (require :cl-xmpp) * (defvar *connection* (xmpp:connect :hostname "jabber.org")) ;; or xmpp:connect-tls if you loaded cl-xmpp-tls ;; note that for XMPP servers which do not have the same hostname ;; as the domain-part of the user's JID you will have to pass that ;; in. eg for Google Talk: ;; (defvar *connection* (xmpp:connect-tls :hostname "talk.google.com" :jid-domain-part "gmail.com")) * (xmpp:auth *connection* "username" "password" "resource") ;; or pass :mechanism :sasl-plain, :digest-md5 or sasl-digest-md5 ;; if you loaded cl-xmpp-sasl or cl-xmpp-tls. ;; send someone a message * (xmpp:message *connection* "username@hostname" "what's going on?") ;; then sit back and watch the messages roll in: * (xmpp:receive-stanza-loop *connection*)[....] ;; or use xmpp:receive-stanza if you're just wanting one stanza ;; (note it will still block until you have received a complete ;; stanza) ;; That's it. Interrupt the loop to issue other commands, eg: * (xmpp:get-roster *connection*) ;; or any of the other ones you may find by looking through cl-xmpp.lisp ;; and package.lisp to see which ones are exported. ;; If you wish to handle the incoming messages or other objects simply ;; specify an xmpp:handle method for the objects you are interested in ;; or (defmethod xmpp:handle (connection object) ...) to get them ;; all. Or alternatively specify :dom-repr t to receive-stanza-loop ;; to get DOM-ish objects. ;; For example, if you wanted to create an annoying reply bot: * (defmethod xmpp:handle ((connection xmpp:connection) (message xmpp:message)) (xmpp:message connection (xmpp:from message) (format nil "reply to: ~a" (xmpp:message object))))
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The cl-xmpp system |
Erik Enge
MIT
Common Lisp XMPP client implementation
cl-xmpp.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
• The cl-xmpp.asd file | ||
• The cl-xmpp/package.lisp file | ||
• The cl-xmpp/variable.lisp file | ||
• The cl-xmpp/utility.lisp file | ||
• The cl-xmpp/result.lisp file | ||
• The cl-xmpp/cl-xmpp.lisp file |
Next: The cl-xmpp/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
cl-xmpp.asd
cl-xmpp (system)
Next: The cl-xmpp/variable․lisp file, Previous: The cl-xmpp․asd file, Up: Lisp files [Contents][Index]
Next: The cl-xmpp/utility․lisp file, Previous: The cl-xmpp/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
cl-xmpp (system)
variable.lisp
Next: The cl-xmpp/result․lisp file, Previous: The cl-xmpp/variable․lisp file, Up: Lisp files [Contents][Index]
variable.lisp (file)
cl-xmpp (system)
utility.lisp
Next: The cl-xmpp/cl-xmpp․lisp file, Previous: The cl-xmpp/utility․lisp file, Up: Lisp files [Contents][Index]
utility.lisp (file)
cl-xmpp (system)
result.lisp
Previous: The cl-xmpp/result․lisp file, Up: Lisp files [Contents][Index]
result.lisp (file)
cl-xmpp (system)
cl-xmpp.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The cl-xmpp-system package | ||
• The cl-xmpp package |
Next: The cl-xmpp package, Previous: Packages, Up: Packages [Contents][Index]
cl-xmpp.asd
Previous: The cl-xmpp-system package, Up: Packages [Contents][Index]
package.lisp (file)
xmpp
common-lisp
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported macros | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported classes |
Next: Exported macros, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
A character stream, or nil
variable.lisp (file)
variable.lisp (file)
variable.lisp (file)
Next: Exported functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
Macro to make it easier to write IQ stanzas.
cl-xmpp.lisp (file)
Macro to make it easier to write QUERYs.
cl-xmpp.lisp (file)
Next: Exported generic functions, Previous: Exported macros, Up: Exported definitions [Contents][Index]
Open TCP connection to hostname.
By default this will set up the complete XML stream and receive the initial
two stanzas (which would typically be stream:stream and stream:features)
to make sure the connection object is fully loaded with the features,
mechanisms and stream-id. If this is causing a problem for you just
specify :receive-stanzas nil.
Using the same idea, you can disable the calling to begin-xml-stream.
Some XMPP server’s addresses are not the same as the domain part of
the JID (eg. talk.google.com vs gmail.com) so we provide the option of
passing that in here. Could perhaps be taken care of by the library
but I’m trying not to optimize too early plus if you are going to
do in-band registration (JEP0077) then you don’t have a JID until
after you’ve connected.
cl-xmpp.lisp (file)
Next: Exported classes, Previous: Exported functions, Up: Exported definitions [Contents][Index]
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
If bind-et-al is T this operator will bind, create a session and call presence on your behalf if the authentication was successful.
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
Begin XML stream. This should be the first thing to happen on a newly connected connection.
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
Returns t if ‘connection’ is connected to a server and is ready for input.
cl-xmpp.lisp (file)
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
cl-xmpp.lisp (file)
Disconnect TCP connection.
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
Closes the XML stream. At this point you’d have to call BEGIN-XML-STREAM if you wished to communicate with the server again.
cl-xmpp.lisp (file)
See if connection has a specific feature.
Eg. (has-feature *my-connection* :starttls)
Returns the xml-element representing the feature if it is present, nil otherwise.
cl-xmpp.lisp (file)
Checks if feature is required. Three possible outcomes
t - feature is supported and required
nil - feature is support but not required
:not-supported - feature is not supported
cl-xmpp.lisp (file)
List of xml-element objects representing
the various features the host at the other end of the connection
supports.
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
result.lisp (file)
result.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
cl-xmpp.lisp (file)
automatically generated writer method
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
cl-xmpp.lisp (file)
List of xml-element objects representing
the various mechainsms the host at the other end of the connection
will accept.
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
Attaching CXML DOM node here but please
do not rely on it beyond introspection. If you find yourself
in need of getting data from it stick it somewhere in the
cl-xmpp-created data and access it that way instead.
result.lisp (file)
automatically generated reader method
cl-xmpp.lisp (file)
automatically generated writer method
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
Returns one stanza. Hangs until one is received.
cl-xmpp.lisp (file)
Reads from connection’s stream and parses the XML received on-the-go. As soon as it has a complete element it calls the stanza-callback (which by default eventually dispatches to HANDLE).
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
cl-xmpp.lisp (file)
automatically generated writer method
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
cl-xmpp.lisp (file)
automatically generated writer method
cl-xmpp.lisp (file)
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
A TCP connection between this XMPP client and
an, assumed, XMPP compliant server. The connection does not
know whether or not the XML stream has been initiated nor whether
there may be any reply waiting to be read from the stream. These
details are left to the programmer.
cl-xmpp.lisp (file)
standard-object (class)
:server-stream
server-stream (generic function)
(setf server-stream) (generic function)
server-source (generic function)
(setf server-source) (generic function)
Stream ID attribute of the <stream>
element as gotten when we call BEGIN-XML-STREAM.
:stream-id
stream-id (generic function)
(setf stream-id) (generic function)
List of xml-element objects representing
the various features the host at the other end of the connection
supports.
:features
features (generic function)
(setf features) (generic function)
List of xml-element objects representing
the various mechainsms the host at the other end of the connection
will accept.
:mechanisms
mechanisms (generic function)
(setf mechanisms) (generic function)
:jid-domain-part
jid-domain-part (generic function)
(setf jid-domain-part) (generic function)
:username
username (generic function)
(setf username) (generic function)
:hostname
cl-xmpp:*default-hostname*
hostname (generic function)
(setf hostname) (generic function)
:port
cl-xmpp::*default-port*
port (generic function)
(setf port) (generic function)
result.lisp (file)
event (class)
:identities
identities (generic function)
(setf identities) (generic function)
result.lisp (file)
disco (class)
:features
features (generic function)
(setf features) (generic function)
result.lisp (file)
disco (class)
:items
items (generic function)
(setf items) (generic function)
result.lisp (file)
standard-object (class)
:xml-element
xml-element (generic function)
(setf xml-element) (generic function)
result.lisp (file)
event (class)
:category
category (generic function)
(setf category) (generic function)
:type-
type- (generic function)
(setf type-) (generic function)
:name
name (generic function)
(setf name) (generic function)
result.lisp (file)
event (class)
:jid
jid (generic function)
(setf jid) (generic function)
:name
name (generic function)
(setf name) (generic function)
:node
node (generic function)
(setf node) (generic function)
result.lisp (file)
event (class)
:from
from (generic function)
(setf from) (generic function)
:body
""
body (generic function)
(setf body) (generic function)
:type
type- (generic function)
(setf type-) (generic function)
result.lisp (file)
event (class)
:from
from (generic function)
(setf from) (generic function)
:show
show (generic function)
(setf show) (generic function)
:type-
type- (generic function)
(setf type-) (generic function)
result.lisp (file)
event (class)
:items
items (generic function)
(setf items) (generic function)
result.lisp (file)
standard-object (class)
:name
name (generic function)
(setf name) (generic function)
:value
value (generic function)
(setf value) (generic function)
:node
node (generic function)
(setf node) (generic function)
result.lisp (file)
standard-object (class)
:name
name (generic function)
(setf name) (generic function)
Attaching CXML DOM node here but please
do not rely on it beyond introspection. If you find yourself
in need of getting data from it stick it somewhere in the
cl-xmpp-created data and access it that way instead.
:node
node (generic function)
(setf node) (generic function)
:attributes
attributes (generic function)
(setf attributes) (generic function)
:data
data (generic function)
(setf data) (generic function)
:elements
elements (generic function)
(setf elements) (generic function)
result.lisp (file)
event (class)
:code
code (generic function)
(setf code) (generic function)
:name
name (generic function)
(setf name) (generic function)
result.lisp (file)
xmpp-protocol-error (class)
result.lisp (file)
xmpp-protocol-error (class)
result.lisp (file)
xmpp-protocol-error (class)
result.lisp (file)
xmpp-protocol-error (class)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal classes |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
Alist of method name to operator.
Operators must accept the following operands:
connection username password resource
variable.lisp (file)
variable.lisp (file)
Next: Internal functions, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
utility.lisp (file)
cl-xmpp.lisp (file)
Helper macro to make it easy to control outputting XML to the debug stream. It’s not strictly /with/ xml-stream so it should probably be renamed.
cl-xmpp.lisp (file)
Next: Internal generic functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
utility.lisp (file)
utility.lisp (file)
utility.lisp (file)
Makes a keyword except when it gets nil it just returns nil.
utility.lisp (file)
utility.lisp (file)
utility.lisp (file)
result.lisp (file)
result.lisp (file)
utility.lisp (file)
utility.lisp (file)
result.lisp (file)
cl-xmpp.lisp (file)
utility.lisp (file)
Write string to stream as a sequence of bytes and not characters.
cl-xmpp.lisp (file)
Next: Internal classes, Previous: Internal functions, Up: Internal definitions [Contents][Index]
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
cl-xmpp.lisp (file)
automatically generated writer method
cl-xmpp.lisp (file)
result.lisp (file)
result.lisp (file)
result.lisp (file)
result.lisp (file)
result.lisp (file)
result.lisp (file)
result.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
automatically generated reader method
cl-xmpp.lisp (file)
automatically generated writer method
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
Stream ID attribute of the <stream>
element as gotten when we call BEGIN-XML-STREAM.
cl-xmpp.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
automatically generated reader method
result.lisp (file)
automatically generated writer method
result.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
cl-xmpp.lisp (file)
Previous: Internal generic functions, Up: Internal definitions [Contents][Index]
result.lisp (file)
standard-object (class)
:jid
jid (generic function)
(setf jid) (generic function)
:name
""
name (generic function)
(setf name) (generic function)
:subscription
subscription (generic function)
(setf subscription) (generic function)
result.lisp (file)
event (class)
:var
""
var (generic function)
(setf var) (generic function)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | C F L |
---|
Jump to: | C F L |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | %
(
A B C D E F G H I J L M N P R S T U V W X |
---|
Jump to: | %
(
A B C D E F G H I J L M N P R S T U V W X |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | *
A B C D E F H I J M N P S T U V X |
---|
Jump to: | *
A B C D E F H I J M N P S T U V X |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | C D E F I M P R S X |
---|
Jump to: | C D E F I M P R S X |
---|