+
     _iG(  c                   s0   ^ RI Ht ]! ]! 4       P                  R4      RR4      '       g$   ]! 4       P                  R4      '       g   R]9   d   ^RIHt M^ RIt ^ RI	t
R tR	 tR
 tR t ! R R]4      t^ RIt^RIHt ^RIHt ^RIHt ^RIHt  ! R R]4      t]P2                  ! ]4        ! R R]4      t]P6                  ! ]4        ! R R]4      t]P:                  ! ]4        ! R R]4      t]P>                  ! ]4       R#   ] d    ^ RI
t
 Li ; i)i    )version_infoZ__spec__ZparentNZ__package__.)_pluginc                 s     R V P                   P                  4       ,           pRV P                  P
                  : RV P                  P                  : RV: R2#   \        P                   d    Rp LPi ; i)z	proxy of  Z<r   z; z >)this__repr____builtin__Z	Exception	__class__
__module____name__)selfZstrthiss   & 5/usr/lib64/python3.14/site-packages/libdnf5/plugin.py
_swig_reprr      s_    		 2 2 44 "^^668O8OQXZZ    s   !A A43A4c                    a  V 3R  lpV# )c                 s  < VR 8X  d   S! WV4       R# VR8X  d   V P                   P                  V4       R# \        W4      '       d5   \        \	        \        V 4      V4      \        4      '       d   S! WV4       R# \        RV ,          4      h)r   thisownz(You cannot add instance attributes to %sN)r   ownhasattr
isinstancegetattrtypepropertyAttributeError)r
   namevalueset   &&&r   set_instance_attrZE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr   si    6>E"YIIMM% T  ZT
D0I8%T%TE" !Kd!RSS     )r   r      f r   *_swig_setattr_nondynamic_instance_variabler      s    T r   c                 r   )c                 s   < \        W4      '       d+   \        \        W4      \        4      '       g   S! WV4       R# \	        R V ,          4      h)z%You cannot add class attributes to %sN)r   r   r   r   r   )clsr   r   r   r   r   set_class_attrZ?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attr)   s:    3j1CX&N&N5! !H3!NOOr   r   )r   r    r   r   '_swig_setattr_nondynamic_class_variabler!   (   s    P
 r   c                s   a  V 3R lpV# )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                 sp   < S! V P                   V P                  V P                  P                  4       4      # N)r	   Z	__bases__Z__dict__Zcopy)r   	metaclasss   &r   wrapperZ$_swig_add_metaclass.<locals>.wrapper3   s'    s}}cll6G6G6IJJr   r   )r#   r$   r   r   _swig_add_metaclassr%   1   s    KNr   c                   s>    ] tR t^8tRt]! ]P                  4      tRtR# )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classr   N)	r	   r   __qualname____firstlineno____doc__r!   r   Z__setattr____static_attributes__r   r   r   r&   r&   8   s    U9$:J:JKKr   r&   )conf)common)	exception)loggerc                   s  a  ] tR t^Ct o Rt]! R R RR7      t]t]! ]	P                  ]	P                  4      t]! ]	P                  ]	P                  4      t]! ]	P                   ]	P"                  4      tR t]	P(                  tRtV tR# )	VersionzPlugin versionc                6    V P                   P                  4       # r"   r   r   x   &r   <lambda>Version.<lambda>F       r   c                8    V P                   P                  V4      # r"   r1   r3   Zv   &&r   r5   r6   F       AFFJJqMr   The membership flagZdocc                s^    \         P                  ! V \         P                  ! WV4      4       R # r"   )r   ZVersion_swiginitZnew_Version)r
   majorminormicros   &&&&r   __init__ZVersion.__init__L   s      w':':5'OPr   r   N)r	   r   r'   r(   r)   r   r   r   r   r   ZVersion_major_getZVersion_major_setr>   ZVersion_minor_getZVersion_minor_setr?   ZVersion_micro_getZVersion_micro_setr@   rA   Zdelete_Version__swig_destroy__r*   __classdictcell__Z__classdict__   @r   r/   r/   C   sx     -/IOdeGHW..0I0IJEW..0I0IJEW..0I0IJEQ--r   r/   c                   s   a  ] tR t^Rt o Rt]! R R RR7      t]tR t	]
P                  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 tR tRtV t R# )IPluginzkA base class for implementing LIBDNF5 plugins that introduce additional logic into the library using hooks.c                r0   r"   r1   r2   r4   r   r5   IPlugin.<lambda>U   r7   r   c                r8   r"   r1   r9   r:   r   r5   rG   U   r;   r   r<   r=   c                s    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! W!4      4       R # r"   )r   rF   r   ZIPlugin_swiginitZnew_IPlugin)r
   ZdataZ_selfs   && r   rA   ZIPlugin.__init__X   s3    >>W$EE  w':':5'GHr   c                .    \         P                  ! V 4      # )zUReturns the version of the API supported by the plugin. It can be called at any time.)r   ZIPlugin_get_api_versionr
   r4   r   get_api_versionZIPlugin.get_api_version`   s    ..t44r   c                rH   )z=Returns the name of the plugin. It can be called at any time.)r   ZIPlugin_get_namerI   r4   r   get_nameZIPlugin.get_named   s    ''--r   c                rH   )z6Gets the plugin version. It can be called at any time.)r   ZIPlugin_get_versionrI   r4   r   get_versionZIPlugin.get_versionh   s    **400r   c                rH   )z[
:rtype: string
:return: A nullptr terminated array of attributes supported by the plugin.
)r   ZIPlugin_get_attributesrI   r4   r   get_attributesZIPlugin.get_attributesl       
 --d33r   c                .    \         P                  ! W4      # )z
Gets the value of the attribute from the plugin. Returns nullptr if the attribute does not exist.
It can be called at any time.
)r   ZIPlugin_get_attributer
   r   r:   r   get_attributeZIPlugin.get_attributes   s    
 ,,T88r   c                rH   )zi
The plugin can load additional plugins. E.g. C++ plugin for loading Python plugins.
Called before init.
)r   ZIPlugin_load_pluginsrI   r4   r   load_pluginsZIPlugin.load_pluginsz       
 ++D11r   c                rH   )z-
Plugin initialization.
Called before hooks.
)r   ZIPlugin_initrI   r4   r   initZIPlugin.init   s    
 ##D))r   c                rH   )zm
The pre_base_setup hook.
It is called at the beginning of the `Base::setup` method (after the `init` hook).
)r   ZIPlugin_pre_base_setuprI   r4   r   pre_base_setupZIPlugin.pre_base_setup   rN   r   c                rH   )zP
The post_base_setup hook.
It is called at the end of the `Base::setup` method.
)r   ZIPlugin_post_base_setuprI   r4   r   post_base_setupZIPlugin.post_base_setup   s    
 ..t44r   c                rH   )zT
The repos_configured hook.
It is called in `Base::notify_repos_configured` method.
)r   ZIPlugin_repos_configuredrI   r4   r   repos_configuredZIPlugin.repos_configured       
 //55r   c                rH   )z`
The repos_loaded hook.
It is called at the end of the `RepoSack::load_repos` method (in Impl).
)r   ZIPlugin_repos_loadedrI   r4   r   repos_loadedZIPlugin.repos_loaded   rS   r   c                rO   )a  
The pre_add_cmdline_packages hook.
It is called at the beginning of the `RepoSack::add_cmdline_packages` method.
:type paths: std::vector< std::string,std::allocator< std::string > >
:param paths: Vector of paths (local files or URLs) to package files to be inserted into cmdline repo.
)r   Z IPlugin_pre_add_cmdline_packages)r
   Zpathsr:   r   pre_add_cmdline_packagesZ IPlugin.pre_add_cmdline_packages   s     77DDr   c                rH   )zm
The post_add_cmdline_packages hook.
It is called at the end of the `RepoSack::add_cmdline_packages` method.
)r   Z!IPlugin_post_add_cmdline_packagesrI   r4   r   post_add_cmdline_packagesZ!IPlugin.post_add_cmdline_packages   s    
 88>>r   c                rO   )z
The pre_transaction hook.
It is called just before the actual transaction starts.
:type transaction: libdnf5::base::Transaction
:param transaction: Contains the transaction that will be started.
)r   ZIPlugin_pre_transactionr
   Ztransactionr:   r   pre_transactionZIPlugin.pre_transaction   s     ..tAAr   c                rO   )z
The post_transaction hook.
It is called after transactions.
:type transaction: libdnf5::base::Transaction
:param transaction: Contains the completed transaction.
)r   ZIPlugin_post_transactionr\   r:   r   post_transactionZIPlugin.post_transaction        //BBr   c                rH   )zUFinish the plugin and release all resources obtained by the init method and in hooks.)r   ZIPlugin_finishrI   r4   r   finishZIPlugin.finish   s    %%d++r   c                rH   r"   )r   ZIPlugin_get_baserI   r4   r   get_baseZIPlugin.get_base   s    ''--r   c                s    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r"   )r   Zdisownr   Zdisown_IPluginweakrefZproxyrI   r4   r   
__disown__ZIPlugin.__disown__   s/    		t$}}T""r   r   N)!r	   r   r'   r(   r)   r   r   r   r   rA   r   Zdelete_IPluginrB   rJ   rK   rL   rM   rQ   rR   rT   rU   rV   rW   rY   rZ   r[   r]   r^   r`   ra   rc   r*   rC   rD   rE   r   rF   rF   R   s     v-/IOdeGHI --5.1492*4562E?BC,.# #r   rF   c                   sf   a  ] tR t^t o Rt]! R R RR7      tR t]t	]
P                  tR tRtV tR	# )

IPlugin2_1z\Extended plugin interface with additional hooks introduced in version 2.1 of the plugin API.c                r0   r"   r1   r2   r4   r   r5   IPlugin2_1.<lambda>   r7   r   c                r8   r"   r1   r9   r:   r   r5   re      r;   r   r<   r=   c                s    \        R 4      h)z*No constructor defined - class is abstract)r   )r
   argsZkwargss   &*,r   rA   ZIPlugin2_1.__init__   s    IJJr   c                rO   )z
The goal resolved hook.
It is called right after the goal is resolved.
:type transaction: libdnf5::base::Transaction
:param transaction: Contains the transaction that was resolved.
)r   ZIPlugin2_1_goal_resolvedr\   r:   r   goal_resolvedZIPlugin2_1.goal_resolved   r_   r   r   N)r	   r   r'   r(   r)   r   r   rA   r   r   r   Zdelete_IPlugin2_1rB   rg   r*   rC   rD   rE   r   rd   rd      s<     g-/IOdeGKH00C Cr   rd   c                   s   a  ] tR t^t o ]! R R RR7      t]t]P                  t
R tR tR tR tR	 tR
 tR tR tRtV tR# )
PluginInfoc                r0   r"   r1   r2   r4   r   r5   PluginInfo.<lambda>   r7   r   c                r8   r"   r1   r9   r:   r   r5   ri      r;   r   r<   r=   c                sX    \         P                  ! V \         P                  ! V!  4       R # r"   )r   ZPluginInfo_swiginitZnew_PluginInfo)r
   rf   s   &*r   rA   ZPluginInfo.__init__   s    ##D'*@*@$*GHr   c                rH   )zx
:rtype: string
:return: the real name of the plugin or derived from the configuration file if the plugin is not loaded
)r   ZPluginInfo_get_namerI   r4   r   rK   ZPluginInfo.get_name   s    
 **400r   c                rH   )z7
:rtype: boolean
:return: true if the plugin is loaded
)r   ZPluginInfo_is_loadedrI   r4   r   	is_loadedZPluginInfo.is_loaded   rS   r   c                rH   )z
:rtype: :py:class:`PluginAPIVersion`
:return: the version of the API supported by the plugin, or zeros if the plugin is not loaded
)r   ZPluginInfo_get_api_versionrI   r4   r   rJ   ZPluginInfo.get_api_version   s    
 11$77r   c                rH   )zl
:rtype: string
:return: the real plugin name (returned from plugin) or nullptr if the plugin is not loaded
)r   ZPluginInfo_get_real_namerI   r4   r   get_real_nameZPluginInfo.get_real_name  rX   r   c                rH   )zf
:rtype: :py:class:`Version`
:return: the version of the plugin, or zeros if the plugin is not loaded
)r   ZPluginInfo_get_versionrI   r4   r   rL   ZPluginInfo.get_version  rN   r   c                rH   )z
:rtype: string
:return: a nullptr terminated array of attributes supported by the plugin or nullptr if the plugin is not loaded
)r   ZPluginInfo_get_attributesrI   r4   r   rM   ZPluginInfo.get_attributes  s    
 0066r   c                rO   )z
Gets the value of the attribute from the plugin.
Returns nullptr if the attribute does not exist or plugin is not loaded.
:rtype: string
:return: the value of the `name` attribute or nullptr
)r   ZPluginInfo_get_attributerP   r:   r   rQ   ZPluginInfo.get_attribute  s     //;;r   r   N)r	   r   r'   r(   r   r   r   r   r   Zdelete_PluginInforB   rA   rK   rj   rJ   rk   rL   rM   rQ   r*   rC   rD   rE   r   rh   rh      sU     -/IOdeGH00I128647< <r   rh   ) Zsysr    Z_swig_python_version_infor   ZglobalsZgetr	   r   r   Zbuiltinsr   ZImportErrorr   r   r!   r%   r   r&   rb   r+   r,   r-   r.   Zobjectr/   ZVersion_swigregisterrF   ZIPlugin_swigregisterrd   ZIPlugin2_1_swigregisterrh   ZPluginInfo_swigregisterr   r   r   <module>rl      s
   :
79==$h55}9U9UY\`hYh"[
L$ L
     .f .   W %}#f }#@   W %C C(   
 +9< 9<x   
 +i  s   D DD