o
    b                     @   s$   d dl mZmZ G dd deZdS )   )
XMLBuilderXMLPropertyc                   @   s0  e Zd ZdZdZg dZedddZedddZedddZ	ed	Z
ed
ddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedddZedZdd  Zd!S )"DomainFeaturesz-
    Class for generating <features> XML
    features)acpiapicpaegic_versionz./acpiT)is_boolz./apicz./paez./gic/@versionz./hapz
./viridianz	./privnetz./pmu/@state)is_onoffz./apic/@eoiz./hyperv/reset/@statez./hyperv/vapic/@statez./hyperv/relaxed/@statez./hyperv/spinlocks/@statez./hyperv/spinlocks/@retries)is_intz./hyperv/synic/@statez./vmport/@statez./kvm/hidden/@statez./kvm/hint-dedicated/@statez./kvm/poll-control/@statez./pvspinlock/@statez./smm/@statez./vmcoreinfo/@statez./ioapic/@driverc                 C   s  |j  rd | _d | _d | _| r|jdkrd| _d S |j  s#d S |	 }| 
dr2|j | _| 
dr=|j | _| 
dr\|j  rV|jdkrV|j jdkrVd| _n|j | _| r| jj r| jd u rnd| _| jd u rvd| _| jd u r~d| _| jd u rd| _d S d S d S d S )	NvzTr   r   r   xenx86_64i  )osis_containerr   r   r   is_full_os_containertypeprivnetis_hvmlookup_capsinfo_prop_is_unsetguestsupports_acpisupports_apicarchsupports_paehyperv_supportedconnsupportconn_hyperv_vapichyperv_relaxedhyperv_vapichyperv_spinlockshyperv_spinlocks_retries)selfr   capsinfo r'   3/usr/share/virt-manager/virtinst/domain/features.pyset_defaults4   sB   












zDomainFeatures.set_defaultsN)__name__
__module____qualname____doc__XML_NAME_XML_PROP_ORDERr   r   r   r   r	   hapviridianr   pmueoihyperv_resetr"   r!   r#   r$   hyperv_synicvmport
kvm_hiddenkvm_hint_dedicatedkvm_poll_control
pvspinlocksmm
vmcoreinfoioapic_driverr)   r'   r'   r'   r(   r   
   s<    r   N)
xmlbuilderr   r   r   r'   r'   r'   r(   <module>   s   