+
    h3  c                   s    ^RI HtHtHt  ! R R]4      t ! R R]4      t ! R R]4      t ! R R	]4      t ! R
 R]4      tR# )i   )
XMLBuilderXMLPropertyXMLChildPropertyc                   s*    ] tR t^
tRt]! R4      tRtR# )_InitArgZinitarg. N)__name__
__module____qualname____firstlineno__XML_NAMEr   val__static_attributes__r       -/usr/share/virt-manager/virtinst/domain/os.pyr   r   
   s    H
c
Cr   r   c                   s:    ] tR t^tRt]! R4      t]! R4      tRtR# )_InitEnvZinitenv./@namer   r   N)	r   r   r   r	   r
   r   nameZvaluer   r   r   r   r   r      s    Hy!DEr   r   c                   s*    ] tR t^tRt]! R4      tRtR# )_BootDeviceZbootz./@devr   N)r   r   r   r	   r
   r   devr   r   r   r   r   r      s    H
h
Cr   r   c                   sF    ] tR t^tRtRR.t]! RRR7      t]! R4      tRt	R	# )
_FirmwareFeatureZfeatureenabledr   z
./@enabledTZis_yesnor   r   N)
r   r   r   r	   r
   _XML_PROP_ORDERr   r   r   r   r   r   r   r   r      s'    H &)O,6Gy!Dr   r   c                   s  a  ] tR t^"t o RtRtRtRtRt]]]].t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tRt. R=Ot]! R4      t]! R4      t]! R4      t]! R4      t]! RRR7      t ]! R4      t!]! RRR7      t"]! RRR7      t#R  t$R! t%]&! ]$]%4      t'](! ])4      t*]! R"4      t+](! ],R#R$7      t-]! R%RR&7      t.]! R'4      t/]! R(RR7      t0]! R)RR*7      t1]! R+RR7      t2]! R,RR*7      t3]! R-4      t4]! R.4      t5]! R/RR&7      t6]! R0RR&7      t7]! R14      t8]! R2RR&7      t9]! R3RR&7      t:]! R44      t;]! R54      t<](! ]=4      t>](! ]?4      t@]! R64      tA]! R74      tB]! R84      tCR9 tDR: tER;tFV tGR<# )>DomainOsz.
Class for generating boot device related XML
ZhdZcdromZfdZnetworkc                     V P                   R 8H  # )Zhvmos_typeself   &r   is_hvmZDomainOs.is_hvm2       ||u$$r   c                s     V P                   R9   # )xen)r!   ZlinuxZxenpvhr   r   r   r   is_xenpvZDomainOs.is_xenpv5   s    ||999r   c                r   )Zexer   r   r   r   is_containerZDomainOs.is_container8   r    r   c                N    V P                   R 8H  ;'       g    V P                   R8H  # )Zx86_64Zi686archr   r   r   is_x86ZDomainOs.is_x86;   s"    yyH$;;		V(;;r   c                sx    V P                  4       ;'       d$    V P                  ;'       d    R V P                  9   # )Zq35)r'   machiner   r   r   is_q35ZDomainOs.is_q35>   s+    {{}GGGG%4<<2GGr   c                r   )Zarmv7lr%   r   r   r   is_arm32ZDomainOs.is_arm32A   s    yyH$$r   c                r   )Zaarch64r%   r   r   r   is_arm64ZDomainOs.is_arm64D   s    yyI%%r   c                sR    V P                  4       ;'       g    V P                  4       # N)r*   r+   r   r   r   is_armZDomainOs.is_armG   s    }}11$--/1r   c                z    V P                  4       ;'       d%    \        V P                  4      P                  R 4      # Zvirt)r-   strr(   
startswithr   r   r   is_arm_machvirtZDomainOs.is_arm_machvirtJ   s*    {{}EET\\!2!=!=f!EEr   c                r$   )Zppc64Zppc64ler%   r   r   r   is_ppc64ZDomainOs.is_ppc64M   s"    yyG#==tyyI'==r   c                r.   )Zpseries)r3   r0   r(   r1   r   r   r   
is_pseriesZDomainOs.is_pseriesP   s*    }}JJ3t||#4#?#?	#JJr   c                r   )Zs390xr%   r   r   r   is_s390xZDomainOs.is_s390xS   s    yyG##r   c                r$   )Zriscv64Zriscv32r%   r   r   r   is_riscvZDomainOs.is_riscvV   s"    yyI%??i)??r   c                r.   r/   )r6   r0   r(   r1   r   r   r   is_riscv_virtZDomainOs.is_riscv_virtY   s*    }}GG3t||#4#?#?#GGr   c                r   )Zloongarch64r%   r   r   r   is_loongarch64ZDomainOs.is_loongarch64\   s    yyM))r   Zosz./typez./type/@archz./type/@machinez./loaderz./loader/@readonlyTr   z./loader/@typez./loader/@securez./loader/@statelessc                sV    V P                    Uu. uF  qP                  NK  	  up# u upi r,   )bootdevsr   )r   r   s   & r   _get_bootorderZDomainOs._get_bootorder   s     #'==1=C=111s   &c                s    V P                    F  pV P                  V4       K  	  V F#  pV P                   P                  4       pW2n        K%  	  R # r,   )r9   remove_childadd_newr   )r   Znewdevsr   Zds   &&  r   _set_bootorderZDomainOs._set_bootorder   sA    ==Cc" ! A--'')CG r   z./@firmwarez
./firmware)Zrelative_xpathz./nvram)Z
do_abspathz./nvram/@templatez./bootmenu/@enablez./bootmenu/@timeout)Zis_intz./bios/@useserialz./bios/@rebootTimeoutz./smbios/@modez./nvram/@templateFormatz./kernelz./initrdz	./cmdlinez./dtbz./acpi/tablez./acpi/table/@typez./initz	./initdirz
./inituserz./initgroupc                s    ^ RI pV P                   F  pV P                  V4       K  	  VP                  V4       F#  pV P                  P	                  4       pWCn        K%  	  R# )i    N)shlexinitargsr;   Zsplitr<   r   )r   Z	argstringr>   Zobjr   s   &&   r   set_initargs_stringZDomainOs.set_initargs_string   sK    ==Cc" !;;y)C--'')CG *r   c                s    V P                  4       '       d=   V P                  '       g)   VP                  4       '       d
   R V n        R# RV n        R# R# R# )z
/sbin/initz/bin/shN)r#   initZis_full_os_container)r   Zguests   &&r   set_defaultsZDomainOs.set_defaults   s>    tyyy))++(	%		 (1r   )rA   N)firmwarer   r&   r(   firmware_featuresloader	loader_roloader_secureloader_typeloader_statelessnvramnvram_templaterA   r?   initenvsinitdirinituser	initgroupkernelinitrdkernel_argsdtbacpi_tbacpi_tb_typer9   bootmenu_enablebootmenu_timeoutbios_useserialbios_rebootTimeoutsmbios_mode)Hr   r   r   r	   Z__doc__ZBOOT_DEVICE_HARDDISKZBOOT_DEVICE_CDROMZBOOT_DEVICE_FLOPPYZBOOT_DEVICE_NETWORKZBOOT_DEVICESr   r"   r#   r'   r)   r*   r+   r-   r2   r3   r4   r5   r6   r7   r8   r
   r   r   r   r&   r(   rE   rF   rH   rG   rI   r:   r=   ZpropertyZ	bootorderr   r   r9   rC   r   rD   rJ   rK   rV   rW   rX   rY   rZ   Znvram_templateFormatrP   rQ   rR   rS   rT   rU   rA   r   r?   r   rL   rM   rN   rO   r@   rB   r   Z__classdictcell__)Z__classdict__s   @r   r   r   "   s&      #	L%:%<H%&2F>K$@H* HOD (#G~&D+,G$F04@I./K 2TBM"#84H2 8I,H=)H()9,W	d3E !45N!"6FO"#8F !4tDN$%<TJ./K&'@A 5F5Fk*K
g$
/C.T:G34L x D)H)H+&G<(HM*I& &r   r   N)	Z
xmlbuilderr    r   r   r   r   r   r   r   r   r   r   <module>r[      sL    C Bz 
z  *  
"z "m&z m&r   