
    BWc                        d dl mZ d dl mZ d dl mZ d dlmZ dZd Zd Z G d d	          Z G d
 d          Z	 G d d          Z
 G d d          ZdS )   )config)utils)	dbustypes)print_errorz/*
 * This file is generated by gdbus-codegen, do not modify it.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from. Note that it links to GLib, so must comply with the
 * LGPL linking clauses.
 */
c                    | }t          |           dk    rt          j        |           rE|                     dd          }|                                 dz   }|                                 dz   }nWt          j        |                                           dz   }t          j        |                                           dz   }nd}d}|||fS )N    _ )lenr   is_ugly_casereplaceupperlowercamel_case_to_uscore)	namespacensns_upperns_lowers       !share/glib-2.0/codegen/codegen.pygenerate_namespacer   *   s    	B
9~~ 
i(( 	K""3++B ((3.H ((3.HH1)<<BBDDsJH1)<<BBDDsJHH(##    c                 x    dd                     t          fd|                                                     S )N$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr
   c                     | v r| ndS )Nr	    )csafe_valid_charss    r   <lambda>z'generate_header_guard.<locals>.<lambda>@   s    1 009aac r   )joinmapr   )header_namer   s    @r   generate_header_guardr"   ;   sD     >779999;;L;L;N;NOO  r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )HeaderCodeGeneratorc                     || _         t          |          \  | _        | _        | _        || _        || _        t          |          | _        || _	        || _
        || _        |	| _        |
| _        || _        d S N)ifacesr   r   r   r   generate_objmanagergenerate_autocleanupr"   header_guardinput_files_basenames
use_pragmaglib_min_requiredsymbol_decoratorsymbol_decorator_headeroutfile)selfr'   r   r(   r)   r!   r+   r,   r-   r.   r/   r0   s               r   __init__zHeaderCodeGenerator.__init__E   sw     7I)7T7T4t}#6 $8!1+>>%:"$!2 0'>$r   c                 ~   d                     | j                  }| j                            t                              t          j        |                     | j                            d           | j        r| j                            d           nd| j                            d                    | j	                             | j                            d                    | j	                             | j
        <| j                            d           | j                            d| j
        z             | j                            d           | j                            d           | j                            d           | j                            d           | j                            d           d S 	N, 
z#pragma once
z#ifndef __{!s}__
z#define __{!s}__
z#include "%s"
z#include <gio/gio.h>
zG_BEGIN_DECLS
r   r+   r0   writeLICENSE_STRformatr   VERSIONr,   r*   r/   r1   	basenamess     r   generate_header_preamblez,HeaderCodeGenerator.generate_header_preamblea      IId899	;--fniHHIII4   ? 	OL/0000L3::4;LMMNNNL3::4;LMMNNN' 	QLt$$$L043OOPPP4   34444   ,---4     r   c                 _   | j         D ]}| j                            d           | j                            d           | j                            d|j        z             | j                            d           | j                            d|j        d|j        d|j        d           | j                            d|j        |j        d|j        d|j        d	|j        d

           | j                            d|j        d|j        d|j        d|j        d
	           | j                            d|j        |j        d|j        d|j        d	|j        d
           | j                            d           | j                            d|j        z             | j                            d|j        d|j        d           | j                            d|j        d|j        d           | j                            d           | j                            d|j        z             | j                            d           | j                            d           i }t          |j	                  dk    r| j                            d           |j	        D ]d}|j
        d|j        z  f}d|j        z  }|d|j        z  z  }|dz  }|j        r|dz  }|j        D ]}|d|j        d|j        z  }|d z  }|||<   et          |j                  dk    ru| j                            d           |j        D ]S}|j
        d!|j        z  f}d"|j        z  }|d#|j        z  z  }|j        D ]}|d|j        d|j        z  }|d z  }|||<   Tt          |j                  dk    rZ| j                            d           |j        D ]8}|j
        d$|j        z  f}d%|j        j        d&|j        d'|j        d(}|||<   9t%          |                                t(          j        )          D ]%}| j                            d*||         z             &| j                            d+           | j                            d           | j        d,k    rp| j                            d-           | j                            d.|j        z             | j                            d/           | j                            d           | j        "| j                            d0| j        z             | j                            d1|j        z             | j                            d           | j        "| j                            d0| j        z             | j                            d2|j        z             | j        "| j                            d0| j        z             | j                            d3|j        z             | j                            d           t          |j	                  dk    r_| j                            d           | j                            d4           |j	        D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            d6|j        d7|j        d8|j        d9           |j        r| j                            d           |j        D ]+}| j                            d|j        |j                   ,| j                            d:           | j                            d           
| j                            d           t          |j                  dk    r=| j                            d           | j                            d;           |j        D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            d6|j        d<|j        d8|j        d=           |j        D ],}| j                            d|j        d|j                   -| j                            d:           | j                            d           | j                            d           t          |j	                  dk    r| j                            d           | j                            d>           |j	        D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            d6|j        d?|j        d8|j        d@           |j        D ],}| j                            d|j        d|j                   -| j        dAk    r| j                            dB           |j        r| j                            d           | j                            dC           | j                            d           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            dD|j        d?|j        dE|j        d@           |j        D ],}| j                            d|j        dF|j                   -|j        r| j                            dG           | j                            dH           | j                            d           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            dD|j        d?|j        dI|j        d@           |j        D ],}| j                            d|j        d|j                   -| j        dAk    r| j                            dB           |j        r| j                            dJ           |j        D ],}| j                            d|j        dF|j                   -|j        r| j                            dG           | j                            dK           | j                            d           | j                            d           t          |j                  dk    r | j                            d           | j                            dL           |j        D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        j        |j        dM|j        d|j        dN           |j        j        | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        j        |j        dO|j        d|j        dN           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            d6|j        dP|j        d|j        dQ|j        j        dR	           | j                            d           | j                            d           | j                            dS           | j                            d           | j                            d|j        d|j        dT|j        dU           | j                            d|j        |j        dV|j        d|j        dW|j        dX
           | j                            d|j        |j        dY|j        d|j        dW|j        dZ
           | j                            d|j        |j        d[|j        d|j        dW|j        dZ
           | j                            d|j        d|j        d\|j        d|j        d]	           | j                            d|j        d|j        d^|j        d|j        d]	           | j                            d           | j                            d|j        d_|j        d`           | j                            d|j        da|j        db           | j                            d|j        dc|j        dd           | j                            d           | j                            de|j        z             | j                            d           | j                            df           | j                            dg           | j                            dh|j        z             | j                            d+           | j                            d           | j                            di|j        z             | j                            d           | j                            dj           | j                            d+           | j                            d           | j        "| j                            d0| j        z             | j                            dk|j        z             | j                            d           | j        dlv rp| j                            d-           | j                            dm|j        z             | j                            d/           | j                            d           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            dn|j        z             | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do|j        dp           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do|j        dq           | j                            d           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            dr|j        z             | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do|j        ds           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do|j        dt           | j                            d           | j                            d           | j                            dS           | j                            d           | j                            d|j        d|j        du|j        dv           | j                            d|j        |j        dw|j        d|j        dx|j        dy
           | j                            d|j        |j        dz|j        d|j        dx|j        d{
           | j                            d|j        |j        d||j        d|j        dx|j        d{
           | j                            d|j        d|j        d}|j        d|j        d~	           | j                            d|j        d|j        d|j        d|j        d~	           | j                            d           | j                            d|j        d|j        d           | j                            d|j        d|j        d           | j                            d|j        d|j        d           | j                            d           | j                            d|j        z             | j                            d           | j                            df           | j                            d           | j                            d|j        z             | j                            d+           | j                            d           | j                            d|j        z             | j                            d           | j                            d           | j                            d+           | j                            d           | j        "| j                            d0| j        z             | j                            d|j        z             | j                            d           | j        dlv rp| j                            d-           | j                            d|j        z             | j                            d/           | j                            d           | j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do|j        d           | j                            d           | j        r| j                            d           | j                            dS           | j                            d           | j                            d| j        d| j        d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        d           | j                            d| j        d| j        d| j         d           | j                            d           | j                            d| j         z             | j                            d| j         d| j         d           | j                            d| j         d| j         d           | j                            d           | j                            d| j         z             | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j        d,k    rp| j                            d-           | j                            d| j         z             | j                            d/           | j                            d           | j         D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do| j        d|j        !                                d| j         d           | j         D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            |j        do| j        d|j        !                                d| j         d           | j                            d           | j                            d| j        d| j        d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        d           | j                            d| j        d| j        d           | j                            d           | j                            d| j         d| j         d           | j                            d| j         d| j         d           | j                            d| j         d| j         d           | j                            d           | j                            d| j         z             | j                            d           | j                            df           | j                            d           | j                            d| j         z             | j                            d+           | j                            d           | j                            d| j         z             | j                            d           | j                            d           | j                            d+           | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j                            d           | j        dlv rp| j                            d-           | j                            d| j         z             | j                            d/           | j                            d           | j        "| j                            d0| j        z             | j                            | j         d| j        d           | j                            d           | j                            d| j        d| j        d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        d| j         d           | j                            d| j        d| j        dŝ           | j                            d| j        d| j        dŝ           | j                            d           | j                            d| j         d| j         dȝ           | j                            d| j         d| j         dʝ           | j                            d| j         d| j         d̝           | j                            d           | j                            d| j         z             | j                            d           | j                            df           | j                            dΦ           | j                            d| j         z             | j                            d+           | j                            d           | j                            d| j         z             | j                            d           | j                            dѦ           | j                            d+           | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j                            d           | j        dlv rp| j                            d-           | j                            d| j         z             | j                            d/           | j                            d           | j        "| j                            d0| j        z             | j                            | j         d| j        d՝           | j         D ]}| j        "| j                            d0| j        z             |j        r| j                            d5           | j                            d6| j        d|j        !                                d| j         d|j        d؝	           | j                            d           | j                            dS           | j                            d           | j                            d| j        d| j        dڝ           | j                            d| j        d| j        d| j         dݝ           | j                            d| j        d| j        d| j         dߝ           | j                            d| j        d| j        d| j         dߝ           | j                            d| j        d| j        d           | j                            d| j        d| j        d           | j                            d           | j                            d| j         d| j         d           | j                            d| j         d| j         d           | j                            d| j         d| j         d           | j                            d           | j                            d| j         z             | j                            d           | j                            df           | j                            d           | j                            d| j         z             | j                            d+           | j                            d           | j                            d| j         z             | j                            d           | j                            d           | j                            d+           | j                            d           | j        dlv rp| j                            d-           | j                            d| j         z             | j                            d/           | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j        "| j                            d0| j        z             | j                            d| j        z             | j        "| j                            d0| j        z             | j                            d| j        z             | j                            d           | j        "| j                            d0| j        z             | j                            d| j        z             | j        "| j                            d0| j        z             | j                            d| j        z             | j        "| j                            d0| j        z             | j                            d| j        z             | j                            d           d S d S )Nr6   O/* ------------------------------------------------------------------------ */
z/* Declarations for %s */
z#define TYPE_ (z_get_type ())
z&(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), r5   z))
IS_z&(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), z3_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), zIface))
zstruct _%s;
ztypedef struct _ ;
Iface zIface;
zstruct _%sIface
{
z  GTypeInterface parent_iface;
r   
_method_%sz  gboolean (*handle_%s) (
z    %s *object,
z%    GDBusMethodInvocation *invocation,
    GUnixFDList *fd_list,
    arg_z);


_signal_%sz  void (*%s) (
z    %s *object_prop_get_%s  z (*get_z) (z *object);

key%s};
allz!#if GLIB_CHECK_VERSION(2, 44, 0)
z3G_DEFINE_AUTOPTR_CLEANUP_FUNC (%s, g_object_unref)
#endif
z%s
z'GType %s_get_type (void) G_GNUC_CONST;
z.GDBusInterfaceInfo *%s_interface_info (void);
zMguint %s_override_properties (GObjectClass *klass, guint property_id_begin);
z./* D-Bus method call completion functions: */
zG_GNUC_DEPRECATED void 
_complete_ (
    z/ *object,
    GDBusMethodInvocation *invocation);
z(/* D-Bus signal emissions functions: */
_emit_ *objectz/* D-Bus method calls: */
_call_ *proxy   @   6,
    GDBusCallFlags call_flags,
    gint timeout_msecz\,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);
z	gboolean _finish (
    out_,
    GUnixFDList **out_fd_listz.,
    GAsyncResult *res,
    GError **error);
_sync (
    ,
    GUnixFDList  *fd_listz6,
    GCancellable *cancellable,
    GError **error);
z /* D-Bus property accessors: */
_get_z *object);
_dup__set_
 *object, zvalue);
z/* ---- */
z_PROXY (z_proxy_get_type ())
z,_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), _PROXY, zProxy))
z/_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zProxyClass))
z5_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z,_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), z	_PROXY))
z/_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zProxy zProxy;
zProxyClass zProxyClass;
zProxyPrivate zProxyPrivate;
zstruct _%sProxy
z  /*< private >*/
z  GDBusProxy parent_instance;
z  %sProxyPrivate *priv;
zstruct _%sProxyClass
z   GDBusProxyClass parent_class;
z-GType %s_proxy_get_type (void) G_GNUC_CONST;
)objectsrT   z8G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sProxy, g_object_unref)
a  void %s_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
 *zS_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
z_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);
a  void %s_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
z[_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
z_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);
z_SKELETON (z_skeleton_get_type ())
z/_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), _SKELETON, zSkeleton))
z2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zSkeletonClass))
z8_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z/_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), z_SKELETON))
z2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), z	Skeleton z
Skeleton;
zSkeletonClass zSkeletonClass;
zSkeletonPrivate zSkeletonPrivate;
zstruct _%sSkeleton
z*  GDBusInterfaceSkeleton parent_instance;
z  %sSkeletonPrivate *priv;
zstruct _%sSkeletonClass
z,  GDBusInterfaceSkeletonClass parent_class;
z0GType %s_skeleton_get_type (void) G_GNUC_CONST;
z;G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sSkeleton, g_object_unref)
z_skeleton_new (void);
zTYPE_OBJECT (zobject_get_type ())
z,OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT, z	Object))
z/IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT))
z9OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), zstruct _%sObject;
zObject zObject;
ObjectIface zObjectIface;
zstruct _%sObjectIface
z%{
  GTypeInterface parent_iface;
};

z.GType %sobject_get_type (void) G_GNUC_CONST;

z9G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObject, g_object_unref)
object_get_zObject *object);
object_peek_zTYPE_OBJECT_PROXY (zobject_proxy_get_type ())
z2OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), zTYPE_OBJECT_PROXY, zObjectProxy))
z5OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zObjectProxyClass))
z;OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z5IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT_PROXY))
z8IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zObjectProxy zObjectProxy;
zObjectProxyClass zObjectProxyClass;
zObjectProxyPrivate zObjectProxyPrivate;
zstruct _%sObjectProxy
z$  GDBusObjectProxy parent_instance;
z  %sObjectProxyPrivate *priv;
zstruct _%sObjectProxyClass
z&  GDBusObjectProxyClass parent_class;
z3GType %sobject_proxy_get_type (void) G_GNUC_CONST;
z>G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectProxy, g_object_unref)
zObjectProxy *zJobject_proxy_new (GDBusConnection *connection, const gchar *object_path);
zTYPE_OBJECT_SKELETON (zobject_skeleton_get_type ())
z5OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), zTYPE_OBJECT_SKELETON, zObjectSkeleton))
z8OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zObjectSkeletonClass))
z>OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z8IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT_SKELETON))
z;IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zObjectSkeleton zObjectSkeleton;
zObjectSkeletonClass zObjectSkeletonClass;
zObjectSkeletonPrivate zObjectSkeletonPrivate;
zstruct _%sObjectSkeleton
z'  GDBusObjectSkeleton parent_instance;
z!  %sObjectSkeletonPrivate *priv;
zstruct _%sObjectSkeletonClass
z)  GDBusObjectSkeletonClass parent_class;
z6GType %sobject_skeleton_get_type (void) G_GNUC_CONST;
zAG_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectSkeleton, g_object_unref)
zObjectSkeleton *z0object_skeleton_new (const gchar *object_path);
object_skeleton_set_ObjectSkeleton *object, z *interface_);
zTYPE_OBJECT_MANAGER_CLIENT (z#object_manager_client_get_type ())
z;OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), zTYPE_OBJECT_MANAGER_CLIENT, zObjectManagerClient))
z>OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zObjectManagerClientClass))
zDOBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z>IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT_MANAGER_CLIENT))
zAIS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zObjectManagerClient zObjectManagerClient;
zObjectManagerClientClass zObjectManagerClientClass;
zObjectManagerClientPrivate zObjectManagerClientPrivate;
zstruct _%sObjectManagerClient
z,  GDBusObjectManagerClient parent_instance;
z&  %sObjectManagerClientPrivate *priv;
z#struct _%sObjectManagerClientClass
z.  GDBusObjectManagerClientClass parent_class;
zFG_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectManagerClient, g_object_unref)
z<GType %sobject_manager_client_get_type (void) G_GNUC_CONST;
zGType %sobject_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);
a7  void %sobject_manager_client_new (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
zxGDBusObjectManager *%sobject_manager_client_new_finish (
    GAsyncResult        *res,
    GError             **error);
a!  GDBusObjectManager *%sobject_manager_client_new_sync (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);
a=  void %sobject_manager_client_new_for_bus (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
zGDBusObjectManager *%sobject_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
a'  GDBusObjectManager *%sobject_manager_client_new_for_bus_sync (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);
)"r'   r0   r8   namer   
name_upper
name_lower
camel_namer   methodssinceunix_fdin_argsctype_insignalsargs
propertiesargsortedkeysr   version_cmp_keyr)   r.   
deprecatedout_argsr-   	ctype_out	free_funcctype_in_dupr(   r   r   r   )	r1   ifunction_pointersmrQ   valueasps	            r   declare_typesz!HeaderCodeGenerator.declare_typesx   s63    p	% p	%ALt$$$Lb   L<qvEFFFLt$$$ L:::q|||Q\\\;   L::q|||QZZZq|||U   L:::q|||QZZZG   L::q|||QZZZq|||U   Lt$$$L!,?@@@L./lllALLLI   L89alllS   Lt$$$L2alCDDDLu%%%LABBB " 19~~! 3""4((( 
3 
3A7L1<$?@C9Q\JE0ALAAEDDEy ?!>>Y J Jajjj!&&!IIX%E-2%c** 19~~! 	3""4((( 3 3A7L1<$?@C.!,?E->>EV J Jajjj!&&!IIX%E-2%c** 1<  1$ 	3""4((( 3 3A7NQ\$ABCCE
 .3%c** /4466E<QRRR B B""4*;C*@#@AAAALv&&&Lt$$$(E1 )""#GHHH""J|%   "":...""4((($ C""6D,A#ABBBL:alK   Lt$$$$ C""6D,A#ABBBLAQ\R   $ C""6D,A#ABBBL`<!   Lt$$$ 19~~! )""4(((""#TUUU - -A, K**6D4I+IJJJ| A**+?@@@L&&& <<<q|||E   y J**+HIIIZ Q Q***AJJ+OPPPPL&&v...L&&t,,,,""4((( 19~~! )""4(((""#NOOO - -A, K**6D4I+IJJJ| A**+?@@@L&&&,-LLL!,,,V   V U U***


AFF+STTTTL&&v...L&&t,,,,""4((( 19~~! J)""4(((""#@AAA F- F-A, K**6D4I+IJJJ| A**+?@@@L&&&+,<<<q|||U   Y U U***


AFF+STTTT-8 **7   y J**+HIIIL&&5   L&&t,,,, K**6D4I+IJJJ| A**+?@@@L&&&+,<<<q|||U   Z V V***QVV+TUUUUy O**+MNNNL&&Q   L&&t,,,, K**6D4I+IJJJ| A**+?@@@L&&&+,<<<q|||U   Y U U***


AFF+STTTT-8 **7   y K**+IJJJZ V V***QVV+TUUUUy O**+MNNNL&&1  
 L&&t,,,,""4((( 1<  1$ $-""4(((""#FGGG !- !-A, K**6D4I+IJJJ| A**+?@@@L&&5>>1<<<q|||U   u 0 O L..v8M/MNNN< E L../CDDD** !" 2 2 ! ! !   , K**6D4I+IJJJ| A**+?@@@L&&&<<<q|||QU^^^U   L&&t,,,, Lt$$$L~...Lt$$$L:::q|||Q\\\;   L::q|||QZZZq|||U   L::q|||QZZZq|||U   L::q|||QZZZq|||U   L:::q|||QZZZG   L:::q|||QZZZG   Lt$$$L89alllS   L<<</   L<<</   Lt$$$L2alCDDDLu%%%L4555L@AAAL:alKLLLLv&&&Lt$$$L71<HIIILu%%%LBCCCLv&&&Lt$$$$ C""6D,A#ABBBL@ALQ   Lt$$$(,>> )""#GHHH""O|%   "":...""4((($ C""6D,A#ABBB| 9""#7888L9 =>LJ	 	 	 $ C""6D,A#ABBB| 9""#7888L 9:alllT  
 $ C""6D,A#ABBB| 9""#7888L 9:alllT   Lt$$$$ C""6D,A#ABBB| 9""#7888L9 =>LJ	 	 	 $ C""6D,A#ABBB| 9""#7888L 9:alllT  
 $ C""6D,A#ABBB| 9""#7888L 9:alllT   Lt$$$ Lt$$$L~...Lt$$$L:::q|||Q\\\;   L::q|||QZZZq|||U   L::q|||QZZZq|||U   L::q|||QZZZq|||U   L:::q|||QZZZG   L:::q|||QZZZG   Lt$$$L<<</   L<<</   L<<</   Lt$$$L5FGGGLu%%%L4555LLMMML=NOOOLv&&&Lt$$$L:alKLLLLu%%%LNOOOLv&&&Lt$$$$ C""6D,A#ABBBLCq|T   Lt$$$(,>> )""#GHHH""R|%   "":...""4((($ C""6D,A#ABBB| 9""#7888L34<<<N   Lt$$$$ # t	%Lt$$$L~...Lt$$$L===$---1   L===$---A   L===$---1   L===$---A   Lt$$$L4GHHHL>>>4>>>3   L>>>4>>>3   Lt$$$L8DNKLLLLSTTT$ C""6D,A#ABBBLEW   (E1 )""#GHHH""P~'   "":...""4((([  ( GL&&v0E'EFFF< =L&&';<<<"" **,,,,    [  ( GL&&v0E'EFFF< =L&&';<<<"" **,,,,    Lt$$$L===$---1   L===$---A   L===$---A   L===$---A   L===$---1   L===$---1   Lt$$$L>>>4>>>3   L>>>4>>>3   L>>>4>>>3   Lt$$$L8DNKLLLLu%%%L4555LFGGGL@DNSTTTLv&&&Lt$$$L=PQQQLu%%%LHIIILv&&&Lt$$$$ C""6D,A#ABBBLF$-X   Lt$$$(,>> )""#GHHH""U~'   "":...""4((($ C""6D,A#ABBBL>>>4===2   Lt$$$L===$---1   L===$---A   L===$---A   L===$---A   L===$---1   L===$---1   Lt$$$L>>>4>>>3   L>>>4>>>3   L>>>4>>>3   Lt$$$L;t~NOOOLu%%%L4555LIJJJLCt~VWWWLv&&&Lt$$$L@DNSTTTLu%%%LKLLLLv&&&Lt$$$$ C""6D,A#ABBBLI="   Lt$$$(,>> )""#GHHH""X~'   "":...""4((($ C""6D,A#ABBBL>>>4===2   [  ( GL&&v0E'EFFF< =L&&';<<<""" **,,,,    Lt$$$L~...Lt$$$L===$---1   L===$---A   L===$---A   L===$---A   L===$---1   L===$---1   Lt$$$L>>>4>>>3   L>>>4>>>3   L>>>4>>>3   Lt$$$L@DNSTTTLu%%%L4555LNOOOL9T^L   Lv&&&Lt$$$L6$.I   Lu%%%LPQQQLv&&&Lt$$$(,>> )""#GHHH""]~'   "":...""4((($ C""6D,A#ABBBLO="   Lt$$$$ C""6D,A#ABBBL q="   Lt$$$$ C""6D,A#ABBBL< @D}N	 	 	 $ C""6D,A#ABBBL58<G  
 $ C""6D,A#ABBBL8 <@=J   Lt$$$$ C""6D,A#ABBBL< @D}N	 	 	 $ C""6D,A#ABBBL58<G  
 $ C""6D,A#ABBBL8 <@=J   Lt$$$$$it	% t	%r   c                    | j                             d           | j                             d           | j        sN| j                             d           | j                             d                    | j                             d S d S Nr6   zG_END_DECLS
z#endif /* __{!s}__ */
r0   r8   r,   r:   r*   r1   s    r   generate_header_postamblez-HeaderCodeGenerator.generate_header_postamble      4   ?+++ 	TLt$$$L8??@QRRSSSSS	T 	Tr   c                 ~    |                                   |                                  |                                  d S r&   )r>   r   r   r   s    r   generatezHeaderCodeGenerator.generate  >    %%'''&&(((((r   N)__name__
__module____qualname__r2   r>   r   r   r   r   r   r   r$   r$   D   sf          8! ! !.h% h% h%XT T T) ) ) ) )r   r$   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS ) InterfaceInfoHeaderCodeGeneratorc
                     || _         t          |          \  | _        | _        | _        t          |          | _        || _        || _        || _	        || _
        | j
        d| _
        || _        |	| _        d S )Nr
   )r'   r   r   r   r   r"   r*   r+   r,   r-   r.   r/   r0   )
r1   r'   r   r!   r+   r,   r-   r.   r/   r0   s
             r   r2   z)InterfaceInfoHeaderCodeGenerator.__init__  sz     7I)7T7T4t}1+>>%:"$!2 0  	'$&D!'>$r   c                 ~   d                     | j                  }| j                            t                              t          j        |                     | j                            d           | j        r| j                            d           nd| j                            d                    | j	                             | j                            d                    | j	                             | j
        <| j                            d           | j                            d| j
        z             | j                            d           | j                            d           | j                            d           | j                            d           | j                            d           d S r4   r7   r<   s     r   r>   z9InterfaceInfoHeaderCodeGenerator.generate_header_preamble  r?   r   c                 p    | j         D ]-}| j                            d| j        d|j        d           .d S )Nzextern z const GDBusInterfaceInfo z_interface;
)r'   r0   r8   r.   rw   r1   r   s     r   declare_infosz.InterfaceInfoHeaderCodeGenerator.declare_infos)  sX     	 	AL(((!,,,8   	 	r   c                    | j                             d           | j                             d           | j        sN| j                             d           | j                             d                    | j                             d S d S r   r   r   s    r   r   z:InterfaceInfoHeaderCodeGenerator.generate_header_postamble2  r   r   c                 ~    |                                   |                                  |                                  d S r&   )r>   r   r   r   s    r   r   z)InterfaceInfoHeaderCodeGenerator.generate<  r   r   N)r   r   r   r2   r>   r   r   r   r   r   r   r   r     sb          4! ! !.  T T T) ) ) ) )r   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	InterfaceInfoBodyCodeGeneratorc                     || _         t          |          \  | _        | _        | _        || _        || _        || _        || _        || _	        d S r&   )
r'   r   r   r   r   r!   r+   r-   symbol_decoration_definer0   )r1   r'   r   r!   r+   r-   r   r0   s           r   r2   z'InterfaceInfoBodyCodeGenerator.__init__F  sP     7I)7T7T4t}&%:"!2(@%r   c                    d                     | j                  }| j                            t                              t          j        |                     | j        <| j                            d           | j                            d| j        z             | j                            d           | j                            d| j	        z             | j                            d           d S )Nr5   r6   #define %s
V#ifdef HAVE_CONFIG_H
#  include "config.h"
#endif

#include "%s"

#include <string.h>

r   r+   r0   r8   r9   r:   r   r;   r   r!   r<   s     r   generate_body_preamblez5InterfaceInfoBodyCodeGenerator.generate_body_preambleZ  s    IId899	;--fniHHIII( 	OLt$$$L~0MMNNN4   $ (,'79	
 	
 	
 	4     r   c                 b   | j                             d|d|d           | j                             d           |D ]"\  }}| j                             d|z             #| j                             d           | j                             d           | j                             d           d S )	Nzconst z	 * const z[] =
rH   z  &%s,
z  NULL,
rS   r6   )r0   r8   )r1   array_name_lowerelement_typeelementsr	   ru   s         r   generate_arrayz-InterfaceInfoBodyCodeGenerator.generate_arrayp  s    +7<<9I9I9IJ	
 	
 	
 	5!!!! 	2 	2IQLzD01111;'''6"""4     r   c                    t          |          dk    rd S g }|D ]}|j                            d          r|                     |d|j        d|j                   | j                            d|d|j        d           | j                            d           | j                            d           | j                            d	|j        z             | j                            d	|j        z             t          |j                  dk    r'| j                            d
|d|j        d           n| j                            d           | j                            d           | j                            d           |j	        |d|j        df}|
                    |           |                     |d|           d S )Nr   org.gtk.GDBus___annotationszconst GDBusAnnotationInfo z_annotation =
rH     -1,  /* ref count */
  (gchar *) "%s",
  (GDBusAnnotationInfo **) z_annotations,
  NULL,  /* no annotations */
rS   r6   _annotationGDBusAnnotationInfo)r   rQ   
startswithdefine_annotations	key_lowerannotationsr0   r8   r   rz   appendr   )r1   r   r   annotation_pointersr   rQ   s         r   r   z1InterfaceInfoBodyCodeGenerator.define_annotations{  s   {q  	F  	, 	,Au00 ##(8(8(8!+++F   L###Q[[[2   Lu%%%L9:::L4qu<===L4qw>???1=!!A% F"""'''6   
 ""#DEEELv&&&Lt$$$73C3C3CQ[[[QRC&&s++++35H	
 	
 	
 	
 	
r   c                 d   t          |          dk    rd S g }|D ]}}|                     |d|j        d|j                   | j                            d|d|j        d           | j                            d           | j                            d           | j                            d|j        z             | j                            d|j        z             t          |j                  dk    r'| j                            d	|d|j        d
           n| j                            d           | j                            d           | j                            d           |j        |d|j        df}|                    |           | 	                    |d|           d S )Nr   r   _arg_annotationszconst GDBusArgInfo z_arg =
rH   r   r   r   z_arg_annotations,
r   rS   r6   _argGDBusArgInfo)
r   r   ru   r   r0   r8   	signaturerz   r   r   )r1   r   r   arg_pointersr   rQ   s         r   define_argsz*InterfaceInfoBodyCodeGenerator.define_args  s   t99> 	F 	% 	%A##,<,<,<afffEq}   L7G7G7GP   Lu%%%L9:::L4qv=>>>L4q{BCCC1=!!A% F"""'''1   
 ""#DEEELv&&&Lt$$$7,<,<,<afffEFC$$$$,nlKKKKKr   c           	      >   | j         D 	]}| j                            d           | j                            d|j        z             | j                            d           t	          |j                  dk    rg }|j        D ]}|                     |j        d|j        d|j                   |                     |j        d|j        d|j	                   | 
                    |j        d|j        d|j                   | j                            d	|j        d|j        d
           | j                            d           | j                            d           | j                            d|j        z             t	          |j                  dk    r,| j                            d|j        d|j        d           n| j                            d           t	          |j	                  dk    r,| j                            d|j        d|j        d           n| j                            d           t	          |j                  dk    r,| j                            d|j        d|j        d           n| j                            d           | j                            d           | j                            d           |j        |j        d|j        df}|                    |           |                     d|j        z  d|           t	          |j                  dk    r"g }|j        D ]}|                     |j        d|j        d|j                   | 
                    |j        d|j        d|j                   | j                            d|j        d|j        d           | j                            d           | j                            d           | j                            d|j        z             t	          |j                  dk    r,| j                            d|j        d|j        d           n| j                            d           t	          |j                  dk    r,| j                            d|j        d|j        d            n| j                            d           | j                            d           | j                            d           |j        |j        d|j        d!f}|                    |           |                     d"|j        z  d#|           t	          |j                  dk    rg }|j        D ]}|j        r
|j        rd$}	n|j        rd%}	n|j        rd&}	nd'}	| 
                    |j        d|j        d(|j                   | j                            d)|j        d|j        d*           | j                            d           | j                            d           | j                            d|j        z             | j                            d|j        z             | j                            d+|	z             t	          |j                  dk    r,| j                            d|j        d|j        d,           n| j                            d           | j                            d           | j                            d           |j        |j        d|j        d-f}|                    |           |                     d.|j        z  d/|           | 
                    d0|j        z  |j                   | j                            d1|j        z             | j                            d           | j                            d           | j                            d|j        z             t	          |j                  dk    r#| j                            d2|j        z             n| j                            d3           t	          |j                  dk    r#| j                            d4|j        z             n| j                            d5           t	          |j                  dk    r#| j                            d6|j        z             n| j                            d7           t	          |j                  dk    r#| j                            d8|j        z             n| j                            d           | j                            d           | j                            d           	d S )9NrA   z/* Definitions for %s */
r6   r   _interface___method_in_args_method_out_args_method_annotationszconst GDBusMethodInfo z
_method =
rH   r   r   z  (GDBusArgInfo **) z_method_in_args,
z  NULL,  /* no in args */
z_method_out_args,
z  NULL,  /* no out args */
r   z_method_annotations,
r   rS   _methodz%s_interface_methodsGDBusMethodInfo_signal_args_signal_annotationszconst GDBusSignalInfo z
_signal =
z_signal_args,
z  NULL,  /* no args */
z_signal_annotations,
_signalz%s_interface_signalsGDBusSignalInfoIG_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE#G_DBUS_PROPERTY_INFO_FLAGS_READABLE#G_DBUS_PROPERTY_INFO_FLAGS_WRITABLEG_DBUS_PROPERTY_INFO_FLAGS_NONE_property_annotationszconst GDBusPropertyInfo z_property =
z  %s,
z_property_annotations,
	_propertyz%s_interface_propertiesGDBusPropertyInfoz%s_interface_annotationsz(const GDBusInterfaceInfo %s_interface =
z-  (GDBusMethodInfo **) %s_interface_methods,
z  NULL,  /* no methods */
z-  (GDBusSignalInfo **) %s_interface_signals,
z  NULL,  /* no signals */
z2  (GDBusPropertyInfo **) %s_interface_properties,
zNULL,  /* no properties */
z5  (GDBusAnnotationInfo **) %s_interface_annotations,
)r'   r0   r8   ru   r   ry   r   rw   r|   r   r   r   rz   r   r   r~   r   r   readablewritabler   )
r1   r   method_pointersr   rQ   signal_pointersr   property_pointersr   flagss
             r   define_infosz+InterfaceInfoBodyCodeGenerator.define_infos  s
    R	% R	%ALb   L;afDEEELt$$$ 19~~! ="$ 40 40A$$<<<7	  
 $$<<<7
  
 ++<<<7   L&&&<<<7   L&&u---L&&'ABBBL&&'<qv'EFFF19~~) J*** |||Q\\\;   
 **+HIII1:* K*** |||Q\\\;   
 **+IJJJ1=))A- N*** |||Q\\\;   
 **+LMMML&&v...L&&t,,, 56\\\1<<<PC $**3////##*Q\9%#   19~~! 0"$ '0 '0A$$:;,,,U   ++<<<7   L&&&<<<7   L&&u---L&&'ABBBL&&'<qv'EFFF16{{Q G*** |||Q\\\;   
 **+EFFF1=))A- N*** |||Q\\\;   
 **+LMMML&&v...L&&t,,, 56\\\1<<<PC $**3////##*Q\9%#   1<  1$ 0$&! '2 '2Az Baj B k B E B E A++<<<7   L&&&<<<7   L&&u---L&&'ABBBL&&'<qv'EFFFL&&'<q{'JKKKL&&y5'89991=))A- N*** |||Q\\\;   
 **+LMMML&&v...L&&t,,, 78|||Q\\\RC &,,S1111##-<'%   ##*Q\91=   L;alJ   Lu%%%L9:::L4qv=>>>19~~! B""Dq|S    ""#@AAA19~~! B""Dq|S    ""#@AAA1<  1$ C""IALX    ""#ABBB1=!!A% F""Ll#   
 ""#DEEELv&&&Lt$$$$eR	% R	%r   c                 V    |                                   |                                  d S r&   )r   r   r   s    r   r   z'InterfaceInfoBodyCodeGenerator.generate  s,    ##%%%r   N)
r   r   r   r2   r   r   r   r   r   r   r   r   r   r   r   E  s          (! ! !,	! 	! 	!&
 &
 &
PL L LBS% S% S%n    r   r   c                   t    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd ZdS )CodeGeneratorc
                     || _         t          |          \  | _        | _        | _        || _        || _        || _        || _        || _	        || _
        |	| _        d S r&   )r'   r   r   r   r   r(   r!   r+   docbook_genr-   r   r0   )
r1   r'   r   r(   r!   r+   r   r-   r   r0   s
             r   r2   zCodeGenerator.__init__  s`     7I)7T7T4t}#6 &%:"&!2(@%r   c                    d                     | j                  }| j                            t                              t          j        |                     | j        <| j                            d           | j                            d| j        z             | j                            d           | j                            d| j	        z             | j                            d           | j                            d           | j                            d           | j                            d           | j                            d	           | j                            d
           | j                            d           | j                            d           | j                            d           | j                            d           d S )Nr5   r6   r   r   z8#ifdef G_OS_UNIX
#  include <gio/gunixfdlist.h>
#endif

zbtypedef struct
{
  GDBusArgInfo parent_struct;
  gboolean use_gvariant;
} _ExtendedGDBusArgInfo;

ztypedef struct
{
  GDBusMethodInfo parent_struct;
  const gchar *signal_name;
  gboolean pass_fdlist;
} _ExtendedGDBusMethodInfo;

zktypedef struct
{
  GDBusSignalInfo parent_struct;
  const gchar *signal_name;
} _ExtendedGDBusSignalInfo;

ztypedef struct
{
  GDBusPropertyInfo parent_struct;
  const gchar *hyphen_name;
  guint use_gvariant : 1;
  guint emits_changed_signal : 1;
} _ExtendedGDBusPropertyInfo;

zqtypedef struct
{
  GDBusInterfaceInfo parent_struct;
  const gchar *hyphen_name;
} _ExtendedGDBusInterfaceInfo;

a  typedef struct
{
  const _ExtendedGDBusPropertyInfo *info;
  guint prop_id;
  GValue orig_value; /* the value before the change */
} ChangedProperty;

static void
_changed_property_free (ChangedProperty *data)
{
  g_value_unset (&data->orig_value);
  g_free (data);
}

a  static gboolean
_g_strv_equal0 (gchar **a, gchar **b)
{
  gboolean ret = FALSE;
  guint n;
  if (a == NULL && b == NULL)
    {
      ret = TRUE;
      goto out;
    }
  if (a == NULL || b == NULL)
    goto out;
  if (g_strv_length (a) != g_strv_length (b))
    goto out;
  for (n = 0; a[n] != NULL; n++)
    if (g_strcmp0 (a[n], b[n]) != 0)
      goto out;
  ret = TRUE;
out:
  return ret;
}

a  static gboolean
_g_variant_equal0 (GVariant *a, GVariant *b)
{
  gboolean ret = FALSE;
  if (a == NULL && b == NULL)
    {
      ret = TRUE;
      goto out;
    }
  if (a == NULL || b == NULL)
    goto out;
  ret = g_variant_equal (a, b);
out:
  return ret;
}

ah  G_GNUC_UNUSED static gboolean
_g_value_equal (const GValue *a, const GValue *b)
{
  gboolean ret = FALSE;
  g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
  switch (G_VALUE_TYPE (a))
    {
      case G_TYPE_BOOLEAN:
        ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
        break;
      case G_TYPE_UCHAR:
        ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
        break;
      case G_TYPE_INT:
        ret = (g_value_get_int (a) == g_value_get_int (b));
        break;
      case G_TYPE_UINT:
        ret = (g_value_get_uint (a) == g_value_get_uint (b));
        break;
      case G_TYPE_INT64:
        ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
        break;
      case G_TYPE_UINT64:
        ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
        break;
      case G_TYPE_DOUBLE:
        {
          /* Avoid -Wfloat-equal warnings by doing a direct bit compare */
          gdouble da = g_value_get_double (a);
          gdouble db = g_value_get_double (b);
          ret = memcmp (&da, &db, sizeof (gdouble)) == 0;
        }
        break;
      case G_TYPE_STRING:
        ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
        break;
      case G_TYPE_VARIANT:
        ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
        break;
      default:
        if (G_VALUE_TYPE (a) == G_TYPE_STRV)
          ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
        else
          g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
        break;
    }
  return ret;
}

r   r<   s     r   r   z$CodeGenerator.generate_body_preamble  s   IId899	;--fniHHIII( 	OLt$$$L~0MMNNN4   $ (,'79	
 	
 	
 	S	
 	
 	
 		
 	
 	
 		
 	
 	
 		
 	
 	
 			
 		
 		
 		
 	
 	
 		
 	
 	
" 		
 	
 	
2 		
 	
 	
( 	02	
 2	
 2	
 2	
 2	
r   c                    |d S d}|D ]}|j                             d          r| j                            d|||j         |j        fz             t          |j                  dk    r| j                            d           n| j                            d||fz             | j                            d           |dz  }|dk    r}| j                            d|z             d}|D ]A}|j                             d          r| j                            d	||fz             |dz  }B| j                            d
           |S )Nr   r   zUstatic const GDBusAnnotationInfo %s_%d =
{
  -1,
  (gchar *) "%s",
  (gchar *) "%s",
z  NULL
z+  (GDBusAnnotationInfo **) &%s_%d_pointers
};

r   z;static const GDBusAnnotationInfo * const %s_pointers[] =
{
z
  &%s_%d,
  NULL
};

)rQ   r   r0   r8   r   r   r   )r1   prefixr   nr   r   s         r   generate_annotationsz"CodeGenerator.generate_annotationss  s    	F 	 	A u00 L& *0AE17(C	D   1=!!Q& "":....""Bfa[P   L{+++FAAq5 	7L!   A   5##O44 ""=FA;#>???QL5666r   c                 N   |D ])}|                      |d|j        d|j                  }| j                            d|d|j        d|j        d|j        d	           |dk    r| j                            d	           n&| j                            d
|d|j        d           | j                            d           t          j        |j        d          s| j                            d           n| j                            d           | j                            d           +t          |          dk    rd| j                            d|z             |D ](}| j                            d|d|j        d           )| j                            d           d S d S )N_arg__annotation_infoz#static const _ExtendedGDBusArgInfo r	     =
{
  {
    -1,
    (gchar *) "",
    (gchar *) "",
r   	    NULL
z    (GDBusAnnotationInfo **) &_annotation_info_pointers
z  },
org.gtk.GDBus.C.ForceGVariant  FALSE
  TRUE
r   z4static const GDBusArgInfo * const %s_pointers[] =
{
z  &.parent_struct,
r   )	r   ru   r   r0   r8   r   r   lookup_annotationr   )r1   r   r   r   num_annos        r   generate_argszCodeGenerator.generate_args  s    	, 	,A00/5vvqvvv> H L ,266166616661;;;P   1} ""<0000"""vvqvvv'   Lx(((*>  / "";////"":...L{++++t99q= 	7LKvV    S S"""&&&!&&&#QRRRRL566666	7 	7r   c                    | j                             d|j        z             t          |j                  dk    r|j        D ]}|                     d|j        d|j        d|j                   |                     d|j        d|j        d|j                   | 	                    d|j        d|j        d|j
                  }| j                             d	|j        d|j        d
|j        d           t          |j                  dk    r| j                             d           n+| j                             d|j        d|j        d           t          |j                  dk    r| j                             d           n+| j                             d|j        d|j        d           |dk    r| j                             d           n+| j                             d|j        d|j        d           | j                             d|j        d|j        rdndd           | j                             d           | j                             d|j        z             |j        D ]-}| j                             d|j        d|j        d           .| j                             d           t          |j                  dk    r|j        D ]t}|                     d|j        d|j        d|j                   | 	                    d|j        d|j        d|j
                  }| j                             d |j        d|j        d
|j        d           t          |j                  dk    r| j                             d           n+| j                             d|j        d|j        d!           |dk    r| j                             d           n+| j                             d|j        d|j        d           | j                             d"|j        z             | j                             d           v| j                             d#|j        z             |j        D ]-}| j                             d|j        d|j        d           .| j                             d           t          |j                  dk    r&|j        D ]}|j        r
|j        rd$}n|j        rd%}n|j        rd&}nd'}| 	                    d|j        d(|j        d|j
                  }| j                             d)|j        d*|j        d
|j        d+|j        j        d,|d-           |dk    r| j                             d           n+| j                             d|j        d(|j        d           | j                             d.|j        z             t)          j        |j
        d/          s| j                             d0           n| j                             d1           |j        r| j                             d2           n| j                             d3           | j                             d           | j                             d4|j        z             |j        D ]-}| j                             d|j        d*|j        d           .| j                             d           | 	                    d5|j        z  |j
                  }| j                             d6|j        d7|j        d           t          |j                  dk    r| j                             d           n"| j                             d8|j        z             t          |j                  dk    r| j                             d           n"| j                             d9|j        z             t          |j                  dk    r| j                             d           n"| j                             d:|j        z             |dk    r| j                             d           n"| j                             d;|j        z             | j                             d<|j        z             | j                             d           | j                             | j                            d=|j        d>|j        d?d@                     |                     || j         d           | j                             dA|j        dB|j        dC           | j                             | j                            d=|j        dD|j        dEd@                     |                     || j         d           | j                             dF|j        z             t          |j                  dk    r| j                             dG           | j                             dH           |j        D ]$}| j                             dI|j        z             %| j                             dJ           | j                             d           d S )KNz+/* ---- Introspection data for %s ---- */

r   r	   _method_info__IN_ARG_OUT_ARG_method_r   z'static const _ExtendedGDBusMethodInfo _r   r   z
    NULL,
z    (GDBusArgInfo **) &_z_IN_ARG_pointers,
z_OUT_ARG_pointers,
r   z    (GDBusAnnotationInfo **) &_r   z  },
  "handle-z",
  TRUEFALSEr6   r   zDstatic const GDBusMethodInfo * const _%s_method_info_pointers[] =
{
z  &_r   r   _signal_info__ARG_signal_z'static const _ExtendedGDBusSignalInfo _z_ARG_pointers,
z  },
  "%s"
zDstatic const GDBusSignalInfo * const _%s_signal_info_pointers[] =
{
r   r   r   r   
_property_z)static const _ExtendedGDBusPropertyInfo __property_info_r   z",
    z,
z  },
  "%s",
r   z	  FALSE,
z  TRUE,
r   r   zHstatic const GDBusPropertyInfo * const _%s_property_info_pointers[] =
{
z_%s_annotation_infoz*static const _ExtendedGDBusInterfaceInfo _z/_interface_info =
{
  {
    -1,
    (gchar *) "z4    (GDBusMethodInfo **) &_%s_method_info_pointers,
z4    (GDBusSignalInfo **) &_%s_signal_info_pointers,
z8    (GDBusPropertyInfo **) &_%s_property_info_pointers,
z;    (GDBusAnnotationInfo **) &_%s_annotation_info_pointers
z  },
  "%s",
};

/**
 * zC_interface_info:
 *
 * Gets a machine-readable description of the #zV D-Bus interface.
 *
 * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
FzGDBusInterfaceInfo *
z;_interface_info (void)
{
  return (GDBusInterfaceInfo *) &_z"_interface_info.parent_struct;
}

z_override_properties:
 * @klass: The class structure for a #GObject derived class.
 * @property_id_begin: The property id to assign to the first overridden property.
 *
 * Overrides all #GObject properties in the #z interface for a concrete class.
 * The properties are overridden in the order they are defined.
 *
 * Returns: The last property id.
z1guint
%s_override_properties (GObjectClass *klassz G_GNUC_UNUSEDz, guint property_id_begin)
{
zG  g_object_class_override_property (klass, property_id_begin++, "%s");
z#  return property_id_begin - 1;
}

)r0   r8   ru   r   ry   r   rw   r|   r   r   r   name_hyphenr{   r~   r   r   r   r   r   r   r   r   emits_changed_signalr   expand+write_gtkdoc_deprecated_and_since_and_closerx   )r1   r   r   r   r   r   accesss          r   $generate_introspection_for_interfacez2CodeGenerator.generate_introspection_for_interface  s   >!&I	
 	
 	
 qy>>A <	7Y 00 00"""34<<<NI   """45LLL!,,,OJ  
  44478|||Q\\\RM 
 """
 01|||Q\\\1666	S   qy>>Q& L&&}5555L&&&<<<7   qz??a' L&&}5555L&&&<<<7   q= L&&|4444L&&&<<<7   """ !"/Ovv/O/OQ  
 "";////L'   Y  """|||Q\\\3    L5666 qy>>A +	7Y 0 0"""01alllKQV    44478|||Q\\\RM  """
 01|||Q\\\1666	S   qv;;!# L&&}5555L&&&<<<7   q= L&&|4444L&&&<<<7   ""#6!-#HIII"";////L'   Y  """|||Q\\\3    L5666 q|q  5	7\ )0 )0: ?!* ?hFFZ ?BFFZ ?BFF>F4449:q|||TM  """ |||Q\\\166615???FFFT	 	 	 q= L&&|4444L&&&<<<7   ""#71=#IJJJ.M#B  4 L&&|4444L&&{333) 4L&&z2222L&&{333"";////L'   \  """|||Q\\\3    L5666,,!Q\2AM
 
 	
 ()|||QVVV	=	
 	
 	
 qy>>Q 	L}----LG1<X   qy>>Q 	L}----LG1<X   q|! 	L}----LK<!   q= 	L|,,,,LN<!   	;q}MNNN4   ### <<<) 	 		
 	
 	
 	88DL!LLL LLL!,,,0	
 	
 	
 	### :;q|||U  	
 	
 	
 	88DL!LLLCq|T	
 	
 	
 q|! 	1L/000?@@@ 	 	ALZ="    	IJJJ4     r   c                    | j                             d           | j                             | j                            d|j        d|j        dd                     |                     || j         d           | j                             d           | j                             | j                            d|j        z  d                     i }t          |j                  dk    r@|j        D ]8}|j	        d|j
        z  f}d	|j
        z  }|d
|j        d|j        dz  }|||<   9t          |j                  dk    r@|j        D ]8}|j	        d|j
        z  f}d|j
        z  }|d
|j        d|j        dz  }|||<   9t          |j                  dk    r@|j        D ]8}|j	        d|j
        z  f}d|j
        z  }|d|j        d|j        dz  }|||<   9t          |                                t           j                  D ]%}| j                             d||         z             &| j                             | j                            d|j        z  d                     |                     || j         d           | j                             d           | j                             d|j        d|j        d           | j                             d|j        d|j
        d           | j                             d           | j                             d|j
        d|j        d            t          |j                  dk    rKt          |j                  dk    r3t          |j                  dk    r| j                             d!           n| j                             d"           | j                             d#           t          |j                  dk    r| j                             d$           |j        D ]}| j                             | j                            d%|j        d|j        d&|j        d'd                     |j        r| j                             d(           |j        D ]$}| j                             d)|j        z             %| j                             | j                            d*|j        d+|j        d,|j
        d-|j
        d.	d                     |                     || j         d/           |j        rd/}	nd0}	| j                             d1|j        |j        |j
        t          |j                  |	z   fz             |j        r| j                             d2           |j        D ]$}| j                             d3|j        z             %| j                             d4           | j                             d           t          |j                  dk    r| j                             d5           |j        D ]}}| j                             | j                            d%|j        d|j        d&|j        dd                     |j        D ]$}| j                             d6|j        z             %| j                             | j                            d7|j        d|j        d8d                     |                     || j         d/           | j                             d9|j        |j        |j
        t          |j                  fz             |j        D ]$}| j                             d3|j        z             %| j                             d4           | j                             d           t          |j                  dk    ry| j                             d:           |j        D ]V}|j        r
|j        rd;}
n;|j        rd<}
n1|j        rd=}
n't1          d>                    |j                             | j                             | j                            d%|j        d|j        d?|j        d|j        d@|
dd                     |                     || j         d/           | j                             dA           |j        j        dBk    r*dC|j        dD|j        dD|j        dE|j        j        dF	}n|j        j        dGk    rdH|j        dD|j        dD|j        dI}n|j        j        dJk    rdK|j        dD|j        dD|j        dL}n|j        j        dMk    rdN|j        dD|j        dD|j        dO}np|j        j        dPk    rdQ|j        dD|j        dD|j        dR}nC|j        j        dSk    rdN|j        dD|j        dD|j        dT}n|j        j        dUk    rdQ|j        dD|j        dD|j        dV}n|j        j        dWk    rdX|j        dD|j        dD|j        dY}n|j        j        dZk    rd[|j        dD|j        dD|j        d\}n|j        j        d]k    rd^|j        dD|j        dD|j        d_}nb|j        j        d`k    rda|j        dD|j        dD|j        db}n5|j        j        dck    rda|j        dD|j        dD|j        db}n|j        j        ddk    rda|j        dD|j        dD|j        db}n|j        j        dek    rda|j        dD|j        dD|j        db}n|j        j        dfk    rdg|j        dD|j        dD|j        dh}n|j        j        dik    rdg|j        dD|j        dD|j        dh}nX|j        j        djk    rdg|j        dD|j        dD|j        dh}n,t1          dk                    |j        j                             dl}|j        rdm|z   }| j                             dn|d|do           | j                             d           X| j                             dp           d S )qNr6   r  z9:
 *
 * Abstract interface type for the D-Bus interface #.
Fr   z8/**
 * %sIface:
 * @parent_iface: The parent interface.
rI   z@handle_%s: zHandler for the #z	::handle-z signal.rM   z@%s: ::rN   z	@get_%s: zGetter for the #:z
 property.rP   z * %s
z1 *
 * Virtual table for the D-Bus interface #%s.
typedef rG   zInterface;
zG_DEFINE_INTERFACE (r5   z, G_TYPE_OBJECT)
static void
z_default_init (Iface *iface G_GNUC_UNUSED)
)
rH   z9  /* GObject signals for incoming D-Bus method calls: */
  /**
   * z:
   * @object: A #z..
   * @invocation: A #GDBusMethodInvocation.
z4   * @fd_list: (nullable): A #GUnixFDList or %NULL.
z0   * @arg_%s: Argument passed by remote caller.
z>   *
   * Signal emitted when a remote caller is invoking the .z() D-Bus method.
   *
   * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call rW   ao  () or e.g. g_dbus_method_invocation_return_error() on it) and no other signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
   *
   * Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or %FALSE to let other signal handlers run.
r_   r   a    g_signal_new ("handle-%s",
    G_TYPE_FROM_INTERFACE (iface),
    G_SIGNAL_RUN_LAST,
    G_STRUCT_OFFSET (%sIface, handle_%s),
    g_signal_accumulator_true_handled,
    NULL,
    g_cclosure_marshal_generic,
    G_TYPE_BOOLEAN,
    %d,
    G_TYPE_DBUS_METHOD_INVOCATIONz, G_TYPE_UNIX_FD_LISTz, %srY   z4  /* GObject signals for received D-Bus signals: */
z   * @arg_%s: Argument.
zP   *
   * On the client-side, this signal is emitted whenever the D-Bus signal #z is received.
   *
   * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
z  g_signal_new ("%s",
    G_TYPE_FROM_INTERFACE (iface),
    G_SIGNAL_RUN_LAST,
    G_STRUCT_OFFSET (%sIface, %s),
    NULL,
    NULL,
    g_cclosure_marshal_generic,
    G_TYPE_NONE,
    %dz1  /* GObject properties for D-Bus properties: */
zSince the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.zSince the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.zSince the D-Bus property for this #GObject property is writable but not readable, it is meaningful to write to it on both the client- and service-side. It is only meaningful, however, to read from it on the service-side.>Cannot handle property "{}" that neither readable nor writablez+:
   *
   * Represents the D-Bus property #z.
   *
   * z.  g_object_interface_install_property (iface,
G_TYPE_VARIANTzg_param_spec_variant ("", "z", G_VARIANT_TYPE ("z"), NULLbzg_param_spec_boolean ("z", FALSEyzg_param_spec_uchar ("z", 0, 255, 0r   zg_param_spec_int ("z", G_MININT16, G_MAXINT16, 0qzg_param_spec_uint ("z", 0, G_MAXUINT16, 0r   z", G_MININT32, G_MAXINT32, 0uz", 0, G_MAXUINT32, 0xzg_param_spec_int64 ("z", G_MININT64, G_MAXINT64, 0tzg_param_spec_uint64 ("z", 0, G_MAXUINT64, 0dzg_param_spec_double ("z!", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0r   zg_param_spec_string ("z", NULLogayaszg_param_spec_boxed ("z", G_TYPE_STRVaoaayz%Unsupported gtype "{}" for GParamSpec*G_PARAM_READWRITE | G_PARAM_STATIC_STRINGSG_PARAM_DEPRECATED | z    z));}

)r0   r8   r   r  rx   ru   r  r   ry   rz   rw   r  r~   r   r   r   r   r   r{   r|   gtyper   r   r   r   r:   r   r   r   )r1   r   doc_bitsr   rQ   r   r   r   r   
extra_argshintr   s               r   generate_interfacez CodeGenerator.generate_interface  s   4   ###
 <<<	)
  		
 		
 		
 	88DL!LLL4   ##<?@|M 	 	
 	
 	
 qy>>A 	&Y & &wq| ;<&!,7LLLMMM  !&qy>>A 	&Y & &wq| ;<1<0LLLMMM  !&q|q  	&\ & &w =>#q|4LLLMMM  !&(--//u/DEEE 	: 	:CLy8C=89999##HAFS 	
 	
 	
 	88DL!LLL4   01alllK	
 	
 	
 	|||Q\\\+	
 	
 	
 	4   12q|||M	
 	
 	
 qy>>Q 	&3qy>>Q#6 	&3q|;L;LPQ;Q 	&L23333Lu%%%5!!!qy>>A ?	)LL   Y ;) ;)""$+++
 <<<	F
  	 	 	 9 L&&O     AL&&KqvV    ""$+++ 66616661<<<G 	 	   @@DLRSTTT9 #!"JJ!"J""	8 AI3	  $ 9 @L&&'>??? ; ;AL&&v'9::::""6***""4((((qy>>A '	)LVWWWY %) %)""$+++ <<<F      O OAL&&'Baf'MNNNN""$+++
 6661666	+
  	 	 	 @@DLRSTTT"" !"q|Q\3qv;;WX
 
 
  ; ;AL&&v'9::::""6***""4((((q|q  F	)LSTTT\ D) D): !*  LDDZ 	 zDDZ  zDDX__F   
 ""$+++ <<<N 	 	   @@DLRSTTT""#TUUU5;"22 d d ===!&&&!&&&!%///K A U_+ _ _AA
 U_+ Y YAA
 U_+ S S ===!&&&!&&&: A U_+ N NAA
 U_+ H H ===!&&&!&&&: A U_+ C CAA
 U_+ = = ===!&&&!&&&: A U_+ 8 8AA
 U_+ 2 2 ===!&&&!&&&: A U_+ - -AA
 U_+ ' 'AA
 U_+ ! !AA
 U_,  AA
 U_,  AA
 U_,  AA
 U_- 	 	AA  ?FFqu{SS   E< <3e;E"""aaa#?@@@""4((((:&&&&&r   c                    |j         D ]o}|j        r
|j        rd}n;|j        rd}n1|j        rd}n't          d                    |j                             | j                            | j        	                    d|j
        d|j
        d|j        d|j        d	|j        d
|dd                     |j        j        ,| j                            d|j
        d|j
        d           n| j                            d           |                     || j        d           | j                            |j        j        d|j
        d|j
        d|j        d           | j                            d|j        |j        d|j
        d           | j                            d           | j                            d           |j        j        D| j                            | j        	                    d|j
        d|j
        d|j        d|j        d	|j        d
|d|j        j        dd                     |                     || j        d           | j                            |j        j        d|j
        d|j
        d|j        d|j        j        d
           | j                            d|j        z             | j                            d           | j                            d           | j                            d           |j        r
|j        rd}n;|j        rd }n1|j        rd!}n't          d                    |j                             | j                            | j        	                    d|j
        d"|j
        d|j        d#|j        d	|j        d$|dd                     |                     || j        d           | j                            d%|j
        d"|j
        d|j        d&|j        j        d'	           | j                            d(|j        z             | j                            d           | j                            d           qd S ))NzSince this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.zrSince this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.zjSince this D-Bus property is not readable, it is only meaningful to use this function on the service-side.r  r  rg   : (skip)
 * @object: A #z.
 *
 * Gets the value of the #r  z D-Bus property.
 *
 * z
 *
Fz * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use rh   z() if on another thread.
 *
 * Returns: (transfer none) (nullable): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.
z  * Returns: The property value.
r   r6   rC    *object)
{
z	  return z_GET_IFACE (object)->get_z (object);
}
z.
 *
 * Gets a copy of the #z
 *
 * Returns: (transfer full) (nullable): The property value or %NULL if the property is not set. The returned value should be freed with z().
 *object)
{
  zvalue;
z8  g_object_get (G_OBJECT (object), "%s", &value, NULL);
  return value;
zjSince this D-Bus property is not writable, it is only meaningful to use this function on the service-side.zrSince this D-Bus property is writable, it is meaningful to use this function on both the client- and service-side.ri   z/.
 * @value: The value to set.
 *
 * Sets the #z! D-Bus property to @value.
 *
 * void
rj   z	value)
{
z7  g_object_set (G_OBJECT (object), "%s", value, NULL);
)r   r   r   r   r:   ru   r0   r8   r   r  rw   rx   r   r   r  r}   r   rv   r   r  )r1   r   r   r4  s       r   generate_property_accessorsz)CodeGenerator.generate_property_accessors	  s?    F	% F	%Az aj  ^ 	 L  DT[[   
 L ''' |||Q\\\1<<<QUQUQUW     u H""" |||Q\\\3    ""#FGGG<<QaPPPL q|||Q\\\S  
 L::q|||Q\\\;   Lu%%%Lt$$$u -)""$+++ LLLLLLLLLFFFFFF DDEOOO!$ '   . @@DLRSTTT"" ******
   ""O}&   ""#6777""5)))""4((( z aj  ^ 	 D  LT[[   
 L ''' |||Q\\\1<<<QUQUQUW     <<QaPPPL q|||Q\\\15>>>S  
 LJ="   Lu%%%Lt$$$$MF	% F	%r   c                    |j         D ]}| j                            | j                            d|j        d|j        d|j        dd                     |j        D ]$}| j                            d|j        z             %| j                            | j                            d|j        d|j        d	d                     | 	                    || j        d
           | j                            d|j        d|j        d|j        d           |j        D ],}| j                            d|j
        d|j                   -| j                            d|j        z             |j        D ]$}| j                            d|j        z             %| j                            d           | j                            d           d S )Nr  rZ   :
 * @object: A #r  Fz. * @arg_%s: Argument to pass with the signal.
z *
 * Emits the #r  z D-Bus signal.
r   r<  rX   r[   rK   rL   z))
{
  g_signal_emit_by_name (object, "%s"z, arg_%srY   r0  )r~   r0   r8   r   r  rw   rx   r   ru   r  r}   r  )r1   r   r   r   s       r   generate_signal_emittersz&CodeGenerator.generate_signal_emitters	  s    !	+ !	+AL ''' /0lllALLL!,,,X 	    V  ""EP    L '''EFVVVQVVVT    <<QaPPPL %&LLL!,,,N  
 V M M"""


AFF#KLLLLLCq}U   V 8 8"":#67777Lv&&&Lz****C!	+ !	+r   c                    |j         D 
]}| j                            d|j        d|j        d|j        d           |j        D ]$}| j                            d|j        z             %| j        dk    r| j                            d           |j        r| j                            d           | j                            | j	        
                    d	|j        d
|j        d|j        d|j        d|j        d|j        dd                     |                     || j        d           | j                            d|j        d|j        d|j        d           |j        D ],}| j                            d|j        d|j                   -| j        dk    r| j                            d           |j        r| j                            d           | j                            d           |j        r| j                            d           n| j                            d           | j                            d|j        z             |j        D ]$}| j                            d|j        z             %| j                            d           |j        D ]$}| j                            d|j        z             %| j                            d           | j        dk    r| j                            d           n| j                            d            |j        r| j                            d!           | j                            d"           | j                            d#           | j                            d|j        d|j        d$|j        d           |j        D ]9}| j                            d%|j        d&|j        r
d'|j        z   nd(d)           :|j        r| j                            d*           | j                            | j	        
                    d+|j        d|j        d,|j        d|j        d-	d                     |                     || j        d           | j                            d.|j        d|j        d/|j        d           |j        D ],}| j                            d|j        d0|j                   -|j        r| j                            d1           | j                            d2           |j        r| j                            d3           n| j                            d4           | j                            d5           | j                            d6           |j        D ]$}| j                            d|j        z             %| j                            d           |j        D ]$}| j                            d7|j        z             %| j                            d8           | j                            d9           | j                            d|j        d|j        d:|j        d           |j        D ]$}| j                            d|j        z             %| j        dk    r| j                            d           |j        r| j                            d           |j        D ]9}| j                            d%|j        d&|j        r
d'|j        z   nd(d)           :|j        r| j                            d;           | j                            | j	        
                    d<|j        d
|j        d=|j        d|j        d>	d                     |                     || j        d           | j                            d.|j        d|j        d?|j        d           |j        D ],}| j                            d|j        d|j                   -| j        dk    r| j                            d           |j        r| j                            d@           |j        D ],}| j                            d|j        d0|j                   -|j        r| j                            d1           | j                            dA           |j        r| j                            dB           n| j                            dC           | j                            d|j        z             |j        D ]$}| j                            d|j        z             %| j                            d           |j        D ]$}| j                            d|j        z             %| j                            d           | j        dk    r| j                            d           n| j                            d            |j        r| j                            dD           | j                            dE           | j                            d6           |j        D ]$}| j                            d|j        z             %| j                            d           |j        D ]$}| j                            d7|j        z             %| j                            d8           | j                            d9           
d S )FNr  r\   z:
 * @proxy: A #Proxy.
z9 * @arg_%s: Argument to pass with the method invocation.
r^   a6   * @call_flags: Flags from the #GDBusCallFlags enumeration. If you want to allow interactive
       authorization be sure to set %G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION.
 * @timeout_msec: The timeout in milliseconds (with %G_MAXINT meaning "infinite") or
       -1 to use the proxy default timeout.
2 * @fd_list: (nullable): A #GUnixFDList or %NULL.
z * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
 * @user_data: User data to pass to @callback.
 *
 * Asynchronously invokes the r  z() D-Bus method on @proxy.
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call z8_finish() to get the result of the operation.
 *
 * See z>_sync() for the synchronous, blocking version of this method.
Fr   r<  rX   r]   rK   rL   ra   rJ   z],
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data)
{
z=  g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy),
z+  g_dbus_proxy_call (G_DBUS_PROXY (proxy),
z    "%s",
    g_variant_new ("(rR   )",
                   arg_%sz),
z"    call_flags,
    timeout_msec,
z$    G_DBUS_CALL_FLAGS_NONE,
    -1,
z    fd_list,
z/    cancellable,
    callback,
    user_data);
r0  z_finish:
 * @proxy: A #z * @out_z: (out) (optional)rE   r
   z;: Return location for return parameter or %NULL to ignore.
zZ * @out_fd_list: (out) (optional): Return location for a #GUnixFDList or %NULL to ignore.
zL * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to z\().
 * @error: Return location for error or %NULL.
 *
 * Finishes an operation started with zQ().
 *
 * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
z	gboolean
rb   rc   rd   zA,
    GAsyncResult *res,
    GError **error)
{
  GVariant *_ret;
ze  _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error);
zF  _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
z#  if (_ret == NULL)
    goto _out;
z*  g_variant_get (_ret,
                 "(z,
                 out_%sz);
  g_variant_unref (_ret);
z _out:
  return _ret != NULL;
}

z_sync:
 * @proxy: A #zE * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL.
z * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL.
 *
 * Synchronously invokes the z^() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
 *
 * See z}() for the asynchronous version of this method.
 *
 * Returns: (skip): %TRUE if the call succeeded, %FALSE if @error is set.
re   rf   zI,
    GCancellable *cancellable,
    GError **error)
{
  GVariant *_ret;
zI  _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy),
z7  _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
z    fd_list,
    out_fd_list,
z@    cancellable,
    error);
  if (_ret == NULL)
    goto _out;
)ry   r0   r8   rw   rx   r|   ru   r-   r{   r   r  r  r}   	format_inr   array_annotationr   
format_outr1   r   r   r   s       r   generate_method_callsz#CodeGenerator.generate_method_calls	  s    	P 	PAL /0lllALLL!,,,X  
 Y  ""Pv    %0 ""D   y ""I   L ''' " %   , <<QaPPPL $%<<<q|||M  
 Y M M"""


AFF#KLLLL%0 ""Q   y B""#@AAAL   y S""T    ""#QRRRLDOPPPY 9 9""41;#78888Lt$$$Y N N""#AQV#LMMMMLv&&&%0 P""#LMMMM""#NOOOy 5""#3444LJ   Lz***L /0lllALLL!,,,X  
 Z  """vvv1;MUsQ%777SUUUW    y ""q   L ''' |||Q\\\1<<<O 	 	   <<QaPPPL $%<<<q|||M  
 Z N N"""QVV#LMMMMy G""#EFFFL&   y ""|    ""]   LIJJJLOPPPZ : :""41<#89999Lt$$$Z L L""#?16#JKKKKLCDDDLNOOO L /0lllALLL!,,,X  
 Y  ""Pv    %0 ""D   y ""I   Z  """vvv1;MUsQ%777SUUUW    y ""\   L ''' vvvqvvvq|||Q\\\C     <<QaPPPL $%<<<q|||M  
 Y M M"""


AFF#KLLLL%0 ""Q   y C""#ABBBZ N N"""QVV#LMMMMy G""#EFFFL&   y ""`    ""N   LDOPPPY 9 9""41;#78888Lt$$$Y N N""#AQV#LMMMMLv&&&%0 P""#LMMMM""#NOOOy J""#HIIIL#   LOPPPZ : :""41<#89999Lt$$$Z L L""#?16#JKKKKLCDDDLNOOOO	P 	Pr   c           
      (   |j         D ]}| j                            d|j        d|j        d|j        d           |j        r| j                            d           |j        D ]$}| j                            d|j        z             %| j                            | j        	                    d|j        d|j        d	d
                     | 
                    || j        d           | j                            d|j        d|j        d|j        d           |j        r| j                            d           |j        D ]+}| j                            d|j        |j                   ,| j                            d           |j        r| j                            d           n| j                            d           |j        D ]$}| j                            d|j        z             %| j                            d           |j        D ]$}| j                            d|j        z             %|j        r| j                            d           n| j                            d           | j                            d           d S )Nr  rW   r?  z=.
 * @invocation: (transfer full): A #GDBusMethodInvocation.
rC  z * @%s: Parameter to return.
z\ *
 * Helper function used in service implementations to finish handling invocations of the r  z() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
 *
 * This method will free @invocation, you cannot use it afterwards.
Fr   r<  rX   z= *object G_GNUC_UNUSED,
    GDBusMethodInvocation *invocationrJ   rK   z)
{
z\  g_dbus_method_invocation_return_value_with_unix_fd_list (invocation,
    g_variant_new ("(zJ  g_dbus_method_invocation_return_value (invocation,
    g_variant_new ("(rR   rD  z,
                   %sz),
    fd_list);
));
r0  )ry   r0   r8   rw   rx   r{   r   ru   r   r  r  r}   rF  rI  s       r   generate_method_completersz(CodeGenerator.generate_method_completers
  s    9	+ 9	+AL
 <<<q|||	=   y ""I   Z P P""#Cqv#NOOOOL '''
 vvvqvvv	'
  	 	 	 <<QaPPPL
 <<<q|||	=   y B""#@AAAZ I I"""AJJ#GHHHHL{+++y 	"",   
 "",   Z 9 9""41;#78888Lt$$$Z J J""#=#HIIIIy ,""#89999""7+++Lz****s9	+ 9	+r   c                 t   | j                             d           | j                             | j                            d|j        d|j        dd                     |                     || j         d           | j                             d           | j                             | j                            d|j        d|j        d	d                     |                     || j         d           | j                             d           | j                             d
|j        z             | j                             d|j        d|j        d           | j                             d           | j                             d|j        d|j        d           | j                             d|j        z             | j                             d|j        d|j        d|j        d           | j                             d           | j                             d|j        d|j        d           | j                             d|j        d|j        d|j        d           | j                             d           | j                             d|j        z             | j                             d|j        d|j        |j        d           | j                             d           | j                             d|j        z             | j                             d|j        z             t          |j
                  dk    r| j                             d            n| j                             d!           | j                             d"           t          |j
                  dk    r6| j                             d#t          |j
                  |j        fz             | j                             d$           t          |j
                  dk    r^| j                             d%|j        z             | j                             d&|j        z             | j                             d$           | j                             d'|j        z             t          |j
                  dk    r| j                             d(           n| j                             d)           | j                             d"           t          |j
                  dk    rB| j                             d*t          |j
                  |j        |j        |j        fz             | j                             d$           | j                             d+|j        z             | j                             d,           | j                             d-|j        z             | j                             d.|j        d|j        d/           | j                             d0           | j                             d1|j        d|j        d2           | j                             d3           | j                             d4           | j                             d$           | j                             d5|j        z             | j                             d|j        d|j        |j        d6|j        d7|j        d8
           |j
        D ]}d9}|j        j        d:}| j                             d;|j        j        d|j        d<|j        d=|j        d>|j        d|j        |j        d?|j        j        d@|dA           d}|j        j        dBk    s |j        j        dCk    s|j        j        dDk    rdE}|r"| j                             dF|j        z             | j                             dG|j        z             |j        j        dHk    rO| j                             dI           | j                             dJ           | j                             dK           n| j                             dL           dM}|j        j        dNk    s0|j        j        dBk    s |j        j        dCk    s|j        j        dDk    rdO}| j                             dP|j        j        dQ|d2           |r"| j                             dR|j        z             | j                             dS           | j                             dT           | j                             dU           | j                             dV           | j                             d           | j                             dW|j        dX|j        dY|j        dZ|j        d|j        d[|j        d\|j        d]           | j                             dW|j        d^|j        d_|j        d`|j        da|j        db|j        dc|j        dd           t          |j
                  dk    r"| j                             de|j        z             | j                             df|j        z             | j                             d$           | j                             dW|j        d|j        dg           t          |j
                  dk    r| j                             dh           n| j                             di           | j                             dj           |j
        D ]5}| j                             dk|j        dl|j        d<|j        dA           6| j                             d$           | j                             | j                            d|j        dm|j        dn|j        do|j        dp	d                     |                     || j         d           | j                             dq|j        dr|j        d|j        ds|j        dt	           | j                             d|j        du|j        dv|j        dw|j        dx	           |                     || j         d           | j                             |j        dy|j        dz|j        |j        d{           | j                             | j                            d|j        d||j        d}|j        d~|j        dx	d                     |                     || j         d           | j                             |j        dy|j        d|j        d|j        d|j        d|j        |j        d{           | j                             d           | j                             | j                            d|j        d|j        d|j        d|j        d	d                     |                     || j         d           | j                             dq|j        d|j        d|j        d|j        dt	           | j                             d|j        d|j        d|j        d|j        dx	           |                     || j         d           | j                             |j        dy|j        d|j        |j        d{           | j                             | j                            d|j        d|j        d|j        d|j        dx	d                     |                     || j         d           | j                             |j        dy|j        d|j        d|j        d|j        d|j        |j        d{           | j                             d           d S )NP/* ------------------------------------------------------------------------ */

r  zProxy:
 *
 * The #z_Proxy structure contains only private data and should only be accessed using the provided API.
Fr   r6   zKProxyClass:
 * @parent_class: The parent class.
 *
 * Class structure for #rB  z-struct _%sProxyPrivate
{
  GData *qdata;
};

static void z_proxy_iface_init (zIface *iface);

2#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
G_DEFINE_TYPE_WITH_CODE (zProxy, z_proxy, G_TYPE_DBUS_PROXY,
z1                         G_ADD_PRIVATE (%sProxy)
0                         G_IMPLEMENT_INTERFACE (rB   r5   z_proxy_iface_init))

#else
rU   z2static void
%s_proxy_finalize (GObject *object)
{
rO   zProxy *proxy = z_PROXY (object);
z*  g_datalist_clear (&proxy->priv->qdata);
z@  G_OBJECT_CLASS (%s_proxy_parent_class)->finalize (object);
}

z7static void
%s_proxy_get_property (GObject      *objectz\ G_GNUC_UNUSED,
  guint         prop_id G_GNUC_UNUSED,
  GValue       *value G_GNUC_UNUSED,
z2,
  guint         prop_id,
  GValue       *value,
z'  GParamSpec   *pspec G_GNUC_UNUSED)
{
a    const _ExtendedGDBusPropertyInfo *info;
  GVariant *variant;
  g_assert (prop_id != 0 && prop_id - 1 < %d);
  info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];
  variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);
  if (info->use_gvariant)
    {
      g_value_set_variant (value, variant);
    }
  else
    {
      if (variant != NULL)
        g_dbus_gvariant_to_gvalue (variant, value);
    }
  if (variant != NULL)
    g_variant_unref (variant);
r0  zkstatic void
%s_proxy_set_property_cb (GDBusProxy *proxy,
  GAsyncResult *res,
  gpointer      user_data)
{
a    const _ExtendedGDBusPropertyInfo *info = user_data;
  GError *error;
  GVariant *_ret;
  error = NULL;
  _ret = g_dbus_proxy_call_finish (proxy, res, &error);
  if (!_ret)
    {
      g_warning ("Error setting property '%%s' on interface %s: %%s (%%s, %%d)",
                 info->parent_struct.name, 
                 error->message, g_quark_to_string (error->domain), error->code);
      g_error_free (error);
    }
  else
    {
      g_variant_unref (_ret);
    }
z#static void
%s_proxy_set_property (zpGObject      *object G_GNUC_UNUSED,
  guint         prop_id G_GNUC_UNUSED,
  const GValue *value G_GNUC_UNUSED,
zFGObject      *object,
  guint         prop_id,
  const GValue *value,
ai    const _ExtendedGDBusPropertyInfo *info;
  GVariant *variant;
  g_assert (prop_id != 0 && prop_id - 1 < %d);
  info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];
  variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));
  g_dbus_proxy_call (G_DBUS_PROXY (object),
    "org.freedesktop.DBus.Properties.Set",
    g_variant_new ("(ssv)", "%s", info->parent_struct.name, variant),
    G_DBUS_CALL_FLAGS_NONE,
    -1,
    NULL, (GAsyncReadyCallback) %s_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct);
  g_variant_unref (variant);
zstatic void
%s_proxy_g_signal (GDBusProxy *proxy,
  const gchar *sender_name G_GNUC_UNUSED,
  const gchar *signal_name,
  GVariant *parameters)
{
z  _ExtendedGDBusSignalInfo *info;
  GVariantIter iter;
  GVariant *child;
  GValue *paramv;
  gsize num_params;
  gsize n;
  guint signal_id;
z  info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, signal_name);
  if (info == NULL)
    return;
zz  num_params = g_variant_n_children (parameters);
  paramv = g_new0 (GValue, num_params + 1);
  g_value_init (&paramv[0], z-);
  g_value_set_object (&paramv[0], proxy);
a    g_variant_iter_init (&iter, parameters);
  n = 1;
  while ((child = g_variant_iter_next_value (&iter)) != NULL)
    {
      _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
      if (arg_info->use_gvariant)
        {
          g_value_init (&paramv[n], G_TYPE_VARIANT);
          g_value_set_variant (&paramv[n], child);
          n++;
        }
      else
        g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
      g_variant_unref (child);
    }
2  signal_id = g_signal_lookup (info->signal_name, rY   z/  g_signal_emitv (paramv, signal_id, 0, NULL);
zZ  for (n = 0; n < num_params + 1; n++)
    g_value_unset (&paramv[n]);
  g_free (paramv);
zstatic void
%s_proxy_g_properties_changed (GDBusProxy *_proxy,
  GVariant *changed_properties,
  const gchar *const *invalidated_properties)
{
aL  _PROXY (_proxy);
  guint n;
  const gchar *key;
  GVariantIter *iter;
  _ExtendedGDBusPropertyInfo *info;
  g_variant_get (changed_properties, "a{sv}", &iter);
  while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
    {
      info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_a  _interface_info.parent_struct, key);
      g_datalist_remove_data (&proxy->priv->qdata, key);
      if (info != NULL)
        g_object_notify (G_OBJECT (proxy), info->hyphen_name);
    }
  g_variant_iter_free (iter);
  for (n = 0; invalidated_properties[n] != NULL; n++)
    {
      info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_z_interface_info.parent_struct, invalidated_properties[n]);
      g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
      if (info != NULL)
        g_object_notify (G_OBJECT (proxy), info->hyphen_name);
    }
}

0NULLstatic _proxy_get_rC   r:  z(_PROXY (object);
  GVariant *variant;
  zvalue = rF   g_variant_get_strvg_variant_get_objvg_variant_get_bytestring_arrayTzb  value = g_datalist_get_data (&proxy->priv->qdata, "%s");
  if (value != NULL)
    return value;
zK  variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "%s");
r  z  value = variant;
z  if (variant != NULL)
z    g_variant_unref (variant);
z  if (variant != NULL)
    {
r
   g_variant_get_stringz, NULLz      value = z	 (variantzV      g_datalist_set_data_full (&proxy->priv->qdata, "%s", (gpointer) value, g_free);
z!      g_variant_unref (variant);
z    }
r;  r9  r  z_proxy_init (zRProxy *proxy)
{
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
  proxy->priv = z__proxy_get_instance_private (proxy);
#else
  proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, rk   zPProxyPrivate);
#endif

  g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), z_interface_info ());
}

z_proxy_class_init (zProxyClass *klass)
{
  GObjectClass *gobject_class;
  GDBusProxyClass *proxy_class;

  gobject_class = G_OBJECT_CLASS (klass);
  gobject_class->finalize     = z1_proxy_finalize;
  gobject_class->get_property = z5_proxy_get_property;
  gobject_class->set_property = z\_proxy_set_property;

  proxy_class = G_DBUS_PROXY_CLASS (klass);
  proxy_class->g_signal = z7_proxy_g_signal;
  proxy_class->g_properties_changed = z_proxy_g_properties_changed;

z.  %s_override_properties (gobject_class, 1);

zu#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
  g_type_class_add_private (klass, sizeof (%sProxyPrivate));
#endif
r  r  r  rH     iface->get_ = a  _proxy_new:
 * @connection: A #GDBusConnection.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
 * @user_data: User data to pass to @callback.
 *
 * Asynchronously creates a proxy for the D-Bus interface #z. See g_dbus_proxy_new() for more details.
 *
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call zB_proxy_new_finish() to get the result of the operation.
 *
 * See zM_proxy_new_sync() for the synchronous, blocking version of this constructor.
r<  a$  _proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data)
{
  g_async_initable_new_async (z_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "z", NULL);
}

z__proxy_new_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to ze_proxy_new().
 * @error: Return location for error or %NULL
 *
 * Finishes an operation started with z3_proxy_new().
 *
 * Returns: (transfer full) (type z@Proxy): The constructed proxy object or %NULL if @error is set.
 *
aL  _proxy_new_finish (
    GAsyncResult        *res,
    GError             **error)
{
  GObject *ret;
  GObject *source_object;
  source_object = g_async_result_get_source_object (res);
  ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
  g_object_unref (source_object);
  if (ret != NULL)
    return z# (ret);
  else
    return NULL;
}

a  _proxy_new_sync:
 * @connection: A #GDBusConnection.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL
 *
 * Synchronously creates a proxy for the D-Bus interface #zy. See g_dbus_proxy_new_sync() for more details.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See zd_proxy_new() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type a  _proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error)
{
  GInitable *ret;
  ret = g_initable_new (z_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "z(", NULL);
  if (ret != NULL)
    return ar  _proxy_new_for_bus:
 * @bus_type: A #GBusType.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: A bus name (well-known or unique).
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
 * @user_data: User data to pass to @callback.
 *
 * Like a  _proxy_new() but takes a #GBusType instead of a #GDBusConnection.
 *
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call zJ_proxy_new_for_bus_finish() to get the result of the operation.
 *
 * See zU_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
a*  _proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data)
{
  g_async_initable_new_async (z_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "zg_proxy_new_for_bus_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to zm_proxy_new_for_bus().
 * @error: Return location for error or %NULL
 *
 * Finishes an operation started with z;_proxy_new_for_bus().
 *
 * Returns: (transfer full) (type aT  _proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error)
{
  GObject *ret;
  GObject *source_object;
  source_object = g_async_result_get_source_object (res);
  ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
  g_object_unref (source_object);
  if (ret != NULL)
    return a*  _proxy_new_for_bus_sync:
 * @bus_type: A #GBusType.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: A bus name (well-known or unique).
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL
 *
 * Like z_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See zl_proxy_new_for_bus() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type a  _proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error)
{
  GInitable *ret;
  ret = g_initable_new (z_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", ")r0   r8   r   r  rx   r  rw   r   rv   r   r   ru   r   r   r}   gvariant_getr1  )r1   r   r   	nul_valuefree_container	extra_lens         r   generate_proxyzCodeGenerator.generate_proxy  s   	
 	
 	

 	###
 <<<	/
  		
 		
 		
 	88DL!LLL4   ###
 9:alll	T
  		
 		
 		
 	88DL!LLL4    <	 	
 	
 	
 	LLL!,,,0	
 	
 	
 	PQQQ|||Q\\\+	
 	
 	
 	@ALQ	
 	
 	
 	zzz1<<<7	
 	
 	
 	9%%%|||Q\\\+	
 	
 	
 	zzz1<<<7	
 	
 	
 	:&&& 	\#	
 	
 	

 	|||QZZ7	
 	
 	
 	HIIIL"	
 	
 	
 	:=>\K	
 	
 	
 q|! 		L9    LM   	IJJJq|q  	L3" 7:!,6G6G5V#W  ( 	:&&&q|q  	+L 	'   L V%  $ Lz***DUVVVq|! 	L9    L+  
 	IJJJq|q  	L1 q|$$alAFALIJ   	:&&& 	
 \#	
 	
 	
 	#	
 	
 	
 	 |-	
 	
 	

 	 >?ZZZW	
 	
 	
 		
 	
 	
" 	zzz1<<<)	
 	
 	
 	MNNN#	
 	
 	

 	:&&& 	 \	#	
 	
 	
 	. LLL!**alllALLL!,,,-X	
 	
 	
6  K	% K	%AIu #"	L ENNNLLLLLLLLLLLLJJLLLENNNII  0 #N"&::&5%)==& 5%)II&
 "&
  ""*-.V5  
 L^6   u{.. .""#9:::""#=>>>""#EFFFF""#GHHH	E&*@@)u)-AA) u)-AA) u)-MM	) !)I"""9:9K9K9KYYYW   " L&&q6#   ""#GHHH""9---L2333Lu%%%Lt$$$$ 	 


%	
 	
 	
, 	" -	
 	
 	
4 q|q  	LBalS   	,(	
 	
 	

 	:&&&56\\\1<<<Q	
 	
 	
 q|! 	&L23333Lu%%%5!!! 	 	AL<<<q|||=    	:&&& 	###" <<<q|||!E" % 	
 	
 	
, 	88DL!LLL LLL!***alllAFFFD	
 	
 	
 	 |||Q\\\1<<<G
	
 
	
 
	
 	88DL!LLL  LLL!,,,

ALLLJ	
 	
 	
$ 	###" <<<q|||!E" % 	
 	
 	
, 	88DL!LLL& 




1	
 	
 	
8 	4   ###" <<<q|||Q\\\!K" % 	
 	
 	
, 	88DL!LLL LLL!***alllAFFFD	
 	
 	
 	 |||Q\\\1<<<G
	
 
	
 
	
 	88DL!LLL  LLL!,,,

ALLLJ	
 	
 	
$ 	###" <<<q|||Q\\\!K" % 	
 	
 	
, 	88DL!LLL& 




1	
 	
 	
8 	4     r   c                 #   | j                             d           | j                             | j                            d|j        d|j        dd                     |                     || j         d           | j                             d           | j                             | j                            d|j        d|j        d	d                     |                     || j         d           | j                             d           | j                             d
|j        z             | j                             d|j        d|j        d|j        |j        d           | j                             d           | j                             d|j        d|j        d           | j                             d           | j                             d|j        d|j        d           | j                             d           | j                             d           | j                             d           | j                             d|j        d|j        d|j        |j        d           | j                             d|j        z             | j                             d|j        d|j        d|j        |j        d           | j                             d |j        z             | j                             d!|j        d"|j        d#|j        d$|j        d%	           | j                             d&|j        d'|j        d(           | j                             d           | j                             d)|j        d*|j        d+           | j                             d           | j                             d,|j        d-|j        d|j        |j        d.           | j                             d/|j        d0|j        d1|j        d2|j        d3|j	        d4           t          |j                  dk    r"| j                             d5|j        z             | j                             d6|j        z             t          |j                  dk    r| j                             d7           n| j                             d8           | j                             d9           t          |j                  dk    r:| j                             d:|j        d|j        |j        d;|j        d<           | j                             d           |j        D ]}| j                             d|j        d=|j        d>|j        d?           |j        D ],}| j                             d@|j        dA|j	                   -| j                             dB|j        d|j        |j        dC           | j                             dD           |j        D ]$}| j                             dE|j        z             %| j                             dF           |j        D ]$}| j                             dG|j	        z             %| j                             dH           | j                             dI|j	        dJ|j	        dK           | j                             dL           | j                             dM           | j                             d           | j                             dN|j        dO|j        dP           | j                             dQ           | j                             dR|j        dS|j        dT           | j                             dU|j        z             | j                             dV|j        d|j        dW|j        dX           | j                             dY           | j                             dR|j        dS|j        dT           | j                             dV|j        d|j        dW|j        dX           | j                             dZ           | j                             d[|j        z             | j                             d:|j        d|j        |j        d\           t          |j                  dk    rI| j                             d]t          |j                  z             | j                             d^           | j                             d_           | j                             d`           | j                             da           | j                             db           | j                             dc           | j                             dd|j        z             t          |j                  dk    ru| j                             de|j        z             | j                             df|j        |j        |j        t          |j                  fz             | j                             d           | j                             d|j        dg|j        d|j        |j        dh           | j                             di|j	        z             | j                             d_           | j                             dj           | j                             dk           | j                             dl           | j                             dm           | j                             d|j        dn|j        do           | j                             dp           | j                             dq|j        dr|j        d|j        |j        ds|j        dt|j        du           | j                             dv|j        z             | j                             dw|j        |j        |j        t          |j                  |j        |j        fz             | j                             d           | j                             dq|j        dx|j        dy|j        dz|j        d|j        d{|j        d|           | j                             d}           | j                             d~           t          |j                  dk    ri| j                             dt          |j                  z             d}|j        D ]0}| j                             d||j        j        fz             |dz  }1| j                             d           d}|j        D ]}| j                             d|j        j        d|j        d|j        d|j        d	           | j                             d:|j        d|j        |j        d\           | j                             d|j        j        |j        j        |fz             | j                             d           | j                             d           | j                             d           |dz  }| j                             dq|j        d|j        d|j        d           t          |j                  dk    rU| j                             d|j        d|j        d|j        d           | j                             d|j        z             | j                             d           | j                             d|j        z             | j                             d|j        z             | j                             d|j        z             | j                             d|j        z             | j                             d|j        z             | j                             d           | j                             dq|j        dO|j        d           t          |j                  dk    r3t          |j                  dk    r| j                             d7           n| j                             d8           | j                             d9           |j        D ]5}| j                             d|j        d|j        d=|j        d           6|j        D ]5}| j                             d|j        d|j        d|j        d           6| j                             d           | j                             | j                            d|j        d|j	        d|j        dd                     |                     || j         d           | j                             |j        d|j        d|j        |j        d|j        d|j        d           d S )NrO  r  zSkeleton:
 *
 * The #zbSkeleton structure contains only private data and should only be accessed using the provided API.
Fr   r6   zNSkeletonClass:
 * @parent_class: The parent class.
 *
 * Class structure for #z
Skeleton.
zstruct _%sSkeletonPrivate
{
  GValue *properties;
  GList *changed_properties;
  GSource *changed_properties_idle_source;
  GMainContext *context;
  GMutex lock;
};

zstatic void
_a-  _skeleton_handle_method_call (
  GDBusConnection *connection G_GNUC_UNUSED,
  const gchar *sender G_GNUC_UNUSED,
  const gchar *object_path G_GNUC_UNUSED,
  const gchar *interface_name,
  const gchar *method_name,
  GVariant *parameters,
  GDBusMethodInvocation *invocation,
  gpointer user_data)
{
  zSkeleton *skeleton = z_SKELETON (user_data);
  _ExtendedGDBusMethodInfo *info;
  GVariantIter iter;
  GVariant *child;
  GValue *paramv;
  gsize num_params;
  guint num_extra;
  gsize n;
  guint signal_id;
  GValue return_value = G_VALUE_INIT;
zx  info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
  g_assert (info != NULL);
z  num_params = g_variant_n_children (parameters);
  num_extra = info->pass_fdlist ? 3 : 2;  paramv = g_new0 (GValue, num_params + num_extra);
  n = 0;
  g_value_init (&paramv[n], rB   a  );
  g_value_set_object (&paramv[n++], skeleton);
  g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
  g_value_set_object (&paramv[n++], invocation);
  if (info->pass_fdlist)
    {
#ifdef G_OS_UNIX
      g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
      g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
#else
      g_assert_not_reached ();
#endif
    }
a    g_variant_iter_init (&iter, parameters);
  while ((child = g_variant_iter_next_value (&iter)) != NULL)
    {
      _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
      if (arg_info->use_gvariant)
        {
          g_value_init (&paramv[n], G_TYPE_VARIANT);
          g_value_set_variant (&paramv[n], child);
          n++;
        }
      else
        g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
      g_variant_unref (child);
    }
rU  rY   ae    g_value_init (&return_value, G_TYPE_BOOLEAN);
  g_signal_emitv (paramv, signal_id, 0, &return_value);
  if (!g_value_get_boolean (&return_value))
    g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
  g_value_unset (&return_value);
zb  for (n = 0; n < num_params + num_extra; n++)
    g_value_unset (&paramv[n]);
  g_free (paramv);
r0  zstatic GVariant *
_a  _skeleton_handle_get_property (
  GDBusConnection *connection G_GNUC_UNUSED,
  const gchar *sender G_GNUC_UNUSED,
  const gchar *object_path G_GNUC_UNUSED,
  const gchar *interface_name G_GNUC_UNUSED,
  const gchar *property_name,
  GError **error,
  gpointer user_data)
{
  z_SKELETON (user_data);
  GValue value = G_VALUE_INIT;
  GParamSpec *pspec;
  _ExtendedGDBusPropertyInfo *info;
  GVariant *ret;
a    ret = NULL;
  info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, property_name);
  g_assert (info != NULL);
  pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
  if (pspec == NULL)
    {
      g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %%s", property_name);
    }
  else
    {
      g_value_init (&value, pspec->value_type);
      g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
      ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
      g_value_unset (&value);
    }
  return ret;
}

zstatic gboolean
_a(  _skeleton_handle_set_property (
  GDBusConnection *connection G_GNUC_UNUSED,
  const gchar *sender G_GNUC_UNUSED,
  const gchar *object_path G_GNUC_UNUSED,
  const gchar *interface_name G_GNUC_UNUSED,
  const gchar *property_name,
  GVariant *variant,
  GError **error,
  gpointer user_data)
{
  z_SKELETON (user_data);
  GValue value = G_VALUE_INIT;
  GParamSpec *pspec;
  _ExtendedGDBusPropertyInfo *info;
  gboolean ret;
a    ret = FALSE;
  info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, property_name);
  g_assert (info != NULL);
  pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
  if (pspec == NULL)
    {
      g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %%s", property_name);
    }
  else
    {
      if (info->use_gvariant)
        g_value_set_variant (&value, variant);
      else
        g_dbus_gvariant_to_gvalue (variant, &value);
      g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
      g_value_unset (&value);
      ret = TRUE;
    }
  return ret;
}

z#static const GDBusInterfaceVTable _z_skeleton_vtable =
{
  _z!_skeleton_handle_method_call,
  _z"_skeleton_handle_get_property,
  _z,_skeleton_handle_set_property,
  {NULL}
};

zstatic GDBusInterfaceInfo *
z^_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
{
  return z_interface_info ();
zstatic GDBusInterfaceVTable *
z{_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
{
  return (GDBusInterfaceVTable *) &_z_skeleton_vtable;
zstatic GVariant *
zP_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
{
  z_SKELETON (_skeleton);
zm
  GVariantBuilder builder;
  guint n;
  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
  if (_zO_interface_info.parent_struct.properties == NULL)
    goto out;
  for (n = 0; _za_interface_info.parent_struct.properties[n] != NULL; n++)
    {
      GDBusPropertyInfo *info = _z_interface_info.parent_struct.properties[n];
      if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
        {
          GVariant *value;
          value = _z_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "a8  ", info->name, NULL, skeleton);
          if (value != NULL)
            {
              g_variant_take_ref (value);
              g_variant_builder_add (&builder, "{sv}", info->name, value);
              g_variant_unref (value);
            }
        }
    }
out:
  return g_variant_builder_end (&builder);
}

z8static gboolean _%s_emit_changed (gpointer user_data);

zOstatic void
%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeletonr  r  rH   rO   a  _SKELETON (_skeleton);
  gboolean emit_changed = FALSE;

  g_mutex_lock (&skeleton->priv->lock);
  if (skeleton->priv->changed_properties_idle_source != NULL)
    {
      g_source_destroy (skeleton->priv->changed_properties_idle_source);
      skeleton->priv->changed_properties_idle_source = NULL;
      emit_changed = TRUE;
    }
  g_mutex_unlock (&skeleton->priv->lock);

  if (emit_changed)
    _z_emit_changed (skeleton);
_on_signal_rX   r[   rK   rL   z)
{
  z_SKELETON (object);

  GList      *connections, *l;
  GVariant   *signal_variant;
  connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
z9
  signal_variant = g_variant_ref_sink (g_variant_new ("(rR   rD  rE  rL  z  for (l = connections; l != NULL; l = l->next)
    {
      GDBusConnection *connection = l->data;
      g_dbus_connection_emit_signal (connection,
        NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "r   z(",
        signal_variant, NULL);
    }
z$  g_variant_unref (signal_variant);
z2  g_list_free_full (connections, g_object_unref);
rP  z_skeleton_iface_init (zIface *iface);
rQ  rR  z
Skeleton, z+_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
z4                         G_ADD_PRIVATE (%sSkeleton)
rS  r5   z_skeleton_iface_init))

rT  rU   z5static void
%s_skeleton_finalize (GObject *object)
{
z_SKELETON (object);
zZ  guint n;
  for (n = 0; n < %d; n++)
    g_value_unset (&skeleton->priv->properties[n]);
z'  g_free (skeleton->priv->properties);
zb  g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
z>  if (skeleton->priv->changed_properties_idle_source != NULL)
zG    g_source_destroy (skeleton->priv->changed_properties_idle_source);
z2  g_main_context_unref (skeleton->priv->context);
z)  g_mutex_clear (&skeleton->priv->lock);
zC  G_OBJECT_CLASS (%s_skeleton_parent_class)->finalize (object);
}

zstatic void
%s_skeleton_get_property (GObject      *object,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec G_GNUC_UNUSED)
{
z  %sSkeleton *skeleton = %s%s_SKELETON (object);
  g_assert (prop_id != 0 && prop_id - 1 < %d);
  g_mutex_lock (&skeleton->priv->lock);
  g_value_copy (&skeleton->priv->properties[prop_id - 1], value);
  g_mutex_unlock (&skeleton->priv->lock);
z'_emit_changed (gpointer user_data)
{
  z_SKELETON (user_data);
a    GList *l;
  GVariantBuilder builder;
  GVariantBuilder invalidated_builder;
  guint num_changes;

  g_mutex_lock (&skeleton->priv->lock);
  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
  g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));
  for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)
    {
      ChangedProperty *cp = l->data;
      GVariant *variant;
      const GValue *cur_value;

      cur_value = &skeleton->priv->properties[cp->prop_id - 1];
      if (!_g_value_equal (cur_value, &cp->orig_value))
        {
          variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));
          g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);
          g_variant_unref (variant);
          num_changes++;
        }
    }
  if (num_changes > 0)
    {
      GList *connections, *ll;
      GVariant *signal_variant;
      signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "%s",
                                           &builder, &invalidated_builder));
      connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
      for (ll = connections; ll != NULL; ll = ll->next)
        {
          GDBusConnection *connection = ll->data;

          g_dbus_connection_emit_signal (connection,
                                         NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),
                                         "org.freedesktop.DBus.Properties",
                                         "PropertiesChanged",
                                         signal_variant,
                                         NULL);
        }
      g_variant_unref (signal_variant);
      g_list_free_full (connections, g_object_unref);
    }
  else
    {
      g_variant_builder_clear (&builder);
      g_variant_builder_clear (&invalidated_builder);
    }
z-  skeleton->priv->changed_properties = NULL;
z9  skeleton->priv->changed_properties_idle_source = NULL;
z*  g_mutex_unlock (&skeleton->priv->lock);
z  return FALSE;
}

z_schedule_emit_changed (ai  Skeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)
{
  ChangedProperty *cp;
  GList *l;
  cp = NULL;
  for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)
    {
      ChangedProperty *i_cp = l->data;
      if (i_cp->info == info)
        {
          cp = i_cp;
          break;
        }
    }
aT    if (cp == NULL)
    {
      cp = g_new0 (ChangedProperty, 1);
      cp->prop_id = prop_id;
      cp->info = info;
      skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);
      g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));
      g_value_copy (orig_value, &cp->orig_value);
    }
}

r  zO_skeleton_notify (GObject      *object,
  GParamSpec *pspec G_GNUC_UNUSED)
{
  a  _SKELETON (object);
  g_mutex_lock (&skeleton->priv->lock);
  if (skeleton->priv->changed_properties != NULL &&
      skeleton->priv->changed_properties_idle_source == NULL)
    {
      skeleton->priv->changed_properties_idle_source = g_idle_source_new ();
      g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);
      g_source_set_callback (skeleton->priv->changed_properties_idle_source, _z_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
      g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _z_emit_changed");
      g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);
      g_source_unref (skeleton->priv->changed_properties_idle_source);
    }
  g_mutex_unlock (&skeleton->priv->lock);
}

zstatic void
%s_skeleton_set_property (GObject      *object,
  guint         prop_id,
  const GValue *value,
  GParamSpec   *pspec)
{
a4    const _ExtendedGDBusPropertyInfo *info;
  %sSkeleton *skeleton = %s%s_SKELETON (object);
  g_assert (prop_id != 0 && prop_id - 1 < %d);
  info = (const _ExtendedGDBusPropertyInfo *) _%s_property_info_pointers[prop_id - 1];
  g_mutex_lock (&skeleton->priv->lock);
  g_object_freeze_notify (object);
  if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))
    {
      if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL &&
          info->emits_changed_signal)
        _%s_schedule_emit_changed (skeleton, info, prop_id, &skeleton->priv->properties[prop_id - 1]);
      g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);
      g_object_notify_by_pspec (object, pspec);
    }
  g_mutex_unlock (&skeleton->priv->lock);
  g_object_thaw_notify (object);
z_skeleton_init (z[Skeleton *skeleton)
{
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
  skeleton->priv = zk_skeleton_get_instance_private (skeleton);
#else
  skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, rn   zSkeletonPrivate);
#endif

z(  g_mutex_init (&skeleton->priv->lock);
zB  skeleton->priv->context = g_main_context_ref_thread_default ();
z4  skeleton->priv->properties = g_new0 (GValue, %d);
z6  g_value_init (&skeleton->priv->properties[%d], %s);
r   rX  _skeleton_get_rC   r8  z  %svalue;
  g_mutex_lock (&skeleton->priv->lock);
  value = %s (&(skeleton->priv->properties[%d]));
  g_mutex_unlock (&skeleton->priv->lock);
r;  r9  z_skeleton_class_init (zSkeletonClass *klass)
{
  GObjectClass *gobject_class;
  GDBusInterfaceSkeletonClass *skeleton_class;

  gobject_class = G_OBJECT_CLASS (klass);
  gobject_class->finalize = z_skeleton_finalize;
z   gobject_class->get_property = z8_skeleton_get_property;
  gobject_class->set_property = z8_skeleton_set_property;
  gobject_class->notify       = z_skeleton_notify;

z.
  %s_override_properties (gobject_class, 1);
z=
  skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
zB  skeleton_class->get_info = %s_skeleton_dbus_interface_get_info;
zN  skeleton_class->get_properties = %s_skeleton_dbus_interface_get_properties;
z<  skeleton_class->flush = %s_skeleton_dbus_interface_flush;
zF  skeleton_class->get_vtable = %s_skeleton_dbus_interface_get_vtable;
zy
#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
  g_type_class_add_private (klass, sizeof (%sSkeletonPrivate));
#endif
r  z	  iface->z = _rF   r^  r_  zH_skeleton_new:
 *
 * Creates a skeleton object for the D-Bus interface #z'.
 *
 * Returns: (transfer full) (type z Skeleton): The skeleton object.
r`  z _skeleton_new (void)
{
  return z (g_object_new (z_SKELETON, NULL));
}

)r0   r8   r   r  rx   r  rw   r   rv   ru   r   r   r~   r   r}   rF  r   r1  
ctype_in_g
gvalue_get)r1   r   r   r   r   r   s         r   generate_skeletonzCodeGenerator.generate_skeleton  s   	
 	
 	

 	###
 <<<	/
  		
 		
 		
 	88DL!LLL4   ###
 <=<<<	W
  		
 		
 		
 	88DL!LLL4    < 
	
 
	
 
	
 	, |||Q\\\1::q|||+E	
 	
 	
0 	+	
 	
 	
 	" Q\\\!3	
 	
 	
& 		
 	
 	
  	zzz1<<<)	
 	
 	
 	1	
 	
 	
 	#	
 	
 	

 	:&&&  |||Q\\\1::q|||E	
 	
 	
$ 	" L#"	
 	
 	
* 	  $%<<<qzz1<<<Y	
 	
 	
$ 	( L)"	
 	
 	
0 	 LLL!,,,alllL		
 		
 		
 	 34,,,N	
 	
 	
 	:&&&
 |||Q\\\	+	
 	
 	
 	:&&&
 |||Q\\\1::q|||	E	
 	
 	
 	2 LLL!,,,alllAFFF1T	
 	
 	
8 q|q  	L&  
 	R|	
 	
 	

 q|! 	&L23333Lu%%%5!!!q|q  	L <<<Q\\\1<<<I  " 	:&&& &	+ &	+AL %&LLL!,,,N  
 V M M"""


AFF#KLLLLL <<<Q\\\;   LO   V 9 9""41;#78888Lt$$$V N N""#AQV#LMMMMLw'''L VVVQVVV-   LFGGGLTUUULz****|||Q\\\+	
 	
 	

 	PQQQ|||Q\\\+	
 	
 	
 	Cq|T	
 	
 	
 	zzz1<<<7	
 	
 	
 	9%%%|||Q\\\+	
 	
 	
 	zzz1<<<7	
 	
 	
 	:&&& 	\#	
 	
 	

 	|||QZZ7	
 	
 	
 q|q  	KLH q|$$&   LIJJJq	
 	
 	
 	M	
 	
 	
 	V	
 	
 	
 	PQQQGHHHL"	
 	
 	
 q|q  G	+L
 '   L>
 <Q\3q|;L;LMN   Lz*** L
 <<<qzz1<<<	I   L1b Vc1%3 3 3h Lu   LOPPPLL   LLMMML=>>>L \\\1<<<9  " L
  $ L* LLLLLLJJLLLLLLLLL3  < L
 '   L5" LJL%%LL!  4 Lz*** 


	
 	
 	
$ 	FGGGQ	
 	
 	
 q|q  	LGq|$$&   A\  ""M!%+&'   Q:&&&  	 	AL q|||Q\\\S  
 L<<<Q\\\;   L> 5#QU%5q9	:   L2333Lu%%%Lt$$$FAA |||Q\\\1<<<9
	
 
	
 
	
 q|q  		L alllALLLB   LEV   	P	
 	
 	
 	Q|	
 	
 	
 	]|	
 	
 	
 	K|	
 	
 	
 	U|	
 	
 	

 	 ,(	
 	
 	
 	:&&&89alllT	
 	
 	
 qy>>Q 	&3q|#4#4#9 	&L23333Lu%%%5!!! 	 	AL<<<q|||=     	 	AL<<<q|||=    	:&&& 	### <<<7 	 		
 	
 	
 	88DL!LLL 




	
 	
 	
 	
 	
r   c                 b   | j                             d           | j                             | j                            d| j        d| j        d| j        d| j        d| j        dd                     | j                             d	           | j                             | j                            d
| j        d| j        dd                     | j                             d	           | j                             | j                            d
| j        d| j        dd                     | j                             d	           | j                             d| j        d| j        d           | j                             d| j        d| j        d           | j                             d	           | j                             d| j        d| j        d           | j        D ]}| j                             | j                            d| j        d|j        d|j        d|j	        d	d                     | 
                    || j         d           d}|j        rd|z   }| j                             d |j        d!|j        d!|j        d"| j        d#|j        d$|d%           | j                             d&           | j        D ]}| j                             | j                            d
| j        d'|j                                        d(| j        d)|j        d*|j	        d+|j        d,d                     | 
                    || j         d-           | j                             |j        d.| j        d'|j                                        d/| j        d0           | j                             d1|j	        d2| j        |j        d3           | j                             d	           | j        D ]%}| j                             | j                            d
| j        d4|j                                        d5| j        d6| j        d'|j                                        d7|j        d8d                     | 
                    || j         d-           | j                             |j        d.| j        d4|j                                        d/| j        d0           | j                             d1|j	        d9| j        |j        d3           '| j                             d	           | j                             d:| j        z             | j                             | j                            d
| j        d;| j        d<d                     | j                             d=           | j                             d	           | j                             | j                            d
| j        d>| j        d?d                     | j                             d=           | j                             d	           | j                             d| j        d@| j        dA| j        dB           | j                             d| j        dC| j        dD| j        dE           | j                             d	           | j                             dF| j        dG| j        dH| j        dI| j        d@| j        dJ| j        dK           | j                             d| j        dL| j        dM           | j                             dN| j        z             | j                             d&           | j                             d| j        dO| j        dP| j        dQ           dR}| j        D ]+}| j                             dS||j	        fz             |dRz  },| j                             dT           | j                             d| j        dU| j        dV| j        dW| j        dX	           dR}| j        D ]+}| j                             dY||j        fz             |dRz  },| j                             d&           | j                             | j                            dZ| j        z  d                     | j                             | j        d[| j        d\| j        d]| j        d^           | j                             | j                            d
| j        d_| j        d`d                     | j                             d=           | j                             d	           | j                             | j                            d
| j        da| j        dbd                     | j                             d=           | j                             d	           | j                             d| j        dc| j        dA| j        dB           | j                             d	           | j                             d| j        dd| j        dD| j        dE           | j                             dF| j        de| j        df| j        dI| j        dc| j        dJ| j        dg           | j                             d| j        dh| j        di           | j                             d| j        dj| j        dk| j        dl           dR}| j        D ]7}| j                             dm|| j        |j        |j	        fz             |dRz  }8| j                             dT           | j                             d| j        dn| j        dk| j        do           dR}| j        D ]+}| j                             dS||j	        fz             |dRz  },| j                             dT           | j                             d| j        dp| j        dq| j        dr| j        ds	           dR}| j        D ]+}| j                             dY||j        fz             |dRz  },| j                             d&           | j                             | j                            dt| j        z  d                     | j                             | j        du| j        dv| j        dw| j        dx           | j        D ]}| j                             | j                            d
| j        dy|j                                        d(| j        dz|j        d{|j        d*|j	        d|d                     | 
                    || j         d-           | j                             d}| j        dy|j                                        d/| j        d~|j        d	           | j                             d|j        z             | j                             d	           d S )Nz/* ------------------------------------------------------------------------
 * Code for Object, ObjectProxy and ObjectSkeleton
 * ------------------------------------------------------------------------
 */

/**
 * SECTION:zObject
 * @title: z]Object
 * @short_description: Specialized GDBusObject types
 *
 * This section contains the #z	Object, #zObjectProxy, and #zvObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.
 */
Fr6   r  zObject:
 *
 * The #z:Object type is a specialized container of interfaces.
 */
zRObjectIface:
 * @parent_iface: The parent interface.
 *
 * Virtual table for the #zObject interface.
 */
r  rp   zObjectInterface;
zG_DEFINE_INTERFACE_WITH_CODE (zObject, zbobject, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT);)
r  zobject_default_init (zObjectIface *iface)
{
r  zObject:z:
   *
   * The #z0 instance corresponding to the D-Bus interface #z`, if any.
   *
   * Connect to the #GObject::notify signal to get informed of property changes.
r_   r.  r/  zD  g_object_interface_install_property (iface, g_param_spec_object ("r   z", rB   r5   z));

r0  rq   r?  zObject.
 *
 * Gets the #z# instance for the D-Bus interface #zC on @object, if any.
 *
 * Returns: (transfer full) (nullable): A #z` that must be freed with g_object_unref() or %NULL if @object does not implement the interface.
r   rm   rC   zObject *object)
zW{
  GDBusInterface *ret;
  ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "z1");
  if (ret == NULL)
    return NULL;
  return z (ret);
}

rr   r7  zObject.
 *
 * Like a%  () but doesn't increase the reference count on the returned object.
 *
 * It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running.
 *
 * Returns: (transfer none) (nullable): A #zp or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object.
zI");
  if (ret == NULL)
    return NULL;
  g_object_unref (ret);
  return a  static void
%sobject_notify (GDBusObject *object, GDBusInterface *interface)
{
  _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface);
  /* info can be NULL if the other end is using a D-Bus interface we don't know
   * anything about, for example old generated code in this process talking to
   * newer generated code in the other process. */
  if (info != NULL)
    g_object_notify (G_OBJECT (object), info->hyphen_name);
}

zObjectProxy:
 *
 * The #zeObjectProxy structure contains only private data and should only be accessed using the provided API.
 */
zQObjectProxyClass:
 * @parent_class: The parent class.
 *
 * Class structure for #ObjectProxy.
object_proxy__zobject_iface_init (z'ObjectIface *iface G_GNUC_UNUSED)
{
}

z^object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface)
{
  iface->interface_added = z,object_notify;
  iface->interface_removed = zobject_notify;
}

rR  zObjectProxy, zXobject_proxy, G_TYPE_DBUS_OBJECT_PROXY,
                         G_IMPLEMENT_INTERFACE (ro   zWobject_iface_init)
                         G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, z*object_proxy__g_dbus_object_iface_init))

zobject_proxy_init (z(ObjectProxy *object G_GNUC_UNUSED)
{
}

zstatic void
%sobject_proxy_set_property (GObject      *gobject,
  guint         prop_id,
  const GValue *value G_GNUC_UNUSED,
  GParamSpec   *pspec)
{
  G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
z}object_proxy_get_property (GObject      *gobject,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec)
{
  zObjectProxy *object = zOOBJECT_PROXY (gobject);
  GDBusInterface *interface;

  switch (prop_id)
    {
r   z    case %d:
      interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");
      g_value_take_object (value, interface);
      break;

zd    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
      break;
  }
}

zobject_proxy_class_init (ztObjectProxyClass *klass)
{
  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);

  gobject_class->set_property = z;object_proxy_set_property;
  gobject_class->get_property = zobject_proxy_get_property;

z>  g_object_class_override_property (gobject_class, %d, "%s");
z/**
 * %sobject_proxy_new:
 * @connection: A #GDBusConnection.
 * @object_path: An object path.
 *
 * Creates a new proxy object.
 *
 * Returns: (transfer full): The proxy object.
 */
zObjectProxy *
zobject_proxy_new (GDBusConnection *connection,
  const gchar *object_path)
{
  g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL);
  g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
  return zOBJECT_PROXY (g_object_new (zXTYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL));
}

zObjectSkeleton:
 *
 * The #zhObjectSkeleton structure contains only private data and should only be accessed using the provided API.
zTObjectSkeletonClass:
 * @parent_class: The parent class.
 *
 * Class structure for #zObjectSkeleton.
object_skeleton__zaobject_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface)
{
  iface->interface_added = zObjectSkeleton, z^object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON,
                         G_IMPLEMENT_INTERFACE (z-object_skeleton__g_dbus_object_iface_init))

zobject_skeleton_init (z+ObjectSkeleton *object G_GNUC_UNUSED)
{
}

zobject_skeleton_set_property (GObject      *gobject,
  guint         prop_id,
  const GValue *value,
  GParamSpec   *pspec)
{
  zObjectSkeleton *object = zZOBJECT_SKELETON (gobject);
  GDBusInterfaceSkeleton *interface;

  switch (prop_id)
    {
a      case %d:
      interface = g_value_get_object (value);
      if (interface != NULL)
        {
          g_warn_if_fail (%sIS_%s (interface));
          g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface);
        }
      else
        {
          g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "%s");
        }
      break;

zobject_skeleton_get_property (GObject      *gobject,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec)
{
  zROBJECT_SKELETON (gobject);
  GDBusInterface *interface;

  switch (prop_id)
    {
zobject_skeleton_class_init (zwObjectSkeletonClass *klass)
{
  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);

  gobject_class->set_property = z>object_skeleton_set_property;
  gobject_class->get_property = zobject_skeleton_get_property;

z/**
 * %sobject_skeleton_new:
 * @object_path: An object path.
 *
 * Creates a new skeleton object.
 *
 * Returns: (transfer full): The skeleton object.
 */
zObjectSkeleton *
zobject_skeleton_new (const gchar *object_path)
{
  g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
  return zOBJECT_SKELETON (g_object_new (z?TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL));
}

rs   z/ObjectSkeleton.
 * @interface_: (nullable): A #z2 or %NULL to clear the interface.
 *
 * Sets the #z on @object.
rV   rt   z *interface_)
zA{
  g_object_set (G_OBJECT (object), "%s", interface_, NULL);
}

)r0   r8   r   r  r   r   r'   r  rx   ru   r  r   r   rv   r   )r1   r   r   r   s       r   generate_objectzCodeGenerator.generate_object  s   	
 	
 	
 	### NNNNNNNNNNNNNNN  	
 	
 	
& 	4   ###
  >>>4>>>	;
  		
 		
 		
 	4   ###  >>>4>>>;  
	
 
	
 
	
 	4   ~~~t~~~/	
 	
 	
 	~~~t}}}.	
 	
 	
 	4    ]]]DNNN4	
 	
 	

  	 	AL ''' ~~~q}}}alllAFFFL 	 	   <<QaPPP@E| 8/%7L MMMMMMMMMMMMLLLEE	    	:&&& #	 #	AL ''' **,,,, !   ( <<QaPPPL<<<0B0B0D0D0D0DdnnnV   L q|||=	 	 	 	 	4    &	 &	AL ''' **,,,,**,,,," %   , <<QaPPPL<<<0B0B0D0D0D0DdnnnV   L q|||=
 
 
 
 	4   
 M
#	
 	
 	
 	###
 >>>4>>>	3
  		
 		
 		
 	7###4   ### >>>4>>>3  
	
 
	
 
	
 	7###4   
 MMM4===$...	B	
 	
 	
 	 MMM4===$---A	
 	
 	
 	4    	
 	
 	
 	
 MMM4>>>	3	
 	
 	
 	O }		
 		
 		
 	:&&& 
G	
 	
 	
  	 	AL 16{	#   FAA	
 	
 	
 	 MMM4>>>4===$---Q		
 		
 		
  	 	AL1=)*   FAA:&&&##  =*  	
 	
 	
 	 NNNDMMM4===$---Q
	
 
	
 
	
 	###
 >>>4>>>	3
  		
 		
 		
 	7###4   ### >>>4>>>3  
	
 
	
 
	
 	7###4   
 MMM4===$...	B	
 	
 	
 	4    MMM4===$---A	
 	
 	
 	 	
 	
 	
 	
 MMM4>>>	3	
 	
 	
 	 
G	
 	
 	
  	 	AL 4=!,?@   FAA	
 	
 	
 	 
G	
 	
 	
  	 	AL 16{	#   FAA	
 	
 	
 	 MMM4>>>4===$---Q		
 		
 		
  	 	AL1=)*   FAA:&&&##  =* 
 
	
 	
 	
 	 NNNDMMM4===$---Q	
 	
 	
  	 	AL ''' **,,,,    & <<QaPPPL===!,"4"4"6"6"6"6V   L '    	4     r   c                    | j                             d           | j                             | j                            d| j        d| j        d| j        dd                     | j                             d           | j                             | j                            d| j        d	| j        d
d                     | j                             d           | j                             d           | j                             | j                            d| j        d| j        dd                     | j                             d           | j                             d           | j                             d| j        d| j        d           | j                             d| j        d| j        d           | j                             d| j        d| j        d           | j                             | j                            d| j        d| j        dd                     | j                             d           | j                             d| j        z             | j                             d| j        z             | j        D ]5}| j                             d|j        d|j        d|j	        d           6| j                             d           | j                             d           | j                             d            | j                             | j                            d| j        d!| j        d"| j        d#| j        d$	d                     | j                             d           | j                             d%| j        d&| j        d'| j        d(           | j                             d| j        d)| j        d*| j        d+| j        d,	           | j                             d           | j                             d-| j        z             | j                             | j                            d| j        d.| j        d/| j        d0| j        d,	d                     | j                             d           | j                             d1| j        d2| j        d3| j        d4           | j                             d           | j                             | j                            d| j        d5| j        d6| j        d7| j        d8	d                     | j                             d           | j                             d%| j        d9| j        d:| j        d(           | j                             d| j        d;| j        d<| j        d=| j        d,	           | j                             d           | j                             d>| j        z             | j                             | j                            d| j        d?| j        d@| j        dA| j        d,	d                     | j                             d           | j                             d1| j        dB| j        dC| j        d4           | j                             d           d S )DNz/* ------------------------------------------------------------------------
 * Code for ObjectManager client
 * ------------------------------------------------------------------------
 */

rm  zObjectManagerClient
 * @title: zObjectManagerClient
 * @short_description: Generated GDBusObjectManagerClient type
 *
 * This section contains a #GDBusObjectManagerClient that uses zGobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc.
 */
Fr6   r  z ObjectManagerClient:
 *
 * The #zmObjectManagerClient structure contains only private data and should only be accessed using the provided API.
rn  zYObjectManagerClientClass:
 * @parent_class: The parent class.
 *
 * Class structure for #zObjectManagerClient.
zG_DEFINE_TYPE (zObjectManagerClient, z;object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT)

r  zobject_manager_client_init (z1ObjectManagerClient *manager G_GNUC_UNUSED)
{
}

z"object_manager_client_class_init (z4ObjectManagerClientClass *klass G_GNUC_UNUSED)
{
}

a  object_manager_client_get_proxy_type:
 * @manager: A #GDBusObjectManagerClient.
 * @object_path: The object path of the remote object (unused).
 * @interface_name: (nullable): Interface name of the remote object or %NULL to get the object proxy #GType.
 * @user_data: User data (unused).
 *
 * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy derived and #GDBusProxy derived types.
 *
 * Returns: A #GDBusProxy derived #GType if @interface_name is not %NULL, otherwise the #GType for #ro  zGType
%sobject_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED)
{
a    static gsize once_init_value = 0;
  static GHashTable *lookup_hash;
  GType ret;

  if (interface_name == NULL)
    return %sTYPE_OBJECT_PROXY;
  if (g_once_init_enter (&once_init_value))
    {
      lookup_hash = g_hash_table_new (g_str_hash, g_str_equal);
z4      g_hash_table_insert (lookup_hash, (gpointer) "z", GSIZE_TO_POINTER (rB   z
_PROXY));
z5      g_once_init_leave (&once_init_value, 1);
    }
z  ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name));
  if (ret == (GType) 0)
    ret = G_TYPE_DBUS_PROXY;
z  return ret;
}

a  object_manager_client_new:
 * @connection: A #GDBusConnection.
 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
 * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
 * @user_data: User data to pass to @callback.
 *
 * Asynchronously creates #GDBusObjectManagerClient using aL  object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details.
 *
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call zQobject_manager_client_new_finish() to get the result of the operation.
 *
 * See z\object_manager_client_new_sync() for the synchronous, blocking version of this constructor.
r<  aO  object_manager_client_new (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data)
{
  g_async_initable_new_async (zTYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", z0object_manager_client_get_proxy_type, NULL);
}

znobject_manager_client_new_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to ztobject_manager_client_new().
 * @error: Return location for error or %NULL
 *
 * Finishes an operation started with zBobject_manager_client_new().
 *
 * Returns: (transfer full) (type zWObjectManagerClient): The constructed object manager client or %NULL if @error is set.
a  GDBusObjectManager *
%sobject_manager_client_new_finish (
    GAsyncResult        *res,
    GError             **error)
{
  GObject *ret;
  GObject *source_object;
  source_object = g_async_result_get_source_object (res);
  ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
  g_object_unref (source_object);
  if (ret != NULL)
    return G_DBUS_OBJECT_MANAGER (ret);
  else
    return NULL;
}

a  object_manager_client_new_sync:
 * @connection: A #GDBusConnection.
 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
 * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL
 *
 * Synchronously creates #GDBusObjectManagerClient using zobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See zsobject_manager_client_new() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type zGDBusObjectManager *
a6  object_manager_client_new_sync (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error)
{
  GInitable *ret;
  ret = g_initable_new (zTYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", zobject_manager_client_get_proxy_type, NULL);
  if (ret != NULL)
    return G_DBUS_OBJECT_MANAGER (ret);
  else
    return NULL;
}

a  object_manager_client_new_for_bus:
 * @bus_type: A #GBusType.
 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
 * @name: A bus name (well-known or unique).
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
 * @user_data: User data to pass to @callback.
 *
 * Like a!  object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection.
 *
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call zYobject_manager_client_new_for_bus_finish() to get the result of the operation.
 *
 * See zdobject_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor.
aU  object_manager_client_new_for_bus (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data)
{
  g_async_initable_new_async (zTYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", zvobject_manager_client_new_for_bus_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to z|object_manager_client_new_for_bus().
 * @error: Return location for error or %NULL
 *
 * Finishes an operation started with zJobject_manager_client_new_for_bus().
 *
 * Returns: (transfer full) (type a  GDBusObjectManager *
%sobject_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error)
{
  GObject *ret;
  GObject *source_object;
  source_object = g_async_result_get_source_object (res);
  ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
  g_object_unref (source_object);
  if (ret != NULL)
    return G_DBUS_OBJECT_MANAGER (ret);
  else
    return NULL;
}

aG  object_manager_client_new_for_bus_sync:
 * @bus_type: A #GBusType.
 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
 * @name: A bus name (well-known or unique).
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL
 *
 * Like zobject_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See z{object_manager_client_new_for_bus() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type a<  object_manager_client_new_for_bus_sync (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error)
{
  GInitable *ret;
  ret = g_initable_new (zTYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", )
r0   r8   r   r  r   r   r   r'   ru   rv   r   s     r   generate_object_manager_clientz,CodeGenerator.generate_object_manager_client  s   	
 	
 	
 	###  >>>4>>>4===J 	 		
 	
 	
 	4   ###
 >>>4>>>	3
  		
 		
 		
 	7###4   ### >>>4>>>3  
	
 
	
 
	
 	7###4    	NNNDMMM3	
 	
 	
 	
 MMM4>>>	3	
 	
 	
 	
 MMM4>>>	3	
 	
 	
 	### ===$...
2  	
 	
 	
  	7###]$	
 	
 	

 	P }		
 	
 	
  	 	AL6661:::q|||5    	WXXX-	
 	
 	

 	7888 	###" ===$---!O" % 	
 	
 	
, 	7### MMM4===$---A	
 	
 	
 	 }}}dmmmT]]]DNNNL
	
 
	
 
	
 	7### M#	
 	
 	
$ 	###" ===$---!P" % 	
 	
 	
, 	7###" MMM4===$---!A	
 	
 	
& 	4   ###" ===$---!O" % 	
 	
 	
, 	7### MMM4===$---A	
 	
 	
 	 }}}dmmmT]]]DNNNL
	
 
	
 
	
 	7### M#	
 	
 	
$ 	###" ===$---!P" % 	
 	
 	
, 	7###" MMM4===$---!A	
 	
 	
& 	4     r   c           
      T   t          |j                  dk    r"|                    d|d|d|j        fz             |j        rt	          |t
          j                  rd}nyt	          |t
          j                  rd}n\t	          |t
          j                  rd}n?t	          |t
          j	                  rd}n"t          d                    |                     |                    | j                            d	|d|d|fz  d
                     |                    d|dfz             d S )Nr   z%*s *
%*s * Since: %s
r
   zThe D-Bus interfacezThe D-Bus methodzThe D-Bus signalzThe D-Bus propertyzCannot handle object "{}"z0%*s *
%*s * Deprecated: %s has been deprecated.
Fz%*s */
)r   rz   r8   r   
isinstancer   	InterfaceMethodSignalPropertyr   r:   r   r  )r1   objfindentthings        r   r  z9CodeGenerator.write_gtkdoc_deprecated_and_since_and_close3  sE   sy>>A 	YGG1VRSY4WWXXX> 	#y233 	E-C!122 E*C!122 E*C!344 E,7>>sCCDDDGG ''Br62u56 	    	

fb\)*****r   c                 &   | j                             d|j        z             | j                             | j                            d|j        d|j        d|j        d|j        d	d                     | j                             d           d S )	Nz/* ------------------------------------------------------------------------
 * Code for interface %s
 * ------------------------------------------------------------------------
 */

rm  z
 * @title: z1
 * @short_description: Generated C code for the zH D-Bus interface
 *
 * This section contains code for working with the #z D-Bus interface in C.
 */
Fr6   )r0   r8   ru   r   r  rx   r   s     r   generate_interface_introz&CodeGenerator.generate_interface_introM  s     F		
 	
 	
 	### <<<qvvvqvvvG 	 		
 	
 	
 	4     r   c                    |                                   | j        D ]}|                     |           |                     |           |                     |           |                     |           |                     |           |                     |           |                     |           | 	                    |           | 
                    |           | j        r*|                                  |                                  d S d S r&   )r   r'   r  r  r5  r=  r@  rJ  rM  re  rk  r(   rr  rt  r   s     r   r   zCodeGenerator.generated  s   ##%%% 		& 		&A))!,,,55a888##A&&&,,Q///))!,,,&&q)))++A..."""""1%%%%# 	2  """//11111	2 	2r   N)r   r   r   r2   r   r   r   r  r5  r=  r@  rJ  rM  re  rk  rr  rt  r  r  r   r   r   r   r   r     s>         0u
 u
 u
n( ( (T$7 $7 $7LB! B! B!LE' E' E'R
G% G% G%V"+ "+ "+L@P @P @PH:+ :+ :+|b
! b
! b
!LC
 C
 C
Nf! f! f!PU! U! U!r
+ + +4! ! !.2 2 2 2 2r   r   N)r
   r   r   r   r   r9   r   r"   r$   r   r   r   r   r   r   <module>r     sC  0                        	$ $ $"  m) m) m) m) m) m) m) m)fH) H) H) H) H) H) H) H)\X X X X X X X X|
O;2 O;2 O;2 O;2 O;2 O;2 O;2 O;2 O;2 O;2r   