o
    h                     @   s\   d dl Z d dlZd dlZd dlmZmZ d dlmZm	Z	 G dd deZ
G dd deZdS )    N)ABCabstractmethod)DictAnyc                   @   s   e Zd ZdZedeeef defddZedede	fddZ
edede	fd	d
Zedede	fddZededefddZedeeef fddZdS )DriverPluginu"   
    驱动插件抽象基类
    
env_configreturnc                 C      dS )uf   
        创建仿真环境
        :param env_config: 环境配置
        :return: 环境ID
        N )selfr   r
   r
   /root/ive/plugins/__init__.pycreate_environment      zDriverPlugin.create_environmentenv_idc                 C   r	   )ub   
        启动仿真环境
        :param env_id: 环境ID
        :return: 是否成功
        Nr
   r   r   r
   r
   r   start_environment   r   zDriverPlugin.start_environmentc                 C   r	   )ub   
        停止仿真环境
        :param env_id: 环境ID
        :return: 是否成功
        Nr
   r   r
   r
   r   stop_environment    r   zDriverPlugin.stop_environmentc                 C   r	   )ub   
        删除仿真环境
        :param env_id: 环境ID
        :return: 是否成功
        Nr
   r   r
   r
   r   delete_environment)   r   zDriverPlugin.delete_environmentc                 C   r	   )u   
        获取仿真环境状态
        :param env_id: 环境ID
        :return: 状态 (e.g., 'running', 'stopped', 'error')
        Nr
   r   r
   r
   r   get_environment_status2   r   z#DriverPlugin.get_environment_statusc                 C   r	   )uH   
        列出所有仿真环境
        :return: 环境列表
        Nr
   r   r
   r
   r   list_environments;      zDriverPlugin.list_environmentsN)__name__
__module____qualname____doc__r   r   strr   r   boolr   r   r   r   r   r
   r
   r
   r   r   	   s    r   c                   @   sH   e Zd ZdZedeeef deeef fddZedefddZ	dS )	CountermeasurePluginu(   
    反制动作插件抽象基类
    contextr   c                 C   r	   )u   
        执行反制动作
        :param context: 上下文信息，包含请求信息、环境信息等
        :return: 执行结果
        Nr
   )r   r   r
   r
   r   executeJ   r   zCountermeasurePlugin.executec                 C   r	   )uH   
        获取反制动作描述
        :return: 描述信息
        Nr
   r   r
   r
   r   get_descriptionS   r   z$CountermeasurePlugin.get_descriptionN)
r   r   r   r   r   r   r   r   r    r!   r
   r
   r
   r   r   E   s    $r   )ossysimportlib.util	importlibabcr   r   typingr   r   r   r   r
   r
   r
   r   <module>   s    <