+
    >a+                         ^ RI Ht ^ RIHt ^RI5 . ROt ! R	 R4      t ! R
 R]4      tR tRR lt	RR lt
RR ltRR lt ! R R4      t ! R R4      t ! R R4      t ! R R]4      t ! R R]4      tR R ltR# )    )Union)warn)*DBusAddressMessageGenerator
PropertiesIntrospectableDBusErrorResponsec                   :   a  ] tR t^t o RtRR ltR tR tRtV t	R# )r   a-  This identifies the object and interface a message is for.

e.g. messages to display desktop notifications would have this address::

    DBusAddress('/org/freedesktop/Notifications',
                bus_name='org.freedesktop.Notifications',
                interface='org.freedesktop.Notifications')
Nc                *    Wn         W n        W0n        R # N)object_pathbus_name	interface)selfr   r   r   s   &&&&0lib/python3.14/site-packages/jeepney/wrappers.py__init__DBusAddress.__init__   s    & "    c                    R P                  \        V 4      P                  V P                  V P                  V P
                  4      # )z'{}({!r}, bus_name={!r}, interface={!r}))formattype__name__r   r   r   r   s   &r   __repr__DBusAddress.__repr__    s8    8??T
@S@S$$dmmT^^E 	Er   c                P    \        V 4      ! V P                  V P                  V4      # r   )r   r   r   )r   r   s   &&r   with_interfaceDBusAddress.with_interface$   s    Dz$**DMM9EEr   )r   r   r   NN)
r   
__module____qualname____firstlineno____doc__r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s!     #
EF Fr   c                   6   a a ] tR t^'t oRV 3R lltRtVtV ;t# )
DBusObjectc                B   < \         SV `  WV4       \        R ^R7       R# )z)Deprecated alias, use DBusAddress instead)
stacklevelN)superr   r   )r   r   r   r   	__class__s   &&&&r   r   DBusObject.__init__(   s    	:8QGr    r    )r   r!   r"   r#   r   r%   r&   __classcell__)r.   r(   s   @@r   r*   r*   '   s     H Hr   r*   c           
      B    \        \        P                  V ^ ^RR/ R7      # )r   )flagsprotocol_versionbody_lengthserialfields)Header
Endiannesslittle)msg_types   &r   
new_headerr=   ,   s$    *##XQ B8 8r   Nc                   \        \        P                  4      pV P                  VP                  \
        P                  &   V P                  f   \        R4      hV P                  VP                  \
        P                  &   V P                  e(   V P                  VP                  \
        P                  &   WP                  \
        P                  &   Ve   W$P                  \
        P                  &   \        WC4      # )a  Construct a new method call message

This is a relatively low-level method. In many cases, this will be called
from a :class:`MessageGenerator` subclass which provides a more convenient
API.

:param DBusAddress remote_obj: The object to call a method on
:param str method: The name of the method to call
:param str signature: The DBus signature of the body data
:param tuple body: Body data (i.e. method parameters)
z3remote_obj.bus_name cannot be None for method calls)r=   MessageTypemethod_callr   r7   HeaderFieldspathr   
ValueErrordestinationr   member	signatureMessage)
remote_objmethodrF   bodyheaders   &&&& r   new_method_callrL   0   s     //0F'1'='=FMM,##$"NOO.8.A.AFMM,**+'0:0D0Dl,,-)/MM,%%&09l,,-6  r   c                   \        \        P                  4      pV P                  P                  VP
                  \        P                  &   V P                  P
                  P                  \        P                  R4      pVe   WCP
                  \        P                  &   Ve   WP
                  \        P                  &   \        W24      # )zConstruct a new response message

:param Message parent_msg: The method call this is a reply to
:param str signature: The DBus signature of the body data
:param tuple body: Body data
N)r=   r?   method_returnrK   r6   r7   rA   reply_serialgetsenderrD   rF   rG   )
parent_msgrF   rJ   rK   rQ   s   &&&  r   new_method_returnrS   I   s     112F/9/@/@/G/GFMM,++,%%)),*=*=tDF28l../09l,,-6  r   c                   \        \        P                  4      pV P                  P                  VP
                  \        P                  &   WP
                  \        P                  &   V P                  P
                  P                  \        P                  R4      pVe   WTP
                  \        P                  &   Ve   W$P
                  \        P                  &   \        WC4      # )zConstruct a new error response message

:param Message parent_msg: The method call this is a reply to
:param str error_name: The name of the error
:param str signature: The DBus signature of the body data
:param tuple body: Body data
N)r=   r?   errorrK   r6   r7   rA   rO   
error_namerP   rQ   rD   rF   rG   )rR   rV   rF   rJ   rK   rQ   s   &&&&  r   	new_errorrW   Y   s     ))*F/9/@/@/G/GFMM,++,-7MM,))*%%)),*=*=tDF28l../09l,,-6  r   c                   \        \        P                  4      pV P                  VP                  \
        P                  &   V P                  f   \        R4      hV P                  VP                  \
        P                  &   WP                  \
        P                  &   Ve   W$P                  \
        P                  &   \        WC4      # )zConstruct a new signal message

:param DBusAddress emitter: The object sending the signal
:param str signal: The name of the signal
:param str signature: The DBus signature of the body data
:param tuple body: Body data
z,emitter.interface cannot be None for signals)r=   r?   signalr   r7   rA   rB   r   rC   rE   rF   rG   )emitterrY   rF   rJ   rK   s   &&&& r   
new_signalr[   k   s     **+F'.':':FMM,##$ GHH,3,=,=FMM,(())/MM,%%&09l,,-6  r   c                   0   a  ] tR t^~t o RtR tR tRtV tR# )r   zSubclass this to define the methods available on a DBus interface.

jeepney.bindgen can automatically create subclasses using introspection.
c                    Wn         W n        R # r   )r   r   )r   r   r   s   &&&r   r   MessageGenerator.__init__   s    & r   c                v    R P                  \        V 4      P                  V P                  V P                  4      # )z{}({!r}, bus_name={!r}))r   r   r   r   r   r   s   &r   r   MessageGenerator.__repr__   s2    (//T
0C0C040@0@$--Q 	Qr   )r   r   N)	r   r!   r"   r#   r$   r   r   r%   r&   r'   s   @r   r   r   ~   s     !Q Qr   c                   6   a  ] tR t^t o RtR tR tR tRtV t	R# )	ProxyBasezA proxy is an IO-aware wrapper around a MessageGenerator

Calling methods on a proxy object will send a message and wait for the
reply. This is a base class for proxy implementations in jeepney.io.
c                    Wn         R # r   _msggen)r   msggens   &&r   r   ProxyBase.__init__   s    r   c                    VP                  R 4      '       d   \        V4      h\        V P                  VR4      p\	        V4      '       d   V P                  V4      # \        V4      h)__N)
startswithAttributeErrorgetattrre   callable_method_call)r   itemmake_msgs   && r   __getattr__ProxyBase.__getattr__   sU    ??4   &&4<<t4H$$X..T""r   c                    \        R 4      h)z#Needs to be implemented in subclass)NotImplementedError)r   rp   s   &&r   rn   ProxyBase._method_call   s    !"GHHr   rd   N)
r   r!   r"   r#   r$   r   rq   rn   r%   r&   r'   s   @r   rb   rb      s      
#I Ir   rb   c                   H   a  ] tR t^t o RtV 3R lR ltR tR tR tRt	V t
R# )	r   zBuild messages for accessing object properties

If a D-Bus object has multiple interfaces, each interface has its own
set of properties.

This uses the standard DBus interface ``org.freedesktop.DBus.Properties``
c                6   < V ^8  d   QhRS[ S[S[3,          /# )   obj)r   r   r   )r   r(   s   "r   __annotate__Properties.__annotate__   s"     Q QE+/?"?@ Qr   c                `    Wn         \        VP                  VP                  R R7      V n        R# )zorg.freedesktop.DBus.Properties)r   r   N)ry   r   r   r   props_if)r   ry   s   &&r   r   Properties.__init__   s#    #COOcll.OQr   c                ^    \        V P                  RRV P                  P                  V34      # )z$Get the value of the property *name*GetssrL   r}   ry   r   )r   names   &&r   rP   Properties.get   s+    t}}eTHH&&-/ 	/r   c                \    \        V P                  RRV P                  P                  34      # )z*Get all property values for this interfaceGetAllsr   r   s   &r   get_allProperties.get_all   s)    t}}h $ 2 246 	6r   c           	     b    \        V P                  RRV P                  P                  WV334      # )z?Set the property *name* to *value* (with appropriate signature)Setssvr   )r   r   rF   values   &&&&r   setProperties.set   s2    t}}eUHH&&%.@AC 	Cr   )ry   r}   N)r   r!   r"   r#   r$   r   rP   r   r   r%   r&   r'   s   @r   r   r      s,     Q Q
/
6
C Cr   c                   *   a  ] tR t^t o RtR tRtV tR# )r	   z#org.freedesktop.DBus.Introspectablec                    \        V R4      # )z3Request D-Bus introspection XML for a remote object
Introspect)rL   r   s   &r   r   Introspectable.Introspect   s    t\22r   r0   N)r   r!   r"   r#   r   r   r%   r&   r'   s   @r   r	   r	      s     5I3 3r   c                   0   a  ] tR t^t o RtR tR tRtV tR# )r
   z?Raised by proxy method calls when the reply is an error messagec                    VP                   P                  P                  \        P                  4      V n        VP                  V n        R # r   )rK   r7   rP   rA   rV   r   rJ   data)r   msgs   &&r   r   DBusErrorResponse.__init__   s/    JJ%%)),*A*AB	HH	r   c                N    R P                  V P                  V P                  4      # )z[{}] {})r   r   r   r   s   &r   __str__DBusErrorResponse.__str__   s    		49955r   )r   r   N)	r   r!   r"   r#   r$   r   r   r%   r&   r'   s   @r   r
   r
      s     I6 6r   c                $    V ^8  d   QhR\         /# )rx   r   )rG   )r   s   "r   rz   rz      s     	 	G 	r   c                    V P                   P                  \        P                  8X  d   \	        V 4      hV P
                  # )zGet the body of a message, raising DBusErrorResponse for error messages

This is to be used with replies to method_call messages, which may be
method_return or error.
)rK   message_typer?   rU   r
   rJ   )r   s   &r   
unwrap_msgr      s0     zz+"3"33$$88Or   )	r   rL   rS   rW   r[   r   r   r	   r
   )Nr0   )typingr   warningsr   	low_level__all__r   r*   r=   rL   rS   rW   r[   r   rb   r   r	   	Exceptionr
   r   r0   r   r   <module>r      s      
F F*H H
8!2! !$!&Q QI I,C C83% 36	 6	r   