
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
^,                 @   s6   d dl Z ddlmZ ddlmZ G dd deeZdS )    N   )MatchContext)PolicyQueryc                   sF   e Zd ZdZdZedd Zejdd Z fddZdd	 Z	  Z
S )
PcideviceconQuerya  
    Pcidevicecon context query.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    device          A single PCI device ID.

    user            The criteria to match the context's user.
    user_regex      If true, regular expression matching
                    will be used on the user.

    role            The criteria to match the context's role.
    role_regex      If true, regular expression matching
                    will be used on the role.

    type_           The criteria to match the context's type.
    type_regex      If true, regular expression matching
                    will be used on the type.

    range_          The criteria to match the context's range.
    range_subset    If true, the criteria will match if it is a subset
                    of the context's range.
    range_overlap   If true, the criteria will match if it overlaps
                    any of the context's range.
    range_superset  If true, the criteria will match if it is a superset
                    of the context's range.
    range_proper    If true, use proper superset/subset operations.
                    No effect if not using set operations.
    Nc             C   s   | j S )N)_device)self r   )/usr/lib64/python3.6/pcideviceconquery.pydevice=   s    zPcideviceconQuery.devicec             C   s,   |r"|dk rt dj||| _nd | _d S )Nr   z#PCI device ID must be positive: {0})
ValueErrorformatr   )r   valuer   r   r	   r
   A   s
    c                s$   t t| j|f| tjt| _d S )N)superr   __init__loggingZ	getLogger__name__log)r   policykwargs)	__class__r   r	   r   K   s    zPcideviceconQuery.__init__c             c   sp   | j jdj|  | j jdj|  | j| j  x:| jj D ],}| jrT| j|jkrTq<| j|j	sbq<|V  q<W dS )z2Generator which yields all matching pcidevicecons.z"Generating results from {0.policy}zDevice ID: {0.device!r}N)
r   infor   debugZ_match_context_debugr   Zpcideviceconsr
   Z_match_contextcontext)r   Zpcideviceconr   r   r	   resultsO   s    zPcideviceconQuery.results)r   
__module____qualname____doc__r   propertyr
   setterr   r   __classcell__r   r   )r   r	   r      s    
r   )r   Zmixinsr   Zqueryr   r   r   r   r   r	   <module>   s   