Current File : //lib/python3/dist-packages/twisted/words/protocols/jabber/__pycache__/component.cpython-312.pyc |
�
Ϫ�fj; � � � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
mZmZm
Z
ddlmZ ddlmZ d Zd
� Z G d� d� Z G d
� de
j, � Z G d� de
j0 � Z eej4 � G d� dej6 � � Z G d� dej8 � Zd� Z G d� d� Z G d� de
j@ � Z!y)a�
External server-side components.
Most Jabber server implementations allow for add-on components that act as a
separate entity on the Jabber network, but use the server-to-server
functionality of a regular Jabber IM server. These so-called 'external
components' are connected to the Jabber server using the Jabber Component
Protocol as defined in U{JEP-0114<http://www.jabber.org/jeps/jep-0114.html>}.
This module allows for writing external server-side component by assigning one
or more services implementing L{ijabber.IService} up to L{ServiceManager}. The
ServiceManager connects to the Jabber server and is responsible for the
corresponding XML stream.
� )�implementer)�service)�defer)�log)�error�ijabber� jstrports� xmlstream)� internJID)�domishzjabber:component:acceptc �D � t | |� }t j |� S )z�
XML stream factory for external server-side components.
@param componentid: JID of the component.
@type componentid: L{unicode}
@param password: password used to authenticate to the server.
@type password: C{str}
)�ConnectComponentAuthenticatorr
�XmlStreamFactory)�componentid�password�as �J/usr/lib/python3/dist-packages/twisted/words/protocols/jabber/component.py�componentFactoryr ! s! � � &�k�8�<�A��%�%�a�(�(� c �"