File: //usr/lib/python3/dist-packages/twisted/__pycache__/plugin.cpython-310.pyc
o
�b! � @ s< d Z ddlZddlZddlZddlZddlmZmZmZm Z ddl
mZmZ ddl
mZ ddlmZ ddlmZ ddlmZ G d d
� d
e�ZG dd� d�ZG d
d� d�Zdd� ZzejZW n eyk d dd�ZY nw dd� Zdejfdd�Ze ded�Z d dee deej dee fdd�Z e Z!dd� Z"ddgZ#dS )!zL
Plugin system for Twisted.
@author: Jp Calderone
@author: Glyph Lefkowitz
� N)�Iterable�Optional�Type�TypeVar)� Interface�
providedBy)�log)�getAdapterFactory)� getModule)�namedAnyc @ s e Zd ZdZdS )�IPluginz�
Interface that must be implemented by all plugins.
Only objects which implement this interface will be considered for return
by C{getPlugins}. To be useful, plugins should also implement some other
application-specific interface.
N)�__name__�
__module__�__qualname__�__doc__� r r �0/usr/lib/python3/dist-packages/twisted/plugin.pyr s r c @ s8 e Zd Zdd� Zdefdd�Zdd� Zdd d
�ZeZdS )�CachedPluginc C s* || _ || _|| _|| _| j j�| � d S �N)�dropin�name�description�provided�plugins�append)�selfr r r r r r r �__init__'