Skip to content
Back to top
View this page

# XEP-0352: Client State Indication

XEP-0352 on xmpp.org

class slixmpp.plugins.xep_0352.XEP_0352(xmpp, config=None)

  XEP-0352: Client State Indication

  default_config: ClassVar[dict[str, Any]] = {'order': 12000}

    The basic, standard configuration for the plugin, which may be overridden when initializing the plugin. The configuration fields included here may be accessed directly as attributes of the plugin. For example, including the configuration field ‘foo’ would mean accessing plugin.foo returns the current value of plugin.config[‘foo’].

  send_active()

    Send an ‘active’ state

  send_inactive()

    Send an ‘active’ state

## Stanza elements

class slixmpp.plugins.xep_0352.stanza.Active(stream=None, xml=None, stype=None, sto=None, sfrom=None, sid=None, parent=None, recv=False)
  name: ClassVar[str] = 'active'

    The XML tag name of the element, not including any namespace prefixes. For example, an `ElementBase` object for `<message />` would use `name = 'message'`.

  namespace: str = 'urn:xmpp:csi:0'

    The default XMPP client namespace

  plugin_attrib: ClassVar[str] = 'active'

    For `ElementBase` subclasses which are intended to be used as plugins, the `plugin_attrib` value defines the plugin name. Plugins may be accessed by using the `plugin_attrib` value as the interface. An example using `plugin_attrib = 'foo'`:

        register_stanza_plugin(Message, FooPlugin)
        msg = Message()
        msg['foo']['an_interface_from_the_foo_plugin']

  setup(xml)

    Initialize the stanza’s XML contents.

    Will return `True` if XML was generated according to the stanza’s definition instead of building a stanza object from an existing XML object.

    Parameters:

      xml – An existing XML object to use for the stanza’s content instead of generating new XML.

class slixmpp.plugins.xep_0352.stanza.ClientStateIndication(xml=None, parent=None)
  name: ClassVar[str] = 'csi'

    The XML tag name of the element, not including any namespace prefixes. For example, an `ElementBase` object for `<message />` would use `name = 'message'`.

  namespace: str = 'urn:xmpp:csi:0'

    The XML namespace for the element. Given `<foo xmlns="bar" />`, then `namespace = "bar"` should be used. The default namespace is `jabber:client` since this is being used in an XMPP library.

  plugin_attrib: ClassVar[str] = 'csi'

    For `ElementBase` subclasses which are intended to be used as plugins, the `plugin_attrib` value defines the plugin name. Plugins may be accessed by using the `plugin_attrib` value as the interface. An example using `plugin_attrib = 'foo'`:

        register_stanza_plugin(Message, FooPlugin)
        msg = Message()
        msg['foo']['an_interface_from_the_foo_plugin']

class slixmpp.plugins.xep_0352.stanza.Inactive(stream=None, xml=None, stype=None, sto=None, sfrom=None, sid=None, parent=None, recv=False)
  name: ClassVar[str] = 'inactive'

    The XML tag name of the element, not including any namespace prefixes. For example, an `ElementBase` object for `<message />` would use `name = 'message'`.

  namespace: str = 'urn:xmpp:csi:0'

    The default XMPP client namespace

  plugin_attrib: ClassVar[str] = 'inactive'

    For `ElementBase` subclasses which are intended to be used as plugins, the `plugin_attrib` value defines the plugin name. Plugins may be accessed by using the `plugin_attrib` value as the interface. An example using `plugin_attrib = 'foo'`:

        register_stanza_plugin(Message, FooPlugin)
        msg = Message()
        msg['foo']['an_interface_from_the_foo_plugin']

  setup(xml)

    Initialize the stanza’s XML contents.

    Will return `True` if XML was generated according to the stanza’s definition instead of building a stanza object from an existing XML object.

    Parameters:

      xml – An existing XML object to use for the stanza’s content instead of generating new XML.