Module and Class Hierarchies

[show private | hide private]
[frames | no frames]

## Module Hierarchy

- `pyxmpp`: PyXMPP is object-oriented, most of its fetures are implemented via classes, defined in various pyxmpp modules.
  - `all`: Convenience module containing most important objects from pyxmpp package.
  - `cache`: Caching proxy for Jabber/XMPP objects.
  - `client`: Basic XHTML-IM client implementation.
  - `clientstream`: Client stream handling.
  - `error`: XMPP error handling.
  - `expdict`: Dictionary with item expiration.
  - `iq`: Iq XMPP stanza handling
  - `jabber`: JSF defined XMPP extension and legacy Jabber protocol elements
    - `all`: Convenience module containing most important objects from pyxmpp.jabber package.
    - `client`: Basic Jabber client functionality implementation.
    - `clientstream`: XMPP stream support with fallback to legacy non-SASL Jabber authentication.
    - `dataforms`: Jabber Data Forms support.
    - `delay`: Delayed delivery mark (jabber:x:delay) handling.
    - `disco`: Jabber Service Discovery support.
    - `muc`: Jabber Multi-User Chat implementation.
    - `muccore`: Jabber Multi-User Chat implementation.
    - `register`: In-band registration (jabber:iq:register) handling.
    - `simple`: Simple API for simple things like sendig messages or single stanzas.
    - `vcard`: Jabber vCard and MIME (RFC 2426) vCard implementation.
  - `jabberd`: Facilities for jabber server implementation specific features, like components.
    - `all`: Convenience module containing most important objects fr pyxmpp.jabberd package.
    - `component`: Jabberd external component interface (jabber:component:accept).
    - `componentstream`: Component (jabber:component:accept) stream handling.
  - `jid`: jid -- Jabber ID handling
  - `message`: Message XMPP stanza handling
  - `objects`: General base classes for PyXMPP objects.
  - `presence`: Presence XMPP stanza handling
  - `resolver`: DNS resolever with SRV record support.
  - `roster`: XMPP-IM roster handling.
  - `sasl`: SASL authentication implementaion for PyXMPP.
    - `core`: Base classes for PyXMPP SASL implementation.
    - `digest_md5`: DIGEST-MD5 authentication mechanism for PyXMPP SASL implementation.
    - `plain`: PLAIN authentication mechanism for PyXMPP SASL implementation.
  - `stanza`: General XMPP Stanza handling.
  - `stanzaprocessor`: Handling of XMPP stanzas.
  - `stream`: Generic XMPP stream implementation.
  - `streambase`: Core XMPP stream functionality.
  - `streamsasl`: SASL support XMPP streams.
  - `streamtls`: TLS support for XMPP streams.
  - `utils`: Utility functions for the pyxmpp package.
  - `version`
  - `xmlextra`: Extension to libxml2 for XMPP stream and stanza processing
  - `xmppstringprep`: Nodeprep and resourceprep stringprep profiles.

## Class Hierarchy

- `__builtin__.object`: The most base type
  - `pyxmpp.objects.CachedPropertyObject`: Base class for many PyXMPP objects which provides cached attribute access to many object's properites.
    - `pyxmpp.jabber.disco.DiscoIdentity`: An <identity/> element of disco#info reply.
    - `pyxmpp.jabber.disco.DiscoInfo`: A disco#info response object.
    - `pyxmpp.jabber.disco.DiscoItem`: An item of disco#items reply.
    - `pyxmpp.jabber.disco.DiscoItems`: A disco#items response or publish-request object.
  - `pyxmpp.cache.CacheItem`: An item in a cache.
  - `__builtin__.dict`: dict() -> new empty dictionary.
    - `pyxmpp.expdict.ExpiringDictionary`: An extension to standard Python dictionary objects which implements item expiration.
  - `pyxmpp.jabber.muccore.HistoryParameters`: Provides parameters for MUC history management
  - `pyxmpp.jid.JID`: JID.
  - `pyxmpp.jabber.muccore.MucItemBase`: Base class for <status/> and <item/> element wrappers.
    - `pyxmpp.jabber.muccore.MucItem`: MUC <item/> element -- describes a room occupant.
    - `pyxmpp.jabber.muccore.MucStatus`: MUC <item/> element - describes special meaning of a stanza
  - `pyxmpp.objects.StanzaPayloadObject`: Base class for objects that may be used as XMPP stanza payload and don't keep internal XML representation, only parsed values.
    - `pyxmpp.jabber.delay.Delay`: Delayed delivery tag.
    - `pyxmpp.jabber.dataforms.Field`: A data form field.
    - `pyxmpp.jabber.dataforms.Form`: A JEP-0004 compliant data form.
    - `pyxmpp.jabber.dataforms.Item`: An item of multi-item form data (e.g.
    - `pyxmpp.jabber.dataforms.Option`: One of optional data form field values.
    - `pyxmpp.jabber.register.Register`: Delayed delivery tag.
    - `pyxmpp.roster.Roster`: Class representing XMPP-IM roster.
    - `pyxmpp.roster.RosterItem`: Roster item.
    - `pyxmpp.jabber.vcard.VCard`: Jabber (vcard-temp) or RFC2426 vCard.
  - `pyxmpp.objects.StanzaPayloadWrapperObject`: Base class for objects that may be used as XMPP stanza payload and maintain an internal XML representation of self.
    - `pyxmpp.jabber.disco.DiscoIdentity`: An <identity/> element of disco#info reply.
    - `pyxmpp.jabber.disco.DiscoInfo`: A disco#info response object.
    - `pyxmpp.jabber.disco.DiscoItem`: An item of disco#items reply.
    - `pyxmpp.jabber.disco.DiscoItems`: A disco#items response or publish-request object.
    - `pyxmpp.jabber.muccore.MucXBase`: Base class for MUC-specific stanza payload - wrapper around an XML element.
      - `pyxmpp.jabber.muccore.MucOwnerX`: Wrapper for http://www.jabber.org/protocol/muc#owner namespaced stanza payload "x" elements and usually containing information about a room user.
      - `pyxmpp.jabber.muccore.MucUserX`: Wrapper for http://www.jabber.org/protocol/muc#user namespaced stanza payload "x" elements and usually containing information about a room user.
        - `pyxmpp.jabber.muccore.MucAdminQuery`: Wrapper for http://www.jabber.org/protocol/muc#admin namespaced IQ stanza payload "query" elements and usually describing administrative actions or their results.
      - `pyxmpp.jabber.muccore.MucX`: Wrapper for http://www.jabber.org/protocol/muc namespaced stanza payload "x" elements.
  - `__builtin__.type`: type(object) -> the object's type type(name, bases, dict) -> a new type
- `exceptions.Exception`: Common base class for all exceptions.
  - `pyxmpp.jabberd.component.ComponentError`: Raised on component error.
  - `pyxmpp.jabber.vcard.Empty`: Exception raised when parsing empty vcard element.
  - `exceptions.StandardError`: Base class for all standard Python exceptions.
    - `pyxmpp.client.ClientError`: Raised on a client error.
      - `pyxmpp.client.FatalClientError`: Raised on a fatal client error.
    - `pyxmpp.jabber.disco.DiscoError`: Raised on disco related error
    - `exceptions.RuntimeError`: Unspecified run-time error.
      - `pyxmpp.error.ErrorNodeError`: Raised on error with XMPP error handling.
    - `pyxmpp.streambase.StreamError`: Base class for all stream errors.
      - `pyxmpp.clientstream.ClientStreamError`: Raised on a client stream error.
        - `pyxmpp.jabber.clientstream.LegacyAuthenticationError`: Raised on a legacy authentication error.
        - `pyxmpp.jabber.clientstream.RegistrationError`: Raised on a in-band registration error.
      - `pyxmpp.jabberd.componentstream.ComponentStreamError`: Raised on a component error.
        - `pyxmpp.jabberd.componentstream.FatalComponentStreamError`: Raised on a fatal component error.
      - `pyxmpp.streambase.FatalStreamError`: Base class for all fatal Stream exceptions.
        - `pyxmpp.clientstream.FatalClientStreamError`: Raised on a fatal client stream error.
        - `pyxmpp.jabberd.componentstream.FatalComponentStreamError`: Raised on a fatal component error.
        - `pyxmpp.streambase.StreamAuthenticationError`: Raised when stream authentication fails.
          - `pyxmpp.streamsasl.SASLAuthenticationFailed`: Raised when stream SASL authentication fails.
          - `pyxmpp.streamsasl.SASLMechanismNotAvailable`: Raised when none of SASL authentication mechanisms requested is available.
          - `pyxmpp.streamsasl.SASLNotAvailable`: Raised when SASL authentication is requested, but not available.
        - `pyxmpp.streambase.StreamParseError`: Raised when invalid XML is received in an XMPP stream.
        - `pyxmpp.streamtls.TLSError`: Raised on TLS error during stream processing.
        - `pyxmpp.streamtls.TLSNegotiationFailed`: Raised when stream TLS negotiation fails.
      - `pyxmpp.streambase.HostMismatch`: Exception raised when the connected host name is other then requested.
      - `pyxmpp.streambase.StreamEncryptionRequired`: Exception raised when stream encryption is requested, but not used.
    - `pyxmpp.xmlextra.StreamParseError`: Exception raised when invalid XML is being processed.
    - `pyxmpp.xmppstringprep.StringprepError`: Exception raised when string preparation results in error.
    - `exceptions.ValueError`: Inappropriate argument value (of correct type).
      - `pyxmpp.jid.JIDError`: Exception raised when invalid JID is used
      - `pyxmpp.stanza.StanzaError`: Raised on ivalid stanza objects usage.
- `pyxmpp.cache.Cache`: Caching proxy for object retrieval and caching.
- `pyxmpp.cache.CacheFetcher`: Base class for cache object fetchers -- classes responsible for retrieving objects from network.
  - `pyxmpp.jabber.disco.DiscoCacheFetcherBase`: Base class for disco cache fetchers.
- `pyxmpp.cache.CacheSuite`: Caching proxy for object retrieval and caching.
- `pyxmpp.client.Client`: Base class for an XMPP-IM client.
  - `pyxmpp.jabber.client.JabberClient`: Base class for a Jabber client.
- `pyxmpp.error.ErrorNode`: Base class for both XMPP stream and stanza errors
  - `pyxmpp.error.StanzaErrorNode`: Stanza error element.
  - `pyxmpp.error.StreamErrorNode`: Stream error element.
- `pyxmpp.jabber.muc.MucRoomHandler`: Base class for MUC room handlers.
- `pyxmpp.jabber.muc.MucRoomManager`: Manage collection of MucRoomState objects and dispatch events.
- `pyxmpp.jabber.muc.MucRoomState`: Describes the state of a MUC room, handles room events and provides an interface for room actions.
- `pyxmpp.jabber.muc.MucRoomUser`: Describes a user of a MUC room.
- `pyxmpp.jabber.muccore.MucStanzaExt`: Base class for MUC specific stanza extensions.
  - `pyxmpp.jabber.muccore.MucIq`: Extend `Iq` with MUC related interface.
  - `pyxmpp.jabber.muccore.MucPresence`: Extend `Presence` with MUC related interface.
- `pyxmpp.jabber.vcard.VCardField`: Base class for vCard fields.
  - `pyxmpp.jabber.vcard.VCardAdr`: Address vCard field.
  - `pyxmpp.jabber.vcard.VCardCategories`: Categories vCard field.
  - `pyxmpp.jabber.vcard.VCardEmail`: E-mail vCard field.
  - `pyxmpp.jabber.vcard.VCardGeo`: Geographical location vCard field.
  - `pyxmpp.jabber.vcard.VCardImage`: Image vCard field.
  - `pyxmpp.jabber.vcard.VCardJID`: JID vCard field.
  - `pyxmpp.jabber.vcard.VCardKey`: Key vCard field.
  - `pyxmpp.jabber.vcard.VCardLabel`: Address label vCard field.
  - `pyxmpp.jabber.vcard.VCardName`: Name vCard field.
  - `pyxmpp.jabber.vcard.VCardOrg`: Organization vCard field.
  - `pyxmpp.jabber.vcard.VCardPrivacy`: Privacy vCard field.
  - `pyxmpp.jabber.vcard.VCardSound`: Sound vCard field.
  - `pyxmpp.jabber.vcard.VCardString`: Generic class for all standard text fields in the vCard.
    - `pyxmpp.jabber.vcard.VCardXString`: Generic class for all text vCard fields not defined in RFC 2426.
  - `pyxmpp.jabber.vcard.VCardTel`: Telephone vCard field.
- `pyxmpp.jabberd.component.Component`: Jabber external component ("jabber:component:accept" protocol) interface implementation.
- `pyxmpp.sasl.core.ClientAuthenticator`: Base class for client authenticators.
  - `pyxmpp.sasl.digest_md5.DigestMD5ClientAuthenticator`: Provides PLAIN SASL authentication for a client.
  - `pyxmpp.sasl.plain.PlainClientAuthenticator`: Provides PLAIN SASL authentication for a client.
- `pyxmpp.sasl.core.PasswordManager`: Base class for password managers.
  - `pyxmpp.streamsasl.StreamSASLMixIn`: SASL authentication mix-in class for XMPP stream.
    - `pyxmpp.stream.Stream`: Generic XMPP stream class.
      - `pyxmpp.clientstream.ClientStream`: Handles XMPP-IM client connection stream.
        - `pyxmpp.jabber.clientstream.LegacyClientStream`: Handles Jabber (both XMPP and legacy protocol) client connection stream.
      - `pyxmpp.jabberd.componentstream.ComponentStream`: Handles jabberd component (jabber:component:accept) connection stream.
- `pyxmpp.sasl.core.Reply`: Base class for SASL authentication reply objects.
  - `pyxmpp.sasl.core.Challenge`: The challenge SASL message (server's challenge for the client).
  - `pyxmpp.sasl.core.Failure`: The failure SASL message.
  - `pyxmpp.sasl.core.Response`: The response SASL message (clients's reply the the server's challenge).
  - `pyxmpp.sasl.core.Success`: The success SASL message (sent by the server on authentication success).
- `pyxmpp.sasl.core.ServerAuthenticator`: Base class for server authenticators.
  - `pyxmpp.sasl.digest_md5.DigestMD5ServerAuthenticator`: Provides DIGEST-MD5 SASL authentication for a server.
  - `pyxmpp.sasl.plain.PlainServerAuthenticator`: Provides PLAIN SASL authentication for a server.
- `pyxmpp.stanza.Stanza`: Base class for all XMPP stanzas.
  - `pyxmpp.iq.Iq`: Wraper object for <iq /> stanzas.
    - `pyxmpp.jabber.muccore.MucIq`: Extend `Iq` with MUC related interface.
  - `pyxmpp.message.Message`: Wraper object for <message /> stanzas.
  - `pyxmpp.presence.Presence`: Wraper object for <presence /> stanzas.
    - `pyxmpp.jabber.muccore.MucPresence`: Extend `Presence` with MUC related interface.
- `pyxmpp.stanzaprocessor.StanzaProcessor`: Universal stanza handler/router class.
  - `pyxmpp.streambase.StreamBase`: Base class for a generic XMPP stream.
    - `pyxmpp.stream.Stream`: Generic XMPP stream class.
      - `pyxmpp.clientstream.ClientStream`: Handles XMPP-IM client connection stream.
        - `pyxmpp.jabber.clientstream.LegacyClientStream`: Handles Jabber (both XMPP and legacy protocol) client connection stream.
      - `pyxmpp.jabberd.componentstream.ComponentStream`: Handles jabberd component (jabber:component:accept) connection stream.
- `pyxmpp.streamtls.StreamTLSMixIn`: Mix-in class providing TLS support for an XMPP stream.
  - `pyxmpp.stream.Stream`: Generic XMPP stream class.
    - `pyxmpp.clientstream.ClientStream`: Handles XMPP-IM client connection stream.
      - `pyxmpp.jabber.clientstream.LegacyClientStream`: Handles Jabber (both XMPP and legacy protocol) client connection stream.
    - `pyxmpp.jabberd.componentstream.ComponentStream`: Handles jabberd component (jabber:component:accept) connection stream.
- `pyxmpp.streamtls.TLSSettings`: Storage for TLS-related settings of an XMPP stream.
- `pyxmpp.xmlextra.StreamHandler`: Base class for stream handler.
  - `pyxmpp.streambase.StreamBase`: Base class for a generic XMPP stream.
    - `pyxmpp.stream.Stream`: Generic XMPP stream class.
      - `pyxmpp.clientstream.ClientStream`: Handles XMPP-IM client connection stream.
        - `pyxmpp.jabber.clientstream.LegacyClientStream`: Handles Jabber (both XMPP and legacy protocol) client connection stream.
      - `pyxmpp.jabberd.componentstream.ComponentStream`: Handles jabberd component (jabber:component:accept) connection stream.
- `pyxmpp.xmlextra.StreamReader`: A simple push-parser interface for XML streams.
- `pyxmpp.xmppstringprep.LookupFunction`: Class for looking up RFC 3454 tables using function.
- `pyxmpp.xmppstringprep.LookupTable`: Class for looking up RFC 3454 tables using a dictionary and/or list of ranges.
- `pyxmpp.xmppstringprep.Profile`: Base class for stringprep profiles.