File: //lib/python3/dist-packages/twisted/words/__pycache__/iwords.cpython-310.pyc
o
�b�! � @ sl d dl mZmZ G dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG d
d� de�Zg d�Zd
S )� )� Attribute� Interfacec @ s e Zd ZdZed�Zdd� ZdS )�IProtocolPluginz?Interface for plugins providing an interface to a Words servicezHA single word describing what kind of interface this is (eg, irc or web)c C � dS )ab Retrieve a C{twisted.internet.interfaces.IServerFactory} provider
@param realm: An object providing C{twisted.cred.portal.IRealm} and
L{IChatService}, with which service information should be looked up.
@param portal: An object providing C{twisted.cred.portal.IPortal},
through which logins should be performed.
N� )�realm�portalr r �6/usr/lib/python3/dist-packages/twisted/words/iwords.py�
getFactory � zIProtocolPlugin.getFactoryN)�__name__�
__module__�__qualname__�__doc__r �namer
r r r r r s �r c @ sF e Zd Zed�Zdd� Zddd�Zdd� Zd d
� Zdd� Z d
d� Z
dS )�IGroupz$A short string, unique among groups.c C r )zLInclude the given user in this group.
@type user: L{IUser}
Nr )�userr r r �add r z
IGroup.addNc C r )znRemove the given user from this group.
@type user: L{IUser}
@type reason: C{unicode}
Nr )r �reasonr r r �remove# r z
IGroup.removec C r )z�Return the number of participants in this group.
@rtype: L{twisted.internet.defer.Deferred}
@return: A Deferred which fires with an C{int} representing the
number of participants in this group.
Nr r r r r �size* r zIGroup.sizec C r )aY
Broadcast the given message from the given sender to other
users in group.
The message is not re-transmitted to the sender.
@param sender: L{IUser}
@type recipient: L{IGroup}
@param recipient: This is probably a wart. Maybe it will be removed
in the future. For now, it should be the group object the message
is being delivered to.
@param message: C{dict}
@rtype: L{twisted.internet.defer.Deferred}
@return: A Deferred which fires with None when delivery has been
attempted for all users.
Nr ��sender� recipient�messager r r �receive2 r zIGroup.receivec C r )zUChange the metadata associated with this group.
@type meta: C{dict}
Nr )�metar r r �setMetadataG r zIGroup.setMetadatac C r )z.Return an iterator of all users in this group.Nr r r r r � iterusersM r zIGroup.iterusers�N)r r
r r r r r r r r r r r r r r s
r c @ s: e Zd ZdZed�Zdd� Zdd� Zdd� Zdd
d�Z d S )
�IChatClientz<Interface through which IChatService interacts with clients.z[A short string, unique among users. This will be set by the L{IChatService} at login time.c C r )a^
Callback notifying this user of the given message sent by the
given user.
This will be invoked whenever another user sends a message to a
group this user is participating in, or whenever another user sends
a message directly to this user. In the former case, C{recipient}
will be the group to which the message was sent; in the latter, it
will be the same object as the user who is receiving the message.
@type sender: L{IUser}
@type recipient: L{IUser} or L{IGroup}
@type message: C{dict}
@rtype: L{twisted.internet.defer.Deferred}
@return: A Deferred which fires when the message has been delivered,
or which fails in some way. If the Deferred fails and the message
was directed at a group, this user will be removed from that group.
Nr r r r r r X r zIChatClient.receivec C r )z�
Callback notifying this user that the metadata for the given
group has changed.
@type group: L{IGroup}
@type meta: C{dict}
@rtype: L{twisted.internet.defer.Deferred}
Nr )�groupr r r r �groupMetaUpdatem r zIChatClient.groupMetaUpdatec C r )z�
Callback notifying this user that the given user has joined
the given group.
@type group: L{IGroup}
@type user: L{IUser}
@rtype: L{twisted.internet.defer.Deferred}
Nr )r! r r r r �
userJoinedx r zIChatClient.userJoinedNc C r )a
Callback notifying this user that the given user has left the
given group for the given reason.
@type group: L{IGroup}
@type user: L{IUser}
@type reason: C{unicode}
@rtype: L{twisted.internet.defer.Deferred}
Nr )r! r r r r r �userLeft� r zIChatClient.userLeftr )
r r
r r r r r r"