+
    >a                     B    ^ RI Ht ^RIHtHt ^RIHt  ! R R4      tR# )    )warn)MessageTypeHeaderFields)DBusErrorResponsec                   t   a  ] tR t^t o RtR
R lt]R 4       t]P                  R 4       tR t	R t
R tR	tV tR# )RouteraC  Routing for messages coming back to a client application.

:param handle_factory: Constructor for an object like asyncio.Future,
    with methods *set_result* and *set_exception*. Outgoing method call
    messages will get a handle associated with them.
:param on_unhandled: Callback for messages not otherwise dispatched.
Nc                H    Wn         W n        ^ V n        / V n        / V n        R# )r   N)handle_factory_on_unhandledoutgoing_serialawaiting_replysignal_callbacks)selfr
   on_unhandleds   &&&/lib/python3.14/site-packages/jeepney/routing.py__init__Router.__init__   s&    ,)   "    c                    V P                   # N)r   )r   s   &r   r   Router.on_unhandled   s    !!!r   c                ,    \        R ^R7       Wn        R# )zeSetting on_unhandled is deprecated. Please use the filter() method or simple receive() calls instead.
stacklevelN)r   r   )r   values   &&r   r   r      s     9EF	H"r   c                (   V ;P                   ^,          un         V P                   VP                  n        VP                  P                  \        P
                  J d6   V P                  4       ;V P                  VP                  P                  &   pV# R# )zNSet the serial number in the message & make a handle if a method call
        N)r   headerserialmessage_typer   method_callr
   r   )r   msghandles   && r   outgoingRouter.outgoing   sq     	! 00

::""k&=&==>B>Q>Q>SSD

 1 12VM >r   c                @    \        R^R7       WP                  W#V3&   R# )z%Add a callback for a signal.
        zQThe subscribe_signal() method is deprecated. Please use the filter() API instead.r   N)r   r   )r   callbackpath	interfacemembers   &&&&&r   subscribe_signalRouter.subscribe_signal)   s(     	 4@A	C;Ct78r   c                   VP                   pVP                  \        P                  J d   VP                  P                  \        P                  R4      VP                  P                  \        P                  R4      VP                  P                  \        P                  R4      3pV P                  P                  VR4      pVe   V! VP                  4       R# VP                  P                  \        P                  R4      pV P                  P                  VR4      pVev   VP                  \        P                  J d   VP!                  VP                  4       R# VP                  \        P"                  J d   VP%                  \'        V4      4       R# V P(                  '       d   V P)                  V4       R# R# )z#Route an incoming message.
        N)r   r   r   signalfieldsgetr   r'   r(   r)   r   bodyreply_serialr   popmethod_return
set_resulterrorset_exceptionr   r   )r   r!   hdrkeycbr2   reply_handles   &&     r   incomingRouter.incoming0   sL    jj {111::>>,"3"3T:::>>,"8"8$?::>>,"5"5t<C &&**35B~388 zz~~l&?&?D**..|TB#;#<#<<''1!![%6%66**+<S+ABc" r   )r   r   r
   r   r   r   )__name__
__module____qualname____firstlineno____doc__r   propertyr   setterr#   r*   r<   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sR     # " " # #
D# #r   r   N)warningsr   	low_levelr   r   wrappersr   r    r   r   <module>rL      s     0 'F# F#r   