HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/lib/python3/dist-packages/twisted/words/im/__pycache__/interfaces.cpython-38.pyc
U


W[�!�@s�dZddlmZmZGdd�de�ZGdd�de�ZGdd�de�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�Z	Gdd�de�Z
dS)z
Pan-protocol chat client.
�)�	Interface�	Attributec@sPeZdZdZed�Zed�Zdd�Zdd�Zdd	�Z	d
d�Z
dd
�Zdd�ZdS)�IAccountz;
    I represent a user's account with a chat service.
    z<The L{IClient} currently connecting to this account, if any.z;A C{str} that identifies the protocol used by this account.cCsdS)a
        @type accountName: string
        @param accountName: A name to refer to the account by locally.
        @type autoLogin: boolean
        @type username: string
        @type password: string
        @type host: string
        @type port: integer
        N�)ZaccountNameZ	autoLoginZusernameZpasswordZhostZportrr�=/usr/lib/python3/dist-packages/twisted/words/im/interfaces.py�__init__szIAccount.__init__cCsdS)z7
        Am I online?

        @rtype: boolean
        Nrrrrr�isOnline(szIAccount.isOnlinecCsdS)z�
        Go on-line.

        @type chatui: Implementor of C{IChatUI}

        @rtype: L{Deferred} with an eventual L{IClient} result.
        Nr)�chatuirrr�logOn/szIAccount.logOncCsdS)z
        Sign off.
        Nrrrrr�logOff8szIAccount.logOffcCsdS)z*
        @rtype: L{Group<IGroup>}
        Nr�Z	groupNamerrr�getGroup=szIAccount.getGroupcCsdS)z,
        @rtype: L{Person<IPerson>}
        Nr)Z
personNamerrr�	getPersonBszIAccount.getPersonN)
�__name__�
__module__�__qualname__�__doc__r�clientZgatewayTyperrr
rr
rrrrrrs	rc@s>eZdZed�Zdd�Zdd�Zdd�Zdd	d
�Zdd�Z	d
S)�IClientz!The L{IAccount} I am a Client forcCsdS)z�
        @type account: L{IAccount}
        @type chatui: L{IChatUI}
        @param logonDeferred: Will be called back once I am logged on.
        @type logonDeferred: L{Deferred<twisted.internet.defer.Deferred>}
        Nr)�accountr	Z
logonDeferredrrrrMszIClient.__init__cCsdS)zb
        @param groupName: The name of the group to join.
        @type groupName: string
        Nrrrrr�	joinGroupUszIClient.joinGroupcCsdS)zc
        @param groupName: The name of the group to leave.
        @type groupName: string
        Nrrrrr�
leaveGroup[szIClient.leaveGrouprcCsdS�Nr)�name�hiderrr�getGroupConversationaszIClient.getGroupConversationcCsdSrr)rrrrreszIClient.getPersonN)r)
rrrrrrrrrrrrrrrIs
rc@s6eZdZdd�Zdd�Zdd�Zdd�Zdd
d�Zd	S)
�IPersoncCsdS)z�
        Initialize me.

        @param name: My name, as the server knows me.
        @type name: string
        @param account: The account I am accessed through.
        @type account: I{Account}
        Nr�rrrrrrlszIPerson.__init__cCsdS)zA
        Am I online right now?

        @rtype: boolean
        NrrrrrrwszIPerson.isOnlinecCsdS)zS
        What is my on-line status?

        @return: L{locals.StatusEnum}
        Nrrrrr�	getStatusszIPerson.getStatuscCsdS)z;
        @rtype: string (XXX: How about a scalar?)
        Nrrrrr�getIdleTime�szIPerson.getIdleTimeNcCsdS)zi
        Send a message to this person.

        @type text: string
        @type metadata: dict
        Nr��text�metadatarrr�sendMessage�szIPerson.sendMessage)N)rrrrrrrr#rrrrrjs
rc@sJeZdZdZed�Zed�Zdd�Zdd�Zdd	d
�Z	dd�Z
d
d�ZdS)�IGroupz�
    A group which you may have a conversation with.

    Groups generally have a loosely-defined set of members, who may
    leave and join at any time.
    z'My C{str} name, as the server knows me.z/The L{Account<IAccount>} I am accessed through.cCsdS)z�
        Initialize me.

        @param name: My name, as the server knows me.
        @type name: str
        @param account: The account I am accessed through.
        @type account: L{Account<IAccount>}
        Nrrrrrr�szIGroup.__init__cCsdS)zR
        Set this Groups topic on the server.

        @type text: string
        Nr)r!rrr�setTopic�szIGroup.setTopicNcCsdS)a
        Send a message to this group.

        @type text: str

        @type metadata: dict
        @param metadata: Valid keys for this dictionary include:

            - C{'style'}: associated with one of:
                - C{'emote'}: indicates this is an action
        Nrr rrr�sendGroupMessage�szIGroup.sendGroupMessagecCsdS)z"
        Join this group.
        Nrrrrr�join�szIGroup.joincCsdS)z$
        Depart this group.
        Nrrrrr�leave�szIGroup.leave)N)rrrrrrrrr%r&r'r(rrrrr$�s
r$c@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�
IConversationz0
    A conversation with a specific person.
    cCsdS)z*
        @type person: L{IPerson}
        Nr)�personr	rrrr�szIConversation.__init__cCsdS�zA
        doesn't seem like it belongs in this interface.
        Nrrrrr�show�szIConversation.showcCsdS�z#
        nor this neither.
        Nrrrrrr�szIConversation.hidecCsdSrrr rrr�sendText�szIConversation.sendTextcCsdSrrr rrr�showMessage�szIConversation.showMessagecCsdS)zR
        @param person: XXX Shouldn't this always be Conversation.person?
        Nr)r*�newnickrrr�changedNick�szIConversation.changedNickN)
rrrrrr,rr.r/r1rrrrr)�sr)c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�IGroupConversationcCsdSr+rrrrrr,�szIGroupConversation.showcCsdSr-rrrrrr�szIGroupConversation.hidecCsdSrrr rrrr.szIGroupConversation.sendTextcCsdSrr)Zsenderr!r"rrr�showGroupMessagesz#IGroupConversation.showGroupMessagecCsdS)zT
        Sets the list of members in the group and displays it to the user.
        Nr)�membersrrr�setGroupMemberssz"IGroupConversation.setGroupMemberscCsdS)z�
        Displays the topic (from the server) for the group conversation window.

        @type topic: string
        @type author: string (XXX: Not Person?)
        Nr)ZtopicZauthorrrrr%szIGroupConversation.setTopiccCsdS)z�
        Adds the given member to the list of members in the group conversation
        and displays this to the user,

        @type member: string (XXX: Not Person?)
        Nr��memberrrr�memberJoinedszIGroupConversation.memberJoinedcCsdS)z�
        Changes the oldnick in the list of members to C{newnick} and displays this
        change to the user,

        @type oldnick: string (XXX: Not Person?)
        @type newnick: string
        Nr�Zoldnickr0rrr�memberChangedNick$sz$IGroupConversation.memberChangedNickcCsdS)z�
        Deletes the given member from the list of members in the group
        conversation and displays the change to the user.

        @type member: string (XXX: Not Person?)
        Nrr6rrr�
memberLeft.szIGroupConversation.memberLeftN)rrrr,rr.r3r5r%r8r:r;rrrrr2�s		
r2c@sPeZdZdd�Zdd�Zdd�Zddd	�Zdd
d�Zdd
�Zdd�Z	dd�Z
dS)�IChatUIcCsdS)zp
        Notifies user that an account has been signed on to.

        @type client: L{Client<IClient>}
        Nr�rrrr�registerAccountClient:szIChatUI.registerAccountClientcCsdS)z~
        Notifies user that an account has been signed off or disconnected.

        @type client: L{Client<IClient>}
        Nrr=rrr�unregisterAccountClientBszIChatUI.unregisterAccountClientcCsdS)z)
        @rtype: L{ContactsList}
        Nrrrrr�getContactsListJszIChatUI.getContactsListrcCsdS)aT
        For the given person object, returns the conversation window
        or creates and returns a new conversation window if one does not exist.

        @type person: L{Person<IPerson>}
        @type Class: L{Conversation<IConversation>} class
        @type stayHidden: boolean

        @rtype: L{Conversation<IConversation>}
        Nr)r*�Class�
stayHiddenrrr�getConversationRszIChatUI.getConversationcCsdS)a�
        For the given group object, returns the group conversation window or
        creates and returns a new group conversation window if it doesn't exist.

        @type group: L{Group<interfaces.IGroup>}
        @type Class: L{Conversation<interfaces.IConversation>} class
        @type stayHidden: boolean

        @rtype: L{GroupConversation<interfaces.IGroupConversation>}
        Nr)�grouprArBrrrr_szIChatUI.getGroupConversationcCsdS)z�
        Get a Person for a client.

        Duplicates L{IAccount.getPerson}.

        @type name: string
        @type client: L{Client<IClient>}

        @rtype: L{Person<IPerson>}
        Nr�rrrrrrlszIChatUI.getPersoncCsdS)z�
        Get a Group for a client.

        Duplicates L{IAccount.getGroup}.

        @type name: string
        @type client: L{Client<IClient>}

        @rtype: L{Group<IGroup>}
        NrrErrrr
yszIChatUI.getGroupcCsdS)z�
        For the given person, changes the person's name to newnick, and
        tells the contact list and any conversation windows with that person
        to change as well.

        @type oldnick: string
        @type newnick: string
        Nrr9rrr�contactChangedNick�szIChatUI.contactChangedNickN)r)r)rrrr>r?r@rCrrr
rFrrrrr<8s




r<N)rZzope.interfacerrrrrr$r)r2r<rrrr�<module>s4!-9&B