o
    e±  ã                   @   s   d dl mZ G dd„ dƒZdS )é    )Úraise_errorc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚInferenceServerClientBasec                 C   s
   d | _ d S )N©Ú_plugin©Úself© r   úDD:\Projects\ConvertPro\env\Lib\site-packages\tritonclient/_client.pyÚ__init__    s   
z"InferenceServerClientBase.__init__c                 C   s   | j dkr|   |¡ dS dS )zRCalled by the subclasses before sending a request to the
        network.
        Nr   )r   Úrequestr   r   r	   Ú_call_plugin#   s   
ÿz&InferenceServerClientBase._call_pluginc                 C   s    | j du r
|| _ dS tdƒ dS )a  Register a Client Plugin.

        Parameters
        ----------
        plugin : InferenceServerClientPlugin
            A client plugin

        Raises
        ------
        InferenceServerException
            If a plugin is already registered.
        NzlA plugin is already registered. Please unregister the previous plugin first before registering a new plugin.©r   r   )r   Úpluginr   r   r	   Úregister_plugin*   s
   

ÿz)InferenceServerClientBase.register_pluginc                 C   s   | j S )z{Retrieve the registered plugin if any.

        Returns
        ------
        InferenceServerClientPlugin or None
        r   r   r   r   r	   r   A   s   z InferenceServerClientBase.pluginc                 C   s   | j du r	tdƒ d| _ dS )z‹Unregister a plugin.

        Raises
        ------
        InferenceServerException
            If no plugin has been registered.
        NzNo plugin has been registered.r   r   r   r   r	   Úunregister_pluginJ   s   

z+InferenceServerClientBase.unregister_pluginN)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r   r	   r      s    	r   N)Ztritonclient.utilsr   r   r   r   r   r	   Ú<module>   s   