HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: //usr/share/glib-2.0/codegen/__pycache__/codegen.cpython-312.pyc
�

	3�eG����ddlmZddlmZddlmZddlmZdZd�Zd�ZGd�d	�ZGd
�d�Z	Gd�d
�Z
Gd�d�Zy)�)�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�j�|}t|�dkDr�tj|�r9|jdd�}|j	�dz}|j�dz}nQtj|�j	�dz}tj|�j�dz}nd}d}|||fS)N��_�)�lenr�is_ugly_case�replace�upper�lower�camel_case_to_uscore)�	namespace�ns�ns_upper�ns_lowers    �&/usr/share/glib-2.0/codegen/codegen.py�generate_namespacer*s���	�B�
�9�~������i�(��"�"�3��+�B� ���(�3�.�H� ���(�3�.�H��1�1�)�<�B�B�D�s�J�H��1�1�)�<�B�B�D�s�J�H�������(�#�#�c�l��|dk(ryd�djt�fd�|j���S)N�-�STDOUT�$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr
c���|�vr|SdS)Nr	�)�c�safe_valid_charss �r�<lambda>z'generate_header_guard.<locals>.<lambda>Cs���1� 0�0�a��c�r)�join�mapr)�header_namers @r�generate_header_guardr$;s;����c���>��
�7�7��9�;�;L�;L�;N�O��rc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�HeaderCodeGeneratorc���||_t|�\|_|_|_||_||_t|�|_||_	||_
||_|	|_|
|_
||_y�N)�ifacesrrrr�generate_objmanager�generate_autocleanupr$�header_guard�input_files_basenames�
use_pragma�glib_min_required�symbol_decorator�symbol_decorator_header�outfile)�selfr)rr*r+r#r-r.r/r0r1r2s            r�__init__zHeaderCodeGenerator.__init__Hsm�����7I�)�7T�4����
�t�}�#6�� �$8��!�1�+�>���%:��"�$���!2��� 0���'>��$���rc��dj|j�}|jjtjtj|��|jjd�|jr|jjd�nh|jjdj|j��|jjdj|j��|j�C|jjd�|jjd|jz�|jjd�|jjd�|jjd�|jjd�|jjd�y�	N�, �
z
#pragma once
z#ifndef __{!s}__
z#define __{!s}__
z#include "%s"
z#include <gio/gio.h>
zG_BEGIN_DECLS
�r!r-r2�write�LICENSE_STR�formatr�VERSIONr.r,r1�r3�	basenamess  r�generate_header_preamblez,HeaderCodeGenerator.generate_header_preambled�E���I�I�d�8�8�9�	������;�-�-�f�n�n�i�H�I������4� ��?�?��L�L���/�0��L�L���3�:�:�4�;L�;L�M�N��L�L���3�:�:�4�;L�;L�M�N��'�'�3��L�L���t�$��L�L���0�4�3O�3O�O�P������4� ������3�4������4� ������,�-������4� rc
�s�|jD�!]�}|jjd�|jjd�|jjd|jz�|jjd�|jjd|j�d|j
�d|j�d��|jjd|j�|j
�d|j�d|j
�d	|j�d
�
�|jjd|j�d|j
�d|j�d|j
�d
�	�|jjd|j�|j
�d
|j�d|j
�d	|j�d�
�|jjd�|jjd|jz�|jjd|j�d|j�d��|jjd|j�d|j�d��|jjd�|jjd|jz�|jjd�|jjd�i}t|j�dkDr�|jjd�|jD]�}|jd|jzf}d|jz}|d|jzz
}|dz
}|jr|dz
}|jD]!}|d|j�d|j��z
}�#|d z
}|||<��t|j�dkDr�|jjd�|jD]x}|jd!|jzf}d"|jz}|d#|jzz
}|jD]!}|d|j�d|j��z
}�#|d z
}|||<�zt|j �dkDr�|jjd�|j D]V}|jd$|jzf}d%|j"j�d&|j�d'|j�d(�}|||<�Xt%|j'�t(j*�)�D]#}|jjd*||z��%|jjd+�|jjd�|j,d,k(ry|jjd-�|jjd.|jz�|jjd/�|jjd�|j.�(|jjd0|j.z�|jjd1|jz�|jjd�|j.�(|jjd0|j.z�|jjd2|jz�|j.�(|jjd0|j.z�|jjd3|jz�|jjd�t|j�dkD�r�|jjd�|jjd4�|jD�]C}|j.�(|jjd0|j.z�|j0r|jjd5�|jjd6|j�d7|j�d8|j�d9��|jr|jjd�|j2D]6}|jjd|j�|j����8|jjd:�|jjd���F|jjd�t|j�dkD�r~|jjd�|jjd;�|jD�]}|j.�(|jjd0|j.z�|j0r|jjd5�|jjd6|j�d<|j�d8|j�d=��|jD]7}|jjd|j�d|j����9|jjd:�|jjd��� |jjd�t|j�dkD�r�|jjd�|jjd>�|jD�]�}|j.�(|jjd0|j.z�|j0r|jjd5�|jjd6|j�d?|j�d8|j�d@��|jD]7}|jjd|j�d|j����9|j4dAk\r|jjdB�|jr|jjd�|jjdC�|jjd�|j.�(|jjd0|j.z�|j0r|jjd5�|jjdD|j�d?|j�dE|j�d@��|j2D]7}|jjd|j6�dF|j����9|jr|jjdG�|jjdH�|jjd�|j.�(|jjd0|j.z�|j0r|jjd5�|jjdD|j�d?|j�dI|j�d@��|jD]7}|jjd|j�d|j����9|j4dAk\r|jjdB�|jr|jjdJ�|j2D]7}|jjd|j6�dF|j����9|jr|jjdG�|jjdK�|jjd����|jjd�t|j �dkD�r�|jjd�|jjdL�|j D�]O}|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j"j�|j�dM|j�d|j�dN��|j"j8��|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j"j:�|j�dO|j�d|j�dN��|j.�(|jjd0|j.z�|j0r|jjd5�|jjd6|j�dP|j�d|j�dQ|j"j�dR�	�|jjd���R|jjd�|jjdS�|jjd�|jjd|j�d|j
�dT|j�dU��|jjd|j�|j
�dV|j�d|j
�dW|j�dX�
�|jjd|j�|j
�dY|j�d|j
�dW|j�dZ�
�|jjd|j�|j
�d[|j�d|j
�dW|j�dZ�
�|jjd|j�d|j
�d\|j�d|j
�d]�	�|jjd|j�d|j
�d^|j�d|j
�d]�	�|jjd�|jjd|j�d_|j�d`��|jjd|j�da|j�db��|jjd|j�dc|j�dd��|jjd�|jjde|jz�|jjd�|jjdf�|jjdg�|jjdh|jz�|jjd+�|jjd�|jjdi|jz�|jjd�|jjdj�|jjd+�|jjd�|j.�(|jjd0|j.z�|jjdk|jz�|jjd�|j,dlvry|jjd-�|jjdm|jz�|jjd/�|jjd�|j.�(|jjd0|j.z�|j0r|jjd5�|jjdn|jz�|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j�dp��|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j�dq��|jjd�|j.�(|jjd0|j.z�|j0r|jjd5�|jjdr|jz�|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j�ds��|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j�dt��|jjd�|jjd�|jjdS�|jjd�|jjd|j�d|j
�du|j�dv��|jjd|j�|j
�dw|j�d|j
�dx|j�dy�
�|jjd|j�|j
�dz|j�d|j
�dx|j�d{�
�|jjd|j�|j
�d||j�d|j
�dx|j�d{�
�|jjd|j�d|j
�d}|j�d|j
�d~�	�|jjd|j�d|j
�d|j�d|j
�d~�	�|jjd�|jjd|j�d�|j�d���|jjd|j�d�|j�d���|jjd|j�d�|j�d���|jjd�|jjd�|jz�|jjd�|jjdf�|jjd��|jjd�|jz�|jjd+�|jjd�|jjd�|jz�|jjd�|jjd��|jjd+�|jjd�|j.�(|jjd0|j.z�|jjd�|jz�|jjd�|j,dlvry|jjd-�|jjd�|jz�|jjd/�|jjd�|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j�d���|jjd��!��|j<�r�|jjd�|jjdS�|jjd�|jjd|j�d�|j>�d���|jjd|j�d�|j�d�|j@�d���|jjd|j�d�|j�d���|jjd|j�d�|j�d�|j@�d���|jjd�|jjd�|j@z�|jjd|j@�d�|j@�d���|jjd|j@�d�|j@�d���|jjd�|jjd�|j@z�|jjd��|j.�(|jjd0|j.z�|jjd�|j>z�|j,d,k(ry|jjd-�|jjd�|j@z�|jjd/�|jjd�|jD]�}|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j>�d�|j
jC��d|j@�d�����|jD]�}|j.�(|jjd0|j.z�|j0r|jjd5�|jj|j�do|j>�d�|j
jC��d|j@�d�����|jjd�|jjd|j�d�|j>�d���|jjd|j�d�|j�d�|j@�d���|jjd|j�d�|j�d�|j@�d���|jjd|j�d�|j�d�|j@�d���|jjd|j�d�|j�d���|jjd|j�d�|j�d���|jjd�|jjd|j@�d�|j@�d���|jjd|j@�d�|j@�d���|jjd|j@�d�|j@�d���|jjd�|jjd�|j@z�|jjd�|jjdf�|jjd��|jjd�|j@z�|jjd+�|jjd�|jjd�|j@z�|jjd�|jjd��|jjd+�|jjd�|j.�(|jjd0|j.z�|jjd�|j>z�|jjd�|j,dlvry|jjd-�|jjd�|j@z�|jjd/�|jjd�|j.�(|jjd0|j.z�|jj|j@�d�|j>�d���|jjd�|jjd|j�d�|j>�d���|jjd|j�d�|j�d�|j@�d���|jjd|j�d�|j�d�|j@�d�|jjd|j�d�|j�d�|j@�d�|jjd|j�d�|j�dŝ�|jjd|j�d�|j�dŝ�|jjd�|jjd|j@�d�|j@�dȝ�|jjd|j@�d�|j@�dʝ�|jjd|j@�d�|j@�d̝�|jjd�|jjd�|j@z�|jjd�|jjdf�|jjdΫ|jjd�|j@z�|jjd+�|jjd�|jjd�|j@z�|jjd�|jjdѫ|jjd+�|jjd�|j.�(|jjd0|j.z�|jjd�|j>z�|jjd�|j,dlvry|jjd-�|jjd�|j@z�|jjd/�|jjd�|j.�(|jjd0|j.z�|jj|j@�d�|j>�d՝�|jD]�}|j.�(|jjd0|j.z�|j0r|jjd5�|jjd6|j>�d�|j
jC��d|j@�d�|j�d؝	���|jjd�|jjdS�|jjd�|jjd|j�d�|j>�dڝ�|jjd|j�d�|j�d�|j@�dݝ�|jjd|j�d�|j�d�|j@�dߝ�|jjd|j�d�|j�d�|j@�dߝ�|jjd|j�d�|j�d��|jjd|j�d�|j�d��|jjd�|jjd|j@�d�|j@�d��|jjd|j@�d�|j@�d��|jjd|j@�d�|j@�d��|jjd�|jjd�|j@z�|jjd�|jjdf�|jjd�|jjd�|j@z�|jjd+�|jjd�|jjd�|j@z�|jjd�|jjd�|jjd+�|jjd�|j,dlvry|jjd-�|jjd�|j@z�|jjd/�|jjd�|j.�(|jjd0|j.z�|jjd�|j>z�|jjd�|j.�(|jjd0|j.z�|jjd�|j>z�|jjd�|j.�(|jjd0|j.z�|jjd�|j>z�|j.�(|jjd0|j.z�|jjd�|j>z�|j.�(|jjd0|j.z�|jjd�|j>z�|jjd�|j.�(|jjd0|j.z�|jjd�|j>z�|j.�(|jjd0|j.z�|jjd�|j>z�|j.�(|jjd0|j.z�|jjd�|j>z�|jjd�yy)�Nr8�O/* ------------------------------------------------------------------------ */
z/* Declarations for %s */
z#define �TYPE_� (z_get_type ())
z&(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), r7z))
�IS_z&(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), z3_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), zIface))
zstruct _%s;
ztypedef struct _� �;
�Iface zIface;
zstruct _%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: */
zG_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, zvalue);
z/* ---- */
z_PROXY (z_proxy_get_type ())
z,_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), �_PROXY, zProxy))
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), zProxy zProxy;
zProxyClass zProxyClass;
z
ProxyPrivate zProxyPrivate;
zstruct _%sProxy
z  /*< private >*/
z  GDBusProxy parent_instance;
z  %sProxyPrivate *priv;
zstruct _%sProxyClass
z   GDBusProxyClass parent_class;
z-GType %s_proxy_get_type (void) G_GNUC_CONST;
)�objectsrVz8G_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);
avoid %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, zSkeleton))
z2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zSkeletonClass))
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;
zSkeletonClass zSkeletonClass;
zSkeletonPrivate zSkeletonPrivate;
zstruct _%sSkeleton
z*  GDBusInterfaceSkeleton parent_instance;
z  %sSkeletonPrivate *priv;
zstruct _%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 (zobject_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), zTYPE_OBJECT))
z9OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), zstruct _%sObject;
zObject zObject;
�ObjectIface z
ObjectIface;
zstruct _%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_zObject *object);
�object_peek_zTYPE_OBJECT_PROXY (zobject_proxy_get_type ())
z2OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), zTYPE_OBJECT_PROXY, zObjectProxy))
z5OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zObjectProxyClass))
z;OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z5IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT_PROXY))
z8IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zObjectProxy z
ObjectProxy;
zObjectProxyClass zObjectProxyClass;
zObjectProxyPrivate zObjectProxyPrivate;
zstruct _%sObjectProxy
z$  GDBusObjectProxy parent_instance;
z  %sObjectProxyPrivate *priv;
zstruct _%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);
zTYPE_OBJECT_SKELETON (zobject_skeleton_get_type ())
z5OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), zTYPE_OBJECT_SKELETON, zObjectSkeleton))
z8OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zObjectSkeletonClass))
z>OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z8IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT_SKELETON))
z;IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zObjectSkeleton zObjectSkeleton;
zObjectSkeletonClass zObjectSkeletonClass;
zObjectSkeletonPrivate zObjectSkeletonPrivate;
zstruct _%sObjectSkeleton
z'  GDBusObjectSkeleton parent_instance;
z!  %sObjectSkeletonPrivate *priv;
zstruct _%sObjectSkeletonClass
z)  GDBusObjectSkeletonClass parent_class;
z6GType %sobject_skeleton_get_type (void) G_GNUC_CONST;
zAG_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectSkeleton, g_object_unref)
zObjectSkeleton *z0object_skeleton_new (const gchar *object_path);
�object_skeleton_set_�ObjectSkeleton *object, z *interface_);
zTYPE_OBJECT_MANAGER_CLIENT (z#object_manager_client_get_type ())
z;OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), zTYPE_OBJECT_MANAGER_CLIENT, zObjectManagerClient))
z>OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), zObjectManagerClientClass))
zDOBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), z>IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), zTYPE_OBJECT_MANAGER_CLIENT))
zAIS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), zObjectManagerClient zObjectManagerClient;
zObjectManagerClientClass zObjectManagerClientClass;
zObjectManagerClientPrivate zObjectManagerClientPrivate;
zstruct _%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;
z�GType %sobject_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);
a7void %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);
z�GDBusObjectManager *%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)r2r:�namer�
name_upper�
name_lower�
camel_namer�methods�since�unix_fd�in_args�ctype_in�signals�args�
properties�arg�sorted�keysr�version_cmp_keyr+r0�
deprecated�out_argsr/�	ctype_out�	free_func�ctype_in_dupr*rrr)	r3�i�function_pointers�mrS�value�a�s�ps	         r�
declare_typesz!HeaderCodeGenerator.declare_types{s*�����p	%�A��L�L���t�$��L�L���b�
�
�L�L���<�q�v�v�E�F��L�L���t�$�
�L�L����:�:�q�|�|�Q�\�\�;�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����G�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L���t�$��L�L����!�,�,�?�@��L�L���./�l�l�A�L�L�I�
�
�L�L���89���a�l�l�S�
�
�L�L���t�$��L�L���2�a�l�l�C�D��L�L���u�%��L�L���A�B� "���1�9�9�~��!����"�"�4�(����
3�A��7�7�L�1�<�<�$?�@�C�9�Q�\�\�J�E��0�A�L�L�A�A�E��D�D�E��y�y��!>�>���Y�Y�J���a�j�j�!�&�&�!I�I��J��X�%�E�-2�%�c�*�
3��1�9�9�~��!����"�"�4�(����3�A��7�7�L�1�<�<�$?�@�C�.�!�,�,�?�E��-����>�>�E��V�V�J���a�j�j�!�&�&�!I�I��J��X�%�E�-2�%�c�*�3��1�<�<� �1�$����"�"�4�(����3�A��7�7�N�Q�\�\�$A�B�C�������������E�
.3�%�c�*�3�$�/�4�4�6�E�<Q�<Q�R�
B�����"�"�4�*;�C�*@�#@�A�
B�
�L�L���v�&��L�L���t�$��(�(�E�1����"�"�#G�H����"�"�J��|�|�%�����"�"�:�.����"�"�4�(��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���:�a�l�l�K�
�
�L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���A�Q�\�\�R�
��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���`��<�<�!�
�
�L�L���t�$��1�9�9�~��!����"�"�4�(����"�"�#T�U����-�A��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&��<�<����q�|�|�E���y�y����*�*�+H�I��Z�Z�Q�����*�*�A�J�J����+O�P�Q��L�L�&�&�v�.��L�L�&�&�t�,�!-�"���"�"�4�(��1�9�9�~��!����"�"�4�(����"�"�#N�O����-�A��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&�,-�L�L�!�,�,����V���V�V�U�����*�*��
�
�A�F�F�+S�T�U��L�L�&�&�v�.��L�L�&�&�t�,�-����"�"�4�(��1�9�9�~��!����"�"�4�(����"�"�#@�A����F-�A��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&�+,�<�<����q�|�|�U���Y�Y�U�����*�*��
�
�A�F�F�+S�T�U��-�-��8����*�*�7���y�y����*�*�+H�I��L�L�&�&�5���L�L�&�&�t�,��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&�+,�<�<����q�|�|�U���Z�Z�V�����*�*����Q�V�V�+T�U�V��y�y����*�*�+M�N��L�L�&�&�Q���L�L�&�&�t�,��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&�+,�<�<����q�|�|�U���Y�Y�U�����*�*��
�
�A�F�F�+S�T�U��-�-��8����*�*�7���y�y����*�*�+I�J��Z�Z�V�����*�*����Q�V�V�+T�U�V��y�y����*�*�+M�N��L�L�&�&�1��
�L�L�&�&�t�,�MF-�N���"�"�4�(��1�<�<� �1�$����"�"�4�(����"�"�#F�G����!-�A��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&��5�5�>�>�1�<�<����q�|�|�U���u�u���2��0�0�<� �L�L�.�.�v��8M�8M�/M�N��<�<� �L�L�.�.�/C�D����*�*�!"��� 2� 2� !��� !��� !������,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&��<�<����q�|�|�Q�U�U�^�^�U���L�L�&�&�t�,�C!-�H
�L�L���t�$��L�L���~�.��L�L���t�$��L�L����:�:�q�|�|�Q�\�\�;�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����G�
�
�L�L����:�:�q�|�|�Q�Z�Z����G�
�
�L�L���t�$��L�L���89���a�l�l�S�
�
�L�L����<�<����/�
�
�L�L����<�<����/�
�
�L�L���t�$��L�L���2�a�l�l�C�D��L�L���u�%��L�L���4�5��L�L���@�A��L�L���:�a�l�l�K�L��L�L���v�&��L�L���t�$��L�L���7�1�<�<�H�I��L�L���u�%��L�L���B�C��L�L���v�&��L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���@�A�L�L�Q�
�
�L�L���t�$��(�(�,>�>����"�"�#G�H����"�"�O��|�|�%�����"�"�:�.����"�"�4�(��$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���9�=>�L�L�J�	
��$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���9:���a�l�l�T�
�
�$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���9:���a�l�l�
T�
�
�L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���9�=>�L�L�J�	
��$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���9:���a�l�l�T�
�
�$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���9:���a�l�l�
T�
�
�L�L���t�$�
�L�L���t�$��L�L���~�.��L�L���t�$��L�L����:�:�q�|�|�Q�\�\�;�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����q�|�|�U�
�
�L�L����:�:�q�|�|�Q�Z�Z����G�
�
�L�L����:�:�q�|�|�Q�Z�Z����G�
�
�L�L���t�$��L�L����<�<����/�
�
�L�L����<�<����/�
�
�L�L����<�<����/�
�
�L�L���t�$��L�L���5����F�G��L�L���u�%��L�L���4�5��L�L���L�M��L�L���=����N�O��L�L���v�&��L�L���t�$��L�L���:�a�l�l�K�L��L�L���u�%��L�L���N�O��L�L���v�&��L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���C�q�|�|�T�
�
�L�L���t�$��(�(�,>�>����"�"�#G�H����"�"�R��|�|�%�����"�"�:�.����"�"�4�(��$�$�0����"�"�6�D�,A�,A�#A�B��|�|����"�"�#7�8��L�L���34�<�<����N�
�
�L�L���t�$�ap	%�f�#�#��L�L���t�$��L�L���~�.��L�L���t�$��L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-����A�
�
�L�L���t�$��L�L���4����G�H��L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L���t�$��L�L���8�D�N�N�K�L��L�L���S�T��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���E����W�
��(�(�E�1����"�"�#G�H����"�"�P��~�~�'�����"�"�:�.����"�"�4�(��[�[�

���(�(�4��L�L�&�&�v��0E�0E�'E�F��<�<��L�L�&�&�';�<����"�"�����
�
����*�*�,������

��[�[�

���(�(�4��L�L�&�&�v��0E�0E�'E�F��<�<��L�L�&�&�';�<����"�"�����
�
����*�*�,������

�
�L�L���t�$��L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-�1�
�
�L�L���t�$��L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L���t�$��L�L���8�D�N�N�K�L��L�L���u�%��L�L���4�5��L�L���F�G��L�L���@�D�N�N�S�T��L�L���v�&��L�L���t�$��L�L���=����P�Q��L�L���u�%��L�L���H�I��L�L���v�&��L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���F�$�-�-�X�
�
�L�L���t�$��(�(�,>�>����"�"�#G�H����"�"�U��~�~�'�����"�"�:�.����"�"�4�(��$�$�0����"�"�6�D�,A�,A�#A�B��L�L����>�>�4�=�=�2�
�
�L�L���t�$��L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-�1�
�
�L�L���t�$��L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L���t�$��L�L���;�t�~�~�N�O��L�L���u�%��L�L���4�5��L�L���I�J��L�L���C�t�~�~�V�W��L�L���v�&��L�L���t�$��L�L���@�D�N�N�S�T��L�L���u�%��L�L���K�L��L�L���v�&��L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���I��=�=�"�
�
�L�L���t�$��(�(�,>�>����"�"�#G�H����"�"�X��~�~�'�����"�"�:�.����"�"�4�(��$�$�0����"�"�6�D�,A�,A�#A�B��L�L����>�>�4�=�=�2�
��[�[�

���(�(�4��L�L�&�&�v��0E�0E�'E�F��<�<��L�L�&�&�';�<����"�"��
�
����*�*�,���������

�
�L�L���t�$��L�L���~�.��L�L���t�$��L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-����A�
�
�L�L����=�=�$�-�-�1�
�
�L�L����=�=�$�-�-�1�
�
�L�L���t�$��L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L����>�>�4�>�>�3�
�
�L�L���t�$��L�L���@�D�N�N�S�T��L�L���u�%��L�L���4�5��L�L���N�O��L�L���9�T�^�^�L�
�
�L�L���v�&��L�L���t�$��L�L���6�$�.�.�I�
�
�L�L���u�%��L�L���P�Q��L�L���v�&��L�L���t�$��(�(�,>�>����"�"�#G�H����"�"�]��~�~�'�����"�"�:�.����"�"�4�(��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���O��=�=�"�
�
�L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���q��=�=�"�
�
�L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���<�@D�}�}�N�	
��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���5�8<�
�
�G�
�
�$�$�0����"�"�6�D�,A�,A�#A�B��L�L���8�<@�=�=�
J�
�
�L�L���t�$��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���<�@D�}�}�N�	
��$�$�0����"�"�6�D�,A�,A�#A�B��L�L���5�8<�
�
�G�
�
�$�$�0����"�"�6�D�,A�,A�#A�B��L�L���8�<@�=�=�
J�
�
�L�L���t�$�i$rc�(�|jjd�|jjd�|jsP|jjd�|jjdj|j��yy�Nr8zG_END_DECLS
z#endif /* __{!s}__ */
�r2r:r.r<r,�r3s r�generate_header_postamblez-HeaderCodeGenerator.generate_header_postamble��h�������4� ������?�+�����L�L���t�$��L�L���8�?�?��@Q�@Q�R�S�rc�d�|j�|j�|j�yr()r@r�r�r�s r�generatezHeaderCodeGenerator.generate��&���%�%�'������&�&�(rN)�__name__�
__module__�__qualname__r4r@r�r�r�rrrr&r&Gs���8!�.h
%�XT�)rr&c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)� InterfaceInfoHeaderCodeGeneratorc
���||_t|�\|_|_|_t|�|_||_||_||_	||_
|j�d|_
||_|	|_y)Nr
)
r)rrrrr$r,r-r.r/r0r1r2)
r3r)rr#r-r.r/r0r1r2s
          rr4z)InterfaceInfoHeaderCodeGenerator.__init__�sq�����7I�)�7T�4����
�t�}�1�+�>���%:��"�$���!2��� 0���� � �(�$&�D�!�'>��$���rc��dj|j�}|jjtjtj|��|jjd�|jr|jjd�nh|jjdj|j��|jjdj|j��|j�C|jjd�|jjd|jz�|jjd�|jjd�|jjd�|jjd�|jjd�yr6r9r>s  rr@z9InterfaceInfoHeaderCodeGenerator.generate_header_preamblerArc��|jD]8}|jjd|j�d|j�d���:y)Nzextern z const GDBusInterfaceInfo z_interface;
)r)r2r:r0ry�r3r�s  r�
declare_infosz.InterfaceInfoHeaderCodeGenerator.declare_infos,s;�����	�A��L�L����(�(�!�,�,�8�
�	rc�(�|jjd�|jjd�|jsP|jjd�|jjdj|j��yyr�r�r�s rr�z:InterfaceInfoHeaderCodeGenerator.generate_header_postamble5r�rc�d�|j�|j�|j�yr()r@r�r�r�s rr�z)InterfaceInfoHeaderCodeGenerator.generate?r�rN)r�r�r�r4r@r�r�r�rrrr�r��s���4!�.�T�)rr�c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�InterfaceInfoBodyCodeGeneratorc��||_t|�\|_|_|_||_||_||_||_||_	yr()
r)rrrrr#r-r/�symbol_decoration_definer2)r3r)rr#r-r/r�r2s        rr4z'InterfaceInfoBodyCodeGenerator.__init__IsI�����7I�)�7T�4����
�t�}�&���%:��"�!2���(@��%���rc�\�dj|j�}|jjtjtj|��|j�C|jjd�|jjd|jz�|jjd�|jjd�|jr(|jjd|jz�|jjd�y)Nr7r8�#define %s
�3#ifdef HAVE_CONFIG_H
#  include "config.h"
#endif

�#include "%s"

z#include <string.h>

�
r!r-r2r:r;r<rr=r�r#r>s  r�generate_body_preamblez5InterfaceInfoBodyCodeGenerator.generate_body_preamble]s����I�I�d�8�8�9�	������;�-�-�f�n�n�i�H�I��(�(�4��L�L���t�$��L�L���~��0M�0M�M�N������4� ������N�	
�����L�L���2�d�6F�6F�G�H������4�5rc�p�|jjd|�d|�d��|jjd�|D]#\}}|jjd|z��%|jjd�|jjd�|jjd�y)	Nzconst z	 * const z[] =
rJz  &%s,
z  NULL,
rUr8�r2r:)r3�array_name_lower�element_type�elementsr	rws      r�generate_arrayz-InterfaceInfoBodyCodeGenerator.generate_arrayqs��������+7�9I�J�	
�	
�����5�!��	2�G�A�t��L�L���z�D�0�1�	2������;�'������6�"������4� rc���t|�dk(ryg}|D�]�}|jjd�r� |j|�d|j�d�|j
�|jjd|�d|j�d��|jjd�|jjd�|jjd	|jz�|jjd	|jz�t|j
�dkDr-|jjd
|�d|j�d��n|jjd�|jjd
�|jjd�|j|�d|j�d�f}|j|����|j|d|�y)Nr�
org.gtk.GDBus�__�_annotationszconst GDBusAnnotationInfo z_annotation =
rJ�  -1,  /* ref count */
�  (gchar *) "%s",
�  (GDBusAnnotationInfo **) z_annotations,
�  NULL,  /* no annotations */
rUr8�_annotation�GDBusAnnotationInfo)rrS�
startswith�define_annotations�	key_lower�annotationsr2r:r�r|�appendr�)r3r�r��annotation_pointersr�rSs      rr�z1InterfaceInfoBodyCodeGenerator.define_annotations|s����{��q� �� ���	,�A��u�u����0���#�#�(8�!�+�+�F��
�
�
�
�L�L���#�Q�[�[�2�
�
�L�L���u�%��L�L���9�:��L�L���4�q�u�u�<�=��L�L���4�q�w�w�>�?��1�=�=�!�A�%����"�"�'����6��
���"�"�#D�E��L�L���v�&��L�L���t�$��7�7�3C�Q�[�[�Q�R�C��&�&�s�+�9	,�<	
����3�5H�	
rc��t|�dk(ryg}|D�]�}|j|�d|j�d�|j�|jjd|�d|j�d��|jjd�|jjd�|jjd|jz�|jjd|jz�t|j�dkDr-|jjd	|�d|j�d
��n|jjd�|jjd�|jjd
�|j|�d|j�d�f}|j|����|j|d|�y)Nrr��_arg_annotationszconst GDBusArgInfo z_arg =
rJr�r�r�z_arg_annotations,
r�rUr8�_arg�GDBusArgInfo)
rr�rwr�r2r:�	signaturer|r�r�)r3r�r��arg_pointersr�rSs      r�define_argsz*InterfaceInfoBodyCodeGenerator.define_args�sh���t�9��>�����	%�A��#�#�,<�a�f�f�E�q�}�}�
�
�L�L���7G����P�
�
�L�L���u�%��L�L���9�:��L�L���4�q�v�v�=�>��L�L���4�q�{�{�B�C��1�=�=�!�A�%����"�"�'����1��
���"�"�#D�E��L�L���v�&��L�L���t�$��7�7�,<�a�f�f�E�F�C�����$�/	%�2	
���,�n�l�Krc	��|jD�
]�}|jjd�|jjd|jz�|jjd�t	|j
�dkD�rg}|j
D�]�}|j
|j�d|j�d�|j�|j
|j�d|j�d�|j�|j|j�d|j�d�|j�|jjd	|j�d|j�d
��|jjd�|jjd�|jjd
|jz�t	|j�dkDr7|jjd|j�d|j�d��n|jjd�t	|j�dkDr7|jjd|j�d|j�d��n|jjd�t	|j�dkDr7|jjd|j�d|j�d��n|jjd�|jjd�|jjd�|j|j�d|j�d�f}|j|����|jd|jzd|�t	|j�dkD�rxg}|jD�]F}|j
|j�d|j�d�|j �|j|j�d|j�d�|j�|jjd|j�d|j�d��|jjd�|jjd�|jjd
|jz�t	|j �dkDr7|jjd|j�d|j�d��n|jjd�t	|j�dkDr7|jjd|j�d|j�d ��n|jjd�|jjd�|jjd�|j|j�d|j�d!�f}|j|���I|jd"|jzd#|�t	|j"�dkD�rYg}|j"D�]'}|j$r|j&rd$}	n |j$rd%}	n|j&rd&}	nd'}	|j|j�d|j�d(�|j�|jjd)|j�d|j�d*��|jjd�|jjd�|jjd
|jz�|jjd
|j(z�|jjd+|	z�t	|j�dkDr7|jjd|j�d|j�d,��n|jjd�|jjd�|jjd�|j|j�d|j�d-�f}|j|���*|jd.|jzd/|�|jd0|jz|j�|jjd1|jz�|jjd�|jjd�|jjd
|jz�t	|j
�dkDr)|jjd2|jz�n|jjd3�t	|j�dkDr)|jjd4|jz�n|jjd5�t	|j"�dkDr)|jjd6|jz�n|jjd7�t	|j�dkDr)|jjd8|jz�n|jjd�|jjd�|jjd��
��y)9NrCz/* Definitions for %s */
r8r�_interface__�_method_in_args�_method_out_args�_method_annotationszconst GDBusMethodInfo z
_method =
rJr�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�rU�_methodz%s_interface_methods�GDBusMethodInfo�_signal_args�_signal_annotationszconst GDBusSignalInfo z
_signal =
z_signal_args,
z  NULL,  /* no args */
z_signal_annotations,
�_signalz%s_interface_signals�GDBusSignalInfo�IG_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_annotationszconst 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,
zNULL,  /* no properties */
z5  (GDBusAnnotationInfo **) %s_interface_annotations,
)r)r2r:rwrr{r�ryr~r�r�r�r|r�r�r�r�r��readable�writabler�)
r3r��method_pointersr�rS�signal_pointersr��property_pointersr��flagss
          r�define_infosz+InterfaceInfoBodyCodeGenerator.define_infos�sB�����R	%�A��L�L���b�
�
�L�L���;�a�f�f�D�E��L�L���t�$��1�9�9�~��!�"$�����40�A��$�$��<�<����7��	�	��
�$�$��<�<����7��
�
��
�+�+��<�<����7��
�
���L�L�&�&��<�<����7���L�L�&�&�u�-��L�L�&�&�'A�B��L�L�&�&�'<�q�v�v�'E�F��1�9�9�~��)����*�*� �|�|�Q�\�\�;��
���*�*�+H�I��1�:�:���*����*�*� �|�|�Q�\�\�;��
���*�*�+I�J��1�=�=�)�A�-����*�*� �|�|�Q�\�\�;��
���*�*�+L�M��L�L�&�&�v�.��L�L�&�&�t�,����56�\�\�1�<�<�P��C�$�*�*�3�/�i40�l�#�#�*�Q�\�\�9�%�#���1�9�9�~��!�"$�����'0�A��$�$�:;�,�,����U������+�+��<�<����7��
�
���L�L�&�&��<�<����7���L�L�&�&�u�-��L�L�&�&�'A�B��L�L�&�&�'<�q�v�v�'E�F��1�6�6�{�Q�����*�*� �|�|�Q�\�\�;��
���*�*�+E�F��1�=�=�)�A�-����*�*� �|�|�Q�\�\�;��
���*�*�+L�M��L�L�&�&�v�.��L�L�&�&�t�,����56�\�\�1�<�<�P��C�$�*�*�3�/�O'0�R�#�#�*�Q�\�\�9�%�#���1�<�<� �1�$�$&�!����'2�A��z�z�a�j�j� k����� E����� E�� A���+�+��<�<����7��
�
���L�L�&�&��<�<����7���L�L�&�&�u�-��L�L�&�&�'A�B��L�L�&�&�'<�q�v�v�'E�F��L�L�&�&�'<�q�{�{�'J�K��L�L�&�&�y�5�'8�9��1�=�=�)�A�-����*�*� �|�|�Q�\�\�;��
���*�*�+L�M��L�L�&�&�v�.��L�L�&�&�t�,����78�|�|�Q�\�\�R��C�&�,�,�S�1�O'2�R�#�#�-����<�'�%��
�#�#�*�Q�\�\�9�1�=�=�
�
�L�L���;�a�l�l�J�
�
�L�L���u�%��L�L���9�:��L�L���4�q�v�v�=�>��1�9�9�~��!����"�"�D�q�|�|�S�����"�"�#@�A��1�9�9�~��!����"�"�D�q�|�|�S�����"�"�#@�A��1�<�<� �1�$����"�"�I�A�L�L�X�����"�"�#A�B��1�=�=�!�A�%����"�"�L��l�l�#��
���"�"�#D�E��L�L���v�&��L�L���t�$�eR	%rc�D�|j�|j�yr()r�r�r�s rr�z'InterfaceInfoBodyCodeGenerator.generate�s���#�#�%����rN)
r�r�r�r4r�r�r�r�r�r�rrrr�r�Hs*���(6�(	!�&
�PL�BS%�nrr�c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zdd�Zd�Z
	dd
�Zgd
fd�Zgd
fd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy
) �
CodeGeneratorc
���||_t|�\|_|_|_||_||_||_||_||_	||_
|	|_t�|_
yr()r)rrrrr*r#r-�docbook_genr/r�r2�set�marshallers)
r3r)rr*r#r-r�r/r�r2s
          rr4zCodeGenerator.__init__�sc�����7I�)�7T�4����
�t�}�#6�� �&���%:��"�&���!2���(@��%�����5��rc��dj|j�}|jjtjtj|��|j�C|jjd�|jjd|jz�|jjd�|jjd�|jr(|jjd|jz�|jjd�|jjd�|jjd�|jjd	�|jjd
�|jjd�|jjd�|jjd
�|jjd�|jjd�|jjd�|jjd�y)Nr7r8r�r�r�z#include <string.h>
z8#ifdef G_OS_UNIX
#  include <gio/gunixfdlist.h>
#endif

ag
#ifdef G_ENABLE_DEBUG
#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
#define g_marshal_value_peek_char(v)     g_value_get_schar (v)
#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
#define g_marshal_value_peek_int(v)      g_value_get_int (v)
#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
#define g_marshal_value_peek_long(v)     g_value_get_long (v)
#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
#define g_marshal_value_peek_float(v)    g_value_get_float (v)
#define g_marshal_value_peek_double(v)   g_value_get_double (v)
#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
#define g_marshal_value_peek_param(v)    g_value_get_param (v)
#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
#define g_marshal_value_peek_object(v)   g_value_get_object (v)
#define g_marshal_value_peek_variant(v)  g_value_get_variant (v)
#else /* !G_ENABLE_DEBUG */
/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
 *          Do not access GValues directly in your code. Instead, use the
 *          g_value_get_*() functions
 */
#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
#define g_marshal_value_peek_variant(v)  (v)->data[0].v_pointer
#endif /* !G_ENABLE_DEBUG */

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

z�typedef struct
{
  GDBusMethodInfo parent_struct;
  const gchar *signal_name;
  gboolean pass_fdlist;
} _ExtendedGDBusMethodInfo;

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

z�typedef 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;
}

astatic 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;
}

ahG_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  rr�z$CodeGenerator.generate_body_preamble�s����I�I�d�8�8�9�	������;�-�-�f�n�n�i�H�I��(�(�4��L�L���t�$��L�L���~��0M�0M�M�N������4� ������N�	
�����L�L���2�d�6F�6F�G�H������2�3������S�	
�	
�����-
�/	
�b	
�����
�	
�	
�����
�	
�	
�����
�	
�	
�����
�		
�	
�����
�	
�	
�����

�	
�"	
�����
�	
�2	
�����
�	
�(	
�����0
�2	
rc��|�yd}|D]�}|jjd�r�|jjd|||j|jfz�t|j�dk(r|jjd�n |jjd||fz�|jjd�|dz
}��|dkDr�|jjd|z�d}|D]C}|jjd�r�|jjd	||fz�|dz
}�E|jjd
�|S)Nrr�zUstatic const GDBusAnnotationInfo %s_%d =
{
  -1,
  (gchar *) "%s",
  (gchar *) "%s",
z  NULL
z+  (GDBusAnnotationInfo **) &%s_%d_pointers
�};

rz;static const GDBusAnnotationInfo * const %s_pointers[] =
{
z
  &%s_%d,
�  NULL
};

)rSr�r2r:r�rr�)r3�prefixr��nr�r�s      r�generate_annotationsz"CodeGenerator.generate_annotations�sZ�����
���	�A��u�u����0���L�L���&�*0��A�E�E�1�7�7�(C�	D�
��1�=�=�!�Q�&����"�"�:�.����"�"�B�f�a�[�P��
�L�L���{�+�
��F�A�+	�.
�q�5��L�L�����!�
��A� �
���5�5�#�#�O�4�����"�"�=�F�A�;�#>�?��Q���	
�

�L�L���5�6��rc��|D�]O}|j|�d|j�d�|j�}|jj	d|�d|j�d|j�d|j
�d�	�|dk(r|jj	d	�n,|jj	d
|�d|j�d��|jj	d�t
j|jd
�s|jj	d�n|jj	d�|jj	d���Rt|�dkDrm|jj	d|z�|D].}|jj	d|�d|j�d���0|jj	d�yy)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�rwr�r2r:r�r�lookup_annotationr)r3r�r�r��num_annos     r�
generate_argszCodeGenerator.generate_args�sp���	,�A��0�0�/5�q�v�v�>��
�
��H�
�L�L���,2�1�6�6�1�6�6�1�;�;�P�
��1�}����"�"�<�0����"�"��q�v�v�'��
�L�L���x�(��*�*��
�
�>�����"�"�;�/����"�"�:�.��L�L���{�+�7	,�:�t�9�q�=��L�L���K�v�V�
��
S�����"�"�&�!�&�&�#Q�R�
S��L�L���5�6�
rc�|�|jsy|jjd�|jD]+}|jjd|j�d���-|jjd�|jjd|j�dt|j��d��y)Nzenum
{
rQ�,
r�zstatic unsigned �[z] = { 0 };

)r�r2r:�
upper_id_name�signals_enum_namer�r3r�r�s   r�#generate_signals_enum_for_interfacez1CodeGenerator.generate_signals_enum_for_interface�s����y�y�������;�'����	:�A��L�L����A�O�O�#4�C�8�9�	:������;�'��������"�"�#�1�S����^�$4�5�
�	
rc��|jjd|jz�t|j�dkD�r|jD�]k}|jd|j�d|j�d�|j�|jd|j�d|j�d�|j�|jd|j�d|j�d�|j�}|jjd	|j�d|j�d
|j�d��t|j�dk(r|jjd�n6|jjd
|j�d|j�d��t|j�dk(r|jjd�n6|jjd
|j�d|j�d��|dk(r|jjd�n6|jjd|j�d|j�d��|jjd|j�d|jrdnd�d��|jjd���n|jjd|jz�|jD]8}|jjd|j�d|j�d���:|jjd�t|j�dkD�rR|jD�]�}|jd|j�d|j�d�|j�|jd|j�d|j�d�|j�}|jjd |j�d|j�d
|j�d��t|j�dk(r|jjd�n6|jjd
|j�d|j�d!��|dk(r|jjd�n6|jjd|j�d|j�d��|jjd"|jz�|jjd����|jjd#|jz�|jD]8}|jjd|j�d|j�d���:|jjd�t|j�dkD�r�|jD�]}|j r|j"rd$}n |j rd%}n|j"rd&}nd'}|jd|j�d(|j�d�|j�}|jjd)|j�d*|j�d
|j�d+|j$j&�d,|�d-��|dk(r|jjd�n6|jjd|j�d(|j�d��|jjd.|jz�t)j*|jd/�s|jjd0�n|jjd1�|j,r|jjd2�n|jjd3�|jjd���	|jjd4|jz�|jD]8}|jjd|j�d*|j�d���:|jjd�|jd5|jz|j�}|jjd6|j�d7|j�d��t|j�dk(r|jjd�n(|jjd8|jz�t|j�dk(r|jjd�n(|jjd9|jz�t|j�dk(r|jjd�n(|jjd:|jz�|dk(r|jjd�n(|jjd;|jz�|jjd<|jz�|jjd�|jj|j.j1d=|j�d>|j�d?�d@��|j3||jd�|jjdA|j�dB|j�dC��|jj|j.j1d=|j�dD|j4�dE�d@��|j3||jd�|jjdF|jz�t|j�dk(r|jjdG�|jjdH�|jD]*}|jjdI|jz��,|jjdJ�|jjd�y)KNz+/* ---- Introspection data for %s ---- */

rr	�
_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�FALSEr8r�zDstatic const GDBusMethodInfo * const _%s_method_info_pointers[] =
{
z  &_rr��
_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",
    rz
  },
  "%s",
r�z	  FALSE,
z  TRUE,
rrzHstatic 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.
FzGDBusInterfaceInfo *
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 *klass� G_GNUC_UNUSEDz, guint property_id_begin)
{
zG  g_object_class_override_property (klass, property_id_begin++, "%s");
z#  return property_id_begin - 1;
}

)r2r:rwrr{rryr~r�r�r��name_hyphenr}r�r�r�r�r�r�r�rr�emits_changed_signalr��expand�+write_gtkdoc_deprecated_and_since_and_closerz)r3r�r�rr�r��accesss       r�$generate_introspection_for_interfacez2CodeGenerator.generate_introspection_for_interfacesL	�������>�!�&�&�I�	
��q�y�y�>�A���Y�Y�0
0���"�"�34�<�<����N��I�I���"�"�45�L�L�!�,�,�O��J�J��
 �4�4�78�|�|�Q�\�\�R��M�M���
���"�"�
01�|�|�Q�\�\�1�6�6�	S���q�y�y�>�Q�&��L�L�&�&�}�5��L�L�&�&��<�<����7���q�z�z�?�a�'��L�L�&�&�}�5��L�L�&�&��<�<����7���q�=��L�L�&�&�|�4��L�L�&�&��<�<����7�����"�"�!"�
�
����v��/O�Q��
���"�"�;�/�a0
0�d
�L�L�������'�
��Y�Y�
�����"�"��|�|�Q�\�\�3��
�

�L�L���5�6��q�y�y�>�A���Y�Y�
0���"�"�01���a�l�l�K�Q�V�V�� �4�4�78�|�|�Q�\�\�R��M�M������"�"�
01�|�|�Q�\�\�1�6�6�	S���q�v�v�;�!�#��L�L�&�&�}�5��L�L�&�&��<�<����7���q�=��L�L�&�&�|�4��L�L�&�&��<�<����7�����"�"�#6�!�-�-�#H�I����"�"�;�/�?
0�B
�L�L�������'�
��Y�Y�
�����"�"��|�|�Q�\�\�3��
�

�L�L���5�6��q�|�|��q� ��\�\�)
0���:�:�!�*�*�h�F��Z�Z�B�F��Z�Z�B�F�>�F��4�4�9:���q�|�|�T��M�M������"�"��|�|�Q�\�\�1�6�6�1�5�5�?�?�F�T�	��q�=��L�L�&�&�|�4��L�L�&�&��<�<����7�����"�"�#7�1�=�=�#I�J��.�.��M�M�#B���L�L�&�&�|�4��L�L�&�&�{�3��)�)��L�L�&�&�z�2��L�L�&�&�{�3����"�"�;�/�S)
0�V
�L�L�������'�
��\�\�
�����"�"��|�|�Q�\�\�3��
�

�L�L���5�6��,�,�!�Q�\�\�2�A�M�M�
��	
�����
()�|�|�Q�V�V�	
=�	
��q�y�y�>�Q���L�L���}�-��L�L���G�1�<�<�X�
��q�y�y�>�Q���L�L���}�-��L�L���G�1�<�<�X�
��q�|�|���!��L�L���}�-��L�L���K��<�<�!�
��q�=��L�L���|�,��L�L���N��<�<�!�
�	
�����;�q�}�}�M�N������4� ���������#�#��<�<����
)��	
�	
�	
�8�8��D�L�L�!�L�������L�L�!�,�,�
0�	
�	
��������#�#�:;���q�|�|�U��
�
	
�	
�8�8��D�L�L�!�L������C�q�|�|�T�	
��q�|�|���!��L�L���/�0������?�@����	�A��L�L���Z��=�=�"�
�	�
	
�����I�J������4� rc��|jjd�|jj|jjd|j�d|j
�d�d��|j
||jd�|jjd�|jj|jjd|jzd��i}t|j�dkDr`|jD]Q}|jd|jzf}d	|jz}|d
|j�d|j�d�z
}|||<�St|j�dkDr`|jD]Q}|jd
|jzf}d|jz}|d
|j�d|j�d�z
}|||<�St|j�dkDr`|jD]Q}|jd|jzf}d|jz}|d|j�d|j�d�z
}|||<�St|j�t j"��D]#}|jjd||z��%|jj|jjd|j
zd��|j
||jd�|jjd�|jjd|j�d|j�d��|jjd|j�d|j�d��|jjd�|jjd|j�d|j�d ��t|j�dk(rLt|j�dk(r4t|j�dk(r|jjd!�n|jjd"�|jjd#�t|j�dkD�r�|jjd$�|jD�]_}|jj|jjd%|j�d|j�d&|j�d'�d��|j$r|jjd(�|j&D]*}|jjd)|j
z��,|jj|jjd*|j
�d+|j
�d,|j�d-|j�d.�	d��|j
||jd/�|j$rd/}	nd0}	|jjd1|j�d2|j�d3�|j|j|jt|j&�|	zfz�|j$r|jjd4�|j&D]*}|jjd5|j(z��,|jjd6�|jjd���bt|j�dkD�r(|jjd7�|jD�]�}|jj|jjd%|j�d|j�d&|j�d�d��|j*D]*}|jjd8|j
z��,|jj|jjd9|j
�d|j
�d:�d��|j
||jd/�|jjd;|j,�d<|j.�d=|j�d>|j�d?�	|j|j|jt|j*�fz�|j*D]*}|jjd5|j(z��,|jjd6�|jjd���t|j�dkD�rV|jjd@�|jD�]+}|j0r|j2rdA}
nB|j0rdB}
n3|j2rdC}
n$t5dDj7|j
��|jj|jjd%|j�d|j�dE|j
�d|j
�dF
�d�d��|j
||jd/�|jjdG�|j8j(dHk(rCdI|j�dJ|j
�dJ|j
�dK|j8j:�dL�	}�nz|j8j:dMk(r,dN|j�dJ|j
�dJ|j
�dO�}�n5|j8j:dPk(r,dQ|j�dJ|j
�dJ|j
�dR�}�n�|j8j:dSk(r,dT|j�dJ|j
�dJ|j
�dU�}�n�|j8j:dVk(r,dW|j�dJ|j
�dJ|j
�dX�}�nf|j8j:dYk(r,dT|j�dJ|j
�dJ|j
�dZ�}�n!|j8j:d[k(r,dW|j�dJ|j
�dJ|j
�d\�}�n�|j8j:d]k(r,d^|j�dJ|j
�dJ|j
�d_�}�n�|j8j:d`k(r,da|j�dJ|j
�dJ|j
�db�}�nR|j8j:dck(r,dd|j�dJ|j
�dJ|j
�de�}�n
|j8j:dfk(r,dg|j�dJ|j
�dJ|j
�dh�}�n�|j8j:dik(r,dg|j�dJ|j
�dJ|j
�dh�}�n�|j8j:djk(r,dg|j�dJ|j
�dJ|j
�dh�}�n>|j8j:dkk(r+dg|j�dJ|j
�dJ|j
�dh�}n�|j8j:dlk(r+dm|j�dJ|j
�dJ|j
�dn�}n�|j8j:dok(r+dm|j�dJ|j
�dJ|j
�dn�}nr|j8j:dpk(r+dm|j�dJ|j
�dJ|j
�dn�}n.t5dqj7|j8j(��dr}|j<rds|z}|jjdt�d|�du��|jjd���.|jjdv�y)wNr8rz9:
 *
 * Abstract interface type for the D-Bus interface #�.
Frz8/**
 * %sIface:
 * @parent_iface: The parent interface.
rKz@handle_%s: zHandler for the #z	::handle-z signal.rOz@%s: �::rPz	@get_%s: zGetter for the #�:z
 property.rRz * %s
z1 *
 * Virtual table for the D-Bus interface #%s.
�typedef rIzInterface;
zG_DEFINE_INTERFACE (r7z, G_TYPE_OBJECT)
�static void
z_default_init (�Iface *iface� G_GNUC_UNUSED)
�)
rJz9  /* 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 rYao() 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.
rarz�  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,
      �_method_marshal_z?,
    G_TYPE_BOOLEAN,
    %d,
    G_TYPE_DBUS_METHOD_INVOCATIONz, G_TYPE_UNIX_FD_LISTz, %sr[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.
rQrz�] =
    g_signal_new ("%s",
      G_TYPE_FROM_INTERFACE (iface),
      G_SIGNAL_RUN_LAST,
      G_STRUCT_OFFSET (%sIface, %s),
      NULL,
      NULL,
      �_signal_marshal_z,
      G_TYPE_NONE,
      %dz1  /* GObject properties for D-Bus properties: */
z�Since 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.z�Since 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.z�Since 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_VARIANTzg_param_spec_variant ("�", "z", G_VARIANT_TYPE ("z"), NULL�bzg_param_spec_boolean ("z", FALSE�yzg_param_spec_uchar ("z", 0, 255, 0r�zg_param_spec_int ("z", G_MININT16, G_MAXINT16, 0�qzg_param_spec_uint ("z", 0, G_MAXUINT16, 0r�z", G_MININT32, G_MAXINT32, 0�uz", 0, G_MAXUINT32, 0�xzg_param_spec_int64 ("z", G_MININT64, G_MAXINT64, 0�tzg_param_spec_uint64 ("z", 0, G_MAXUINT64, 0�dzg_param_spec_double ("z!", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0r�zg_param_spec_string ("z", NULL�o�g�ay�aszg_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));�}

)r2r:r�rrzrwrrr{r|ryrr�r�r�r�rr�r}r~�gtyper�r
r	r�r�rr<r�r�r�)r3r��doc_bitsr�rSr�r�r�r��
extra_args�hintr�s            r�generate_interfacez CodeGenerator.generate_interface
sA�������4� ���������#�#�
�<�<����	)�
�

�		
�	
�8�8��D�L�L�!�L������4� ���������#�#�<�?@�|�|�M��	
�	
����q�y�y�>�A���Y�Y�
&���w�w��q�|�|� ;�<��&�!�,�,�7����L�L��M�M����!&���
�
&��q�y�y�>�A���Y�Y�
&���w�w��q�|�|� ;�<���1�<�<�0����L�L��M�M����!&���
�
&��q�|�|��q� ��\�\�
&���w�w����� =�>��#�q�|�|�4����L�L��M�M����!&���
�
&��(�-�-�/�u�/D�/D�E�	:�C��L�L���y�8�C�=�8�9�	:�	
��������#�#�H�A�F�F�S��
�	
�	
�8�8��D�L�L�!�L������4� ������01���a�l�l�K�	
�	
������|�|�Q�\�\�
+�	
�	
�����4� ������12���q�|�|�
M�	
��q�y�y�>�Q��3�q�y�y�>�Q�#6�3�q�|�|�;L�PQ�;Q��L�L���2�3��L�L���u�%������5�!��q�y�y�>�A���L�L���L�
��Y�Y�;
)�����"�"��$�$�+�+�
�<�<�������	F�
�
�	��9�9��L�L�&�&�O������A��L�L�&�&�K�q�v�v�V������"�"��$�$�+�+��6�6�1�6�6�1�<�<����
G��	���@�@��D�L�L�RS�T��9�9�!"�J�!"�J����"�"���\�\�N�*:�1�<�<�.�I8�
	8��
�
��������A�I�I���3�	���$�9�9��L�L�&�&�'>�?����;�A��L�L�&�&�v����'9�:�;����"�"�6�*����"�"�4�(�w;
)�z�q�y�y�>�A���L�L���V�W��Y�Y�'
)�����"�"��$�$�+�+��<�<�������F�������O�A��L�L�&�&�'B�a�f�f�'M�N�O����"�"��$�$�+�+�
�6�6�1�6�6�	+�
�
�	��@�@��D�L�L�RS�T����"�"���,�,�-�Q�q���.?�@��\�\�N�*:�1�<�<�.�I�	��}�}�a�l�l�A�L�L�#�a�f�f�+�N�
O�����;�A��L�L�&�&�v����'9�:�;����"�"�6�*����"�"�4�(�O'
)�R�q�|�|��q� ��L�L���S�T��\�\�D
)���:�:�!�*�*�L�D��Z�Z�z�D��Z�Z�z�D��X�_�_��F�F���
���"�"��$�$�+�+��<�<�����������
N��	���@�@��D�L�L�RS�T����"�"�#T�U��5�5�;�;�"2�2��=�=�!�&�&�!�&�&�!�%�%�/�/�K���U�U�_�_��+��
�
��������A�
�U�U�_�_��+��
�
��������A�
�U�U�_�_��+��=�=�!�&�&�!�&�&�:���U�U�_�_��+��
�
��������A�
�U�U�_�_��+��=�=�!�&�&�!�&�&�:���U�U�_�_��+��
�
��������A�
�U�U�_�_��+��=�=�!�&�&�!�&�&�:���U�U�_�_��+��
�
��������A�
�U�U�_�_��+��=�=�!�&�&�!�&�&�:���U�U�_�_��+��
�
��������A�
�U�U�_�_��+��
�
��������A�
�U�U�_�_��+��
�
��������A�
�U�U�_�_��,��
�
��������A�
�U�U�_�_��,��
�
��������A�
�U�U�_�_��,��
�
��������A�
�U�U�_�_��-��
�
��������A� �?�F�F�q�u�u�{�{�S��E���<�<�3�e�;�E����"�"�a��#?�@����"�"�4�(�ID
)�L	
�����:�&rc��|jD�]�}|jr|jrd}nB|jrd}n3|jrd}n$tdj	|j
��|jj|jjd|j�d|j�d|j�d|j
�d	|j
�d
�d�
d��|jj�7|jjd
|j�d|j�d��n|jjd�|j||jd�|jj|jj�d|j�d|j�d|j�d��|jjd|j �d|j"�d|jj$�d|j �|j"�d|j�d��|jjd�|jjd�|jj���|jj|jjd|j�d|j�d|j�d|j
�d	|j
�d
|�d|jj�d�d��|j||jd�|jj|jj&�d|j�d|j�d|j�d|jj&�d �
�|jjd!|j(z�|jjd"�|jjd�|jjd�|jr|jrd}nB|jrd#}n3|jrd$}n$tdj	|j
��|jj|jjd|j�d%|j�d|j�d&|j
�d	|j
�d'|�d�
d��|j||jd�|jjd(|j�d%|j�d|j�d)|jj�d*�	�|jjd+|j(z�|jjd�|jjd����y),Nz�Since 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.rri�: (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 rjz�() 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.
rr8rE� *object)
{
z  g_return_val_if_fail (rFz (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)
{
  zvalue;
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.rkz/.
 * @value: The value to set.
 *
 * Sets the #z! D-Bus property to @value.
 *
 * �void
rlz	value)
{
z7  g_object_set (G_OBJECT (object), "%s", value, NULL);
)r�r�r�rr<rwr2r:r�rryrzr�r�rrrrx�ctype_in_default_valuer�r)r3r�r�rDs    r�generate_property_accessorsz)CodeGenerator.generate_property_accessorsX	s7�����N	%�A��z�z�a�j�j�^�����L�����D���T�[�[������

�L�L���� � �'�'��|�|�Q�\�\�1�<�<�������QU�W���

��u�u���*����"�"��|�|�Q�\�\�3�����"�"�#F�G��<�<�Q����a�P��L�L�����������q�|�|�Q�\�\�S�
�

�L�L���
�J�J��L�L��E�E�0�0��J�J��L�L��L�L�
�
�
�L�L���u�%��L�L���t�$��u�u���*����"�"��$�$�+�+��L�L��L�L��L�L��F�F��F�F� ��E�E�O�O�!�$�'��.�@�@��D�L�L�RS�T����"�"����*�*�������������*�*�
�����"�"�O��}�}�&�����"�"�#6�7����"�"�5�)����"�"�4�(��z�z�a�j�j�^�����D�����L���T�[�[������

�L�L���� � �'�'��|�|�Q�\�\�1�<�<�������QU�W���

�
�<�<�Q����a�P��L�L������q�|�|�Q�\�\�1�5�5�>�>�S�
�

�L�L���J��=�=�"�
�
�L�L���u�%��L�L���t�$�]N	%rc��|jD�]4}|jj|jj	d|j
�d|j
�d|j�d�d��|jD]*}|jjd|jz��,|jj|jj	d|j�d|j�d	�d��|j||jd
�|jjd|j
�d|j
�d|j�d
��|jD]7}|jjd|j�d|j����9|jjd|j�d|j�d��|jD]*}|jjd|jz��,|jjd�|jjd���7y)Nrr\�:
 * @object: A #r"Fz. * @arg_%s: Argument to pass with the signal.
z *
 * Emits the #r#z D-Bus signal.
rrLrZr]rMrNz)
{
  g_signal_emit (object, rz], 0z, arg_%sr[r@)
r�r2r:r�rryrzr�rwrrr
r	)r3r�r�r�s    r�generate_signal_emittersz&CodeGenerator.generate_signal_emitters�	s������$	+�A��L�L���� � �'�'�/0�l�l�A�L�L�!�,�,�X��	�
��V�V�
�����"�"�E����P��
�
�L�L���� � �'�'�EF�V�V�Q�V�V�T���
�
�<�<�Q����a�P��L�L���%&�L�L�!�,�,����N�
�
�V�V�
M�����"�"��
�
�A�F�F�#K�L�
M��L�L���,��&�&�'�q����(9��?�
��V�V�
8�����"�"�:����#6�7�
8��L�L���v�&��L�L���z�*�I$	+rNc��|j||du��|jjd�|j|||�|jjd�y)N)�uses_retrJr@)�generate_marshaller_declarationr2r:�generate_marshaller_body)r3�	func_namer~�ret_args    r�generate_marshallerz!CodeGenerator.generate_marshaller
sQ���,�,�Y��PT�AT�,�U������5�!��%�%�i��'�B������:�&rc���|j|ddd��|jjd�|jjd|�d��|jjd�y)NT)rS�	uses_hint�inlinerJrQz[ (closure,
    return_value, n_param_values, param_values, invocation_hint, marshal_data);
r@)rTr2r:)r3�wrapper_name�wrapped_funcs   r�generate_marshaller_wrapperz)CodeGenerator.generate_marshaller_wrapper
sl���,�,�����		-�	
�	
�����5�!���������0�
0�	
�
	
�����:�&rc
�j�|jj|rdnd�d|�d|sdnd�d|sdnd�d��y)Nzinline r
r&z< (
    GClosure     *closure,
    GValue       *return_valuerze,
    unsigned int  n_param_values,
    const GValue *param_values,
    void         *invocation_hintz",
    void         *marshal_data)
r�)r3rVrSrZr[s     rrTz-CodeGenerator.generate_marshaller_declaration)
sY��	
�����"�y��+�=��k�-�EM�-=�SU�,V�W0�IR�0@�WY�/Z�[0�

0�		
rc�V�tj|��d�}|jjd|r|jnd�d|�d�dj|D�cgc]}d|j�d|j�d	���!c}�zd
|�d�z�|r)|jjd|j�d
��|jjdt|�dz�d|�d��d}|r|jjd�d}|jj|�d�djtt|��D�cgc]}|�d||j�d|dz�d���c}�z|�d�z�|r*|jjd|j�d��yycc}wcc}w)N�Funcz
  typedef rXz(*z)
       (void *data1,
r
z        rNrz        void *data2);
  zJ callback;
  GCClosure *cc = (GCClosure*) closure;
  void *data1, *data2;
rQz5v_return;

  g_return_if_fail (return_value != NULL);z'
  g_return_if_fail (n_param_values == ra);

  if (G_CCLOSURE_SWAP_DATA (closure))
    {
      data1 = closure->data;
      data2 = g_value_peek_pointer (param_values + 0);
    }
  else
    {
      data1 = g_value_peek_pointer (param_values + 0);
      data2 = closure->data;
    }

  callback = (z5)
    (marshal_data ? marshal_data : cc->callback);

z
  v_return =
z  callback (data1,
z            z (param_values + �),
z            data2);
z
  z (return_value, v_return);
)r�uscore_to_camel_caser2r:rr!rwr�range�
gvalue_get�
gvalue_set)r3rVr~rW�marshal_func_typer�r�r�s        rrUz&CodeGenerator.generate_marshaller_body7
s���$�9�9�)�D�E�T�J��������W��)�)�'�B�"�EV�DW�X%�
%��g�g�w�O�!��!�*�*��T�!�&�&���=�O�P�
Q��"�#�$'�(�
(�	
���L�L����W�%�%�&�'=�=�
�	
�����
5�58��\�A�5E�4F�
G�/�/�0�
�	
�(����L�L���/�0��F�������h�*�+��g�g�#�3�w�<�0����h�l�7�1�:�+@�+@�*A�AR�ST�UV�SV�RW�W[�\���
���-�.�
/�		
���L�L����'�,�,�-�-I�J�
���eP��Ts�$F!�?"F&c��d}||r|jj�nd�d�z
}|r|djd�|D��z
}|S|dz
}|S)N�_g_dbus_codegen_marshal_�VOIDr�r	c3�RK�|]}|jj�����!y�wr()�gvalue_typer)�.0r�s  r�	<genexpr>z8CodeGenerator.generic_marshaller_name.<locals>.<genexpr>w
s#����F�A��
�
� 3� 3� 5�6�7�F�s�%')rlrr!)r3r��retrws    r�generic_marshaller_namez%CodeGenerator.generic_marshaller_names
s]��)���c�3�?�?�(�(�*�v�>�b�A�A����C�H�H�F��F�F�F�D���
�F�N�D��rc�l�t|tjtjf�sJ�|jsW|j
syt
|j
�dk(r2|j
djr|j
djS|j|j
|j�S)N�g_cclosure_marshal_VOID__VOIDrr)	�
isinstancer�Signal�Method�marshaller_ret_arg�marshaller_in_argsr�gclosure_marshallerrp)r3r6s  r� generic_marshaller_name_for_typez.CodeGenerator.generic_marshaller_name_for_type|
s����!�i�.�.�	�0@�0@�A�B�B�B��#�#��'�'�6��A�(�(�)�Q�.��(�(��+�?�?��+�+�A�.�B�B�B��+�+�A�,@�,@�!�BV�BV�W�Wrc�^�|j|jzD]�}|j|�}|jd�r|jj|��A||jvr�P|j
||j|j�|jj|���y)N�g_cclosure_)	r�r{ryr�r��addrXrwrv)r3r�r6�marshaller_names    r�generate_generic_marshallersz*CodeGenerator.generate_generic_marshallers�
s������Q�Y�Y�&�	2�A�"�C�C�A�F�O��)�)�-�8�� � �$�$�_�5���$�"2�"2�2���$�$���!5�!5�q�7K�7K�
�
��� � ��1�	2rc�l�t|tjtjf�sJ�t	j
|jjj��}|j�d|�d|j��}|j|�}||jvsJ�|j||�y)Nr	�	_marshal_)
rsrrtrurr�	__class__r�rryryr�r^)r3r�r6�kind_uscorerVr}s      r�generate_marshaller_for_typez*CodeGenerator.generate_marshaller_for_type�
s����!�i�.�.�	�0@�0@�A�B�B�B��0�0����1E�1E�1K�1K�1M�N���|�|�n�A�k�]�)�A�L�L�>�J�	��?�?��B���$�"2�"2�2�2�2��(�(��O�Drc�J�|jD]}|j||��yr()r�r�rs   r�generate_signal_marshallersz)CodeGenerator.generate_signal_marshallers�
�%�����	4�A��-�-�a��3�	4rc�J�|jD]}|j||��yr()r{r�)r3r�r�s   r�generate_method_marshallersz)CodeGenerator.generate_method_marshallers�
r�rc�X�|jD�
]}|jjd|j�d|j�d|j�d��|j
D]*}|jjd|jz��,|jdk\r|jjd�|jr|jjd�|jj|jjd	|j�d
|j�d|j�d|j�d|j�d|j�d
�
d��|j||jd�|jjd|j�d|j�d|j�d��|j
D]7}|jjd|j�d|j����9|jdk\r|jjd�|jr|jjd�|jjd�|jr|jjd�n|jjd�|jjd|jz�|j
D]*}|jjd|jz��,|jjd�|j
D]*}|jjd|jz��,|jjd�|jdk\r|jjd�n|jjd �|jr|jjd!�|jjd"�|jjd#�|jjd|j�d|j�d$|j�d��|jD]I}|jjd%|j�d&|jrd'|jznd(�d)���K|jr|jjd*�|jj|jjd+|j�d|j�d,|j�d|j�d-�	d��|j||jd�|jjd.|j�d|j�d/|j�d��|jD]7}|jjd|j �d0|j����9|jr|jjd1�|jjd2�|jr|jjd3�n|jjd4�|jjd5�|jjd6�|jD]*}|jjd|j"z��,|jjd�|jD]*}|jjd7|jz��,|jjd8�|jjd9�|jjd|j�d|j�d:|j�d��|j
D]*}|jjd|jz��,|jdk\r|jjd�|jr|jjd�|jD]I}|jjd%|j�d&|jrd'|jznd(�d)���K|jr|jjd;�|jj|jjd<|j�d
|j�d=|j�d|j�d>�	d��|j||jd�|jjd.|j�d|j�d?|j�d��|j
D]7}|jjd|j�d|j����9|jdk\r|jjd�|jr|jjd@�|jD]7}|jjd|j �d0|j����9|jr|jjd1�|jjdA�|jr|jjdB�n|jjdC�|jjd|jz�|j
D]*}|jjd|jz��,|jjd�|j
D]*}|jjd|jz��,|jjd�|jdk\r|jjd�n|jjd �|jr|jjdD�|jjdE�|jjd6�|jD]*}|jjd|j"z��,|jjd�|jD]*}|jjd7|jz��,|jjd8�|jjd9��
�y)FNrr^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.
FrrLrZr_rMrNrcrLz],
    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 ("(rT�)"�,
                   arg_%srbz"    call_flags,
    timeout_msec,
z$    G_DBUS_CALL_FLAGS_NONE,
    -1,
z
    fd_list,
z/    cancellable,
    callback,
    user_data);
r@z_finish:
 * @proxy: A #z * @out_z: (out) (optional)rGr
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
rdrerfzA,
    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.
rgrhzI,
    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;
)r{r2r:ryrzr~rwr/r}r�rrr�	format_inr��array_annotationr��
format_out�r3r�r�r�s    r�generate_method_callsz#CodeGenerator.generate_method_calls�
s/
�����	P�A��L�L���/0�l�l�A�L�L�!�,�,�X�
�
�Y�Y�
�����"�"�P��v�v���
�
�%�%��0����"�"�D���y�y����"�"�I��
�L�L���� � �'�'��������������������"�%�
�,
�<�<�Q����a�P��L�L���$%�<�<����q�|�|�M�
�
�Y�Y�
M�����"�"��
�
�A�F�F�#K�L�
M��%�%��0����"�"�Q���y�y����"�"�#@�A��L�L����
��y�y����"�"�T�����"�"�#Q�R��L�L���D����O�P��Y�Y�
9�����"�"�4�1�;�;�#7�8�
9��L�L���t�$��Y�Y�
N�����"�"�#A�Q�V�V�#L�M�
N��L�L���v�&��%�%��0����"�"�#L�M����"�"�#N�O��y�y����"�"�#3�4��L�L���J�
�
�L�L���z�*��L�L���/0�l�l�A�L�L�!�,�,�X�
�
�Z�Z�
�����"�"��v�v�1�;M�;M�s�Q�%7�%7�7�SU�U�W��
�
�y�y����"�"�q��
�L�L���� � �'�'��|�|�Q�\�\�1�<�<����
O��	�
�
�<�<�Q����a�P��L�L���$%�<�<����q�|�|�M�
�
�Z�Z�
N�����"�"����Q�V�V�#L�M�
N��y�y����"�"�#E�F��L�L���&�
��y�y����"�"�|�����"�"�]��
�L�L���I�J��L�L���O�P��Z�Z�
:�����"�"�4�1�<�<�#8�9�
:��L�L���t�$��Z�Z�
L�����"�"�#?�1�6�6�#J�K�
L��L�L���C�D��L�L���N�O�
�L�L���/0�l�l�A�L�L�!�,�,�X�
�
�Y�Y�
�����"�"�P��v�v���
�
�%�%��0����"�"�D���y�y����"�"�I���Z�Z�
�����"�"��v�v�1�;M�;M�s�Q�%7�%7�7�SU�U�W��
�
�y�y����"�"�\��
�L�L���� � �'�'��v�v�q�v�v�q�|�|�Q�\�\�C���

�
�<�<�Q����a�P��L�L���$%�<�<����q�|�|�M�
�
�Y�Y�
M�����"�"��
�
�A�F�F�#K�L�
M��%�%��0����"�"�Q���y�y����"�"�#A�B��Z�Z�
N�����"�"����Q�V�V�#L�M�
N��y�y����"�"�#E�F��L�L���&�
��y�y����"�"�`�����"�"�N��
�L�L���D����O�P��Y�Y�
9�����"�"�4�1�;�;�#7�8�
9��L�L���t�$��Y�Y�
N�����"�"�#A�Q�V�V�#L�M�
N��L�L���v�&��%�%��0����"�"�#L�M����"�"�#N�O��y�y����"�"�#H�I��L�L���#�
�
�L�L���O�P��Z�Z�
:�����"�"�4�1�<�<�#8�9�
:��L�L���t�$��Z�Z�
L�����"�"�#?�1�6�6�#J�K�
L��L�L���C�D��L�L���N�O�	Prc
�:�|jD�]}|jjd|j�d|j�d|j�d��|j
r|jjd�|jD]*}|jjd|jz��,|jj|jjd|j�d|j�d	�d
��|j||jd�|jjd|j�d|j�d
|j�d��|j
r|jjd�|jD]6}|jjd|j�|j����8|jjd�|j
r|jjd�n|jjd�|jD]*}|jjd|jz��,|jjd�|jD]*}|jjd|jz��,|j
r|jjd�n|jjd�|jjd���y)NrrYrPz=.
 * @invocation: (transfer full): A #GDBusMethodInvocation.
r�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.
FrrLrZz= *object G_GNUC_UNUSED,
    GDBusMethodInvocation *invocationrLrMz)
{
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 ("(rTr�z,
                   %sz),
    fd_list);
�));
r@)
r{r2r:ryrzr}r�rwr�rrrr�r�s    r�generate_method_completersz(CodeGenerator.generate_method_completers�s`�����9	+�A��L�L���
�<�<����q�|�|�	=�
��y�y����"�"�I���Z�Z�
P�����"�"�#C�q�v�v�#N�O�
P��L�L���� � �'�'�
�v�v�q�v�v�	'�
�
�	
�
�<�<�Q����a�P��L�L���
�<�<����q�|�|�	=�
��y�y����"�"�#@�A��Z�Z�
I�����"�"�A�J�J����#G�H�
I��L�L���{�+��y�y����"�"�,��
���"�"�,���Z�Z�
9�����"�"�4�1�;�;�#7�8�
9��L�L���t�$��Z�Z�
J�����"�"�#=����#H�I�
J��y�y����"�"�#8�9����"�"�7�+��L�L���z�*�s9	+rc�"&�|jjd�|jj|jjd|j�d|j�d�d��|j||jd�|jjd�|jj|jjd|j�d|j�d	�d��|j||jd�|jjd�|jjd
|jz�|jjd|j�d|j�d
��|jjd�|jjd|j�d|j�d��|jjd|jz�|jjd|j�d|j�d|j�d��|jjd�|jjd|j�d|j�d��|jjd|j�d|j�d|j�d��|jjd�|jjd|jz�|jjd|j�d|j�|j�d��|jjd�|jjd|jz�|jjd|jz�t|j�dk(r|jjd �n|jjd!�|jjd"�t|j�dkDr=|jjd#t|j�|jfz�|jjd$�t|j�dkDrk|jjd%|jz�|jjd&|jz�|jjd$�|jjd'|jz�t|j�dk(r|jjd(�n|jjd)�|jjd"�t|j�dkDrS|jjd*t|j�|j|j|jfz�|jjd$�|jjd+|jz�|jjd,�|jjd-|jz�|jjd.|j�d|j�d/��|jjd0�|jjd1|j�d|j�d2��|jjd3�|jjd4�|jjd$�|jjd5|jz�|jjd|j�d|j�|j�d6|j�d7|j�d8�
�|jD�](}|jjd9|jj�d|j�d:|j�d;|j�d<|j�d|j�|j�d=|jj�d>|jj�d?��d}|jjd@k(s2|jjdAk(s|jjdBk(rdC}|r(|jjdD|jz�|jjdE|jz�|jj dFk(rS|jjdG�|jjdH�|jjdI��n|jjdJ�dK}|jjdLk(sK|jjd@k(s2|jjdAk(s|jjdBk(rdM}|jjdN|jj�dO|�d2��|r(|jjdP|jz�|jjdQ�|jjdR�|jjdS�|jjdT�|jjd���+|jjdU|j�dV|j�dW|j�dX|j�d|j�dY|j�dZ|j�d[��|jjdU|j�d\|j�d]|j�d^|j�d_|j�d`|j�da|j�db��t|j�dkDr(|jjdc|jz�|jjdd|jz�|jjd$�|jjdU|j�d|j�de��t|j�dk(r|jjdf�n|jjdg�|jjdh�|jD]E}|jjdi|j�dj|j�d:|j�d?���G|jjd$�|jj|jjd|j�dk|j�dl|j�dm|j�dn�	d��|j||jd�|jjdo|j�dp|j�d|j�dq|j�dr�	�|jjd|j�ds|j�dt|j�du|j�dv�	�|j||jd�|jj|j�dw|j�dx|j�|j�dy��|jj|jjd|j�dz|j�d{|j�d||j�dv�	d��|j||jd�|jj|j�dw|j�d}|j�d|j�d~|j�d|j�|j�dy�
�|jjd�|jj|jjd|j�d�|j�d�|j�d�|j�d��	d��|j||jd�|jjdo|j�d�|j�d|j�d�|j�dr�	�|jjd|j�d�|j�d�|j�d�|j�dv�	�|j||jd�|jj|j�dw|j�d�|j�|j�dy��|jj|jjd|j�d�|j�d�|j�d�|j�dv�	d��|j||jd�|jj|j�dw|j�d�|j�d|j�d�|j�d|j�|j�dy�
�|jjd�y)�N�P/* ------------------------------------------------------------------------ */

rzProxy:
 *
 * The #z_Proxy structure contains only private data and should only be accessed using the provided API.
Frr8zKProxyClass:
 * @parent_class: The parent class.
 *
 * Class structure for #r�z-struct _%sProxyPrivate
{
  GData *qdata;
};

�static void z_proxy_iface_init (zIface *iface);

�2#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
�G_DEFINE_TYPE_WITH_CODE (zProxy, z_proxy, G_TYPE_DBUS_PROXY,
z1                         G_ADD_PRIVATE (%sProxy)
�0                         G_IMPLEMENT_INTERFACE (rDr7z_proxy_iface_init))

�#else
rWz2static void
%s_proxy_finalize (GObject *object)
{
rQzProxy *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);
r@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);
z�static 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, r[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);
z�static 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);
    }
}

�static �_proxy_get_rErJz(_PROXY (object);
  GVariant *variant;
  zvalue = rH�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    }
rKrIr&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, rmzPProxyPrivate);
#endif

  g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), z_interface_info ());
}

z_proxy_class_init (z�ProxyClass *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)rJ�
  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.
rLa$_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", ")r2r:r�rrzrryrrxrr�rwr�rrM�gvariant_getrA)r3r�r��free_container�	extra_lens     r�generate_proxyzCodeGenerator.generate_proxy�s1�������
�	
�
	
��������#�#�
�<�<����	/�
�

�		
�	
�8�8��D�L�L�!�L������4� ���������#�#�
9:���a�l�l�	T�
�

�		
�	
�8�8��D�L�L�!�L������4� ������
��<�<�	
 �	
�	
������L�L�!�,�,�
0�	
�	
�����P�Q�������|�|�Q�\�\�
+�	
�	
�����@�A�L�L�Q�	
�	
������z�z�1�<�<����
7�	
�	
�����9�%�������|�|�Q�\�\�
+�	
�	
������z�z�1�<�<����
7�	
�	
�����:�&�	
�����
��\�\�
#�	
�
	
������|�|�Q�Z�Z����
7�	
�	
�����H�I������
��L�L�
"�	
�	
�����
:�=>�\�\�
K�	
��q�|�|���!��L�L���9�
�
�L�L���M�
�	
�����I�J��q�|�|��q� ��L�L���3�"7:�!�,�,�6G����5V�#W�
�(	
�����:�&��q�|�|��q� ��L�L�������	'�
�
�L�L�����V�V�%�
�$
�L�L���z�*������D����U�V��q�|�|���!��L�L���9�
�
�L�L���+�
�
	
�����I�J��q�|�|��q� ��L�L���1��q�|�|�$�a�l�l�A�F�F�A�L�L�I�J�
�	
�����:�&�	
�����
�
�\�\�
#�	
�	
�����
#�	
�	
�����
� �|�|�
-�	
�
	
�����>?�Z�Z����
W�	
�	
�����
�	
�"	
������z�z�1�<�<�
)�	
�	
�����M�N������
#�	
�
	
�����:�&�	
�����
��\�\�	
#�	
�	
�����.�L�L�!�*�*�a�l�l�A�L�L�!�,�,�-
X�	
�6���H	%�A��L�L����E�E�N�N��L�L��L�L��L�L��L�L��J�J��L�L��E�E�N�N��E�E�0�0��
�0#�N����"�"�&:�:��5�5�%�%�)=�=��5�5�%�%�)I�I�!%��
����"�"�*�-.�V�V�5��

�L�L���^��6�6��
��u�u�{�{�.�.����"�"�#9�:����"�"�#=�>����"�"�#E�F����"�"�#G�H��	��E�E�&�&�*@�@��u�u�)�)�-A�A��u�u�)�)�-A�A��u�u�)�)�-M�M� (�I����"�"�9:���9K�9K�Y�W��"��L�L�&�&�q��6�6�#�����"�"�#G�H����"�"�9�-��L�L���2�3��L�L���u�%��L�L���t�$�QH	%�V	
���������������
�
����������%
�	
�,	
�����"���������������������-
�	
�4�q�|�|��q� ��L�L���B�a�l�l�S�
�	
�����
��,�,�
(�	
�
	
�����:�&������56�\�\�1�<�<�
Q�	
��q�|�|���!��L�L���2�3��L�L���u�%������5�!����	�A��L�L����<�<����q�|�|�=�
�	�
	
�����:�&�	
��������#�#�"�<�<�������q�|�|�!E�"�%
�	
�,	
�8�8��D�L�L�!�L�������L�L�!�*�*�a�l�l�A�F�F�
D�	
�	
������|�|�Q�\�\�1�<�<����
G�
	
�	
�8�8��D�L�L�!�L������ �L�L�!�,�,��
�
�A�L�L�
J�	
�$	
��������#�#�"�<�<�������q�|�|�!E�"�%
�	
�,	
�8�8��D�L�L�!�L������&�������
�
��������
�
����1
�	
�8	
�����4� ���������#�#�"�<�<����q�|�|�Q�\�\�!K�"�%
�	
�,	
�8�8��D�L�L�!�L�������L�L�!�*�*�a�l�l�A�F�F�
D�	
�	
������|�|�Q�\�\�1�<�<����
G�
	
�	
�8�8��D�L�L�!�L������ �L�L�!�,�,��
�
�A�L�L�
J�	
�$	
��������#�#�"�<�<����q�|�|�Q�\�\�!K�"�%
�	
�,	
�8�8��D�L�L�!�L������&�������
�
��������
�
����1
�	
�8	
�����4� rc�"+�|jjd�|jj|jjd|j�d|j�d�d��|j||jd�|jjd�|jj|jjd|j�d|j�d	�d��|j||jd�|jjd�|jjd
|jz�|jjd|j�d|j�d
|j�|j�d��|jjd�|jjd|j�d|j�d��|jjd�|jjd|j�d|j�d��|jjd�|jjd�|jjd�|jjd|j�d|j�d
|j�|j�d��|jjd|jz�|jjd|j�d|j�d
|j�|j�d��|jjd |jz�|jjd!|j�d"|j�d#|j�d$|j�d%�	�|jjd&|j�d'|j�d(��|jjd�|jjd)|j�d*|j�d+��|jjd�|jjd,|j�d-|j�d
|j�|j�d.��|jjd/|j�d0|j�d1|j�d2|j�d3|j�d4��t|j�dkDr(|jjd5|jz�|jjd6|jz�t|j�dk(r|jjd7�n|jjd8�|jjd9�t|j�dkDrO|jjd:|j�d
|j�|j�d;|j�d<��|jjd�|jD�]}|jjd|j�d=|j�d>|j�d?��|jD]7}|jjd@|j�dA|j����9|jjdB|j�d
|j�|j�dC��|jjdD�|jD]*}|jjdE|jz��,|jjdF�|jD]*}|jjdG|jz��,|jjdH�|jjdI|j�dJ|j�dK��|jjdL�|jjdM�|jjd���|jjdN|j�dO|j�dP��|jjdQ�|jjdR|j�dS|j�dT��|jjdU|jz�|jjdV|j�d|j�dW|j�dX��|jjdY�|jjdR|j�dS|j�dT��|jjdV|j�d|j�dW|j�dX��|jjdZ�|jjd[|jz�|jjd:|j�d
|j�|j�d\��t|j�dkDrL|jjd]t|j�z�|jjd^�|jjd_�|jjd`�|jjda�|jjdb�|jjdc�|jjdd|jz�t|j�dkD�r�|jjde|jz�|jjdf|j|j|jt|j�fz�|jjd�|jjd|j�dg|j�d
|j�|j�dh��|jjdi|jz�|jjd_�|jjdj�|jjdk�|jjdl�|jjdm�|jjd|j�dn|j�do��|jjdp�|jjdq|j�dr|j�d
|j�|j�ds|j�dt|j�du��|jjdv|jz�|jjdw|j|j|jt|j�|j|jfz�|jjd�|jjdq|j�dx|j�dy|j�dz|j�d|j�d{|j�d|�
�|jjd}�|jjd~�t|j�dkDr}|jjdt|j�z�d}|jD];}|jjd�||j j"fz�|d�z
}�=|jjd�d}|jD�]>}|jjd�|j j�d|j�d�|j�d�|j�d��	�|jjd:|j�d
|j�|j�d\��|jjd�|j j$|j j&|fz�|jjd��|jjd��|jjd�|d�z
}��A|jjdq|j�d�|j�d�|j�d���t|j�dkDrk|jjd�|j�d�|j�d�|j�d���|jjd�|jz�|jjd��|jjd�|jz�|jjd�|jz�|jjd�|jz�|jjd�|jz�|jjd�|jz�|jjd�|jjdq|j�dO|j�d���t|j�dk(r4t|j�dk(r|jjd7�n|jjd8�|jjd9�|jD]E}|jjd�|j�d�|j�d=|j�d����G|jD]E}|jjd�|j�d�|j�d�|j�d����G|jjd�|jj|jjd|j�d�|j�d�|j�d��d��|j||jd�|jj|j�d�|j�d�|j�|j�d�|j�d|j�d���y)�Nr�rzSkeleton:
 *
 * The #zbSkeleton structure contains only private data and should only be accessed using the provided API.
Frr8zNSkeletonClass:
 * @parent_class: The parent class.
 *
 * Class structure for #z
Skeleton.
z�struct _%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)
{
  zSkeleton *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], rDa�);
  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);
    }
r�r[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);
r@zstatic 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;
}

zstatic 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}
};

zstatic GDBusInterfaceInfo *
z^_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
{
  return z_interface_info ();
zstatic GDBusInterfaceVTable *
z{_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
{
  return (GDBusInterfaceVTable *) &_z_skeleton_vtable;
zstatic 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)rJrQa�_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_rZr]rMrNz)
{
  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 ("(rTr�r�r�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)), "r0z(",
        signal_variant, NULL);
    }
z$  g_variant_unref (signal_variant);
z2  g_list_free_full (connections, g_object_unref);
r�z_skeleton_iface_init (zIface *iface);
r�r�z
Skeleton, z+_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
z4                         G_ADD_PRIVATE (%sSkeleton)
r�r7z_skeleton_iface_init))

r�rWz5static 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);
}

z�static 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 (aiSkeleton *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);
}

z�static 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, rpzSkeletonPrivate);
#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);
rr��_skeleton_get_rErHz�  %svalue;
  g_mutex_lock (&skeleton->priv->lock);
  value = %s (&(skeleton->priv->properties[%d]));
  g_mutex_unlock (&skeleton->priv->lock);
rKrIz_skeleton_class_init (z�SkeletonClass *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 = _rHr�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));
}

)r2r:r�rrzrryrrxrwrr�r�r�rr�r�rA�
ctype_in_gre)r3r�r�r�r�r�s      r�generate_skeletonzCodeGenerator.generate_skeleton�s\�������
�	
�
	
��������#�#�
�<�<����	/�
�

�		
�	
�8�8��D�L�L�!�L������4� ���������#�#�
<=�<�<����	W�
�

�		
�	
�8�8��D�L�L�!�L������4� ������
��<�<�
 �
	
�	
�����,�|�|�Q�\�\�1�:�:�q�|�|�+
E�	
�0	
�����
+�	
�	
�����"���Q�\�\�!
3�	
�&	
�����

�	
� 	
������z�z�1�<�<�
)�	
�	
�����
1�	
�	
�����
#�	
�
	
�����:�&������ �|�|�Q�\�\�1�:�:�q�|�|�
E�	
�$	
�����
�"�L�L�#
"�	
�*	
����� $%�<�<����q�z�z�1�<�<�
Y�	
�$	
�����
�(�L�L�)
"�	
�0	
������L�L�!�,�,����a�l�l�
L�		
�	
�����34�,�,����
N�	
�	
�����:�&������
�|�|�Q�\�\�	
+�	
�	
�����:�&������
�|�|�Q�\�\�1�:�:�q�|�|�	
E�	
�	
�����2�L�L�!�,�,����a�l�l�A�F�F�1
T�	
�8�q�|�|��q� ��L�L�������&�
�
	
�����
R��|�|�
�	
�
�q�|�|���!��L�L���2�3��L�L���u�%������5�!��q�|�|��q� ��L�L����<�<����Q�\�\�1�<�<�I�
�"	
�����:�&����&	+�A��L�L���%&�L�L�!�,�,����N�
�
�V�V�
M�����"�"��
�
�A�F�F�#K�L�
M��L�L����<�<����Q�\�\�
;�
�
�L�L���O�
��V�V�
9�����"�"�4�1�;�;�#7�8�
9��L�L���t�$��V�V�
N�����"�"�#A�Q�V�V�#L�M�
N��L�L���w�'��L�L����V�V�Q�V�V�
-�
�
�L�L���F�G��L�L���T�U��L�L���z�*�M&	+�P	
������|�|�Q�\�\�
+�	
�
	
�����P�Q�������|�|�Q�\�\�
+�	
�	
�����C�q�|�|�T�	
�	
������z�z�1�<�<����
7�	
�	
�����9�%�������|�|�Q�\�\�
+�	
�	
������z�z�1�<�<����
7�	
�	
�����:�&�	
�����
��\�\�
#�	
�
	
������|�|�Q�Z�Z����
7�	
��q�|�|��q� ��L�L���H��q�|�|�$�&�
�
�L�L���I�J������q�	
�	
�����M�	
�	
�����V�	
�	
�����P�Q������G�H������
��L�L�
"�	
��q�|�|��q� ��L�L����
���'�
�
�L�L���>�
�<�<����Q�\�\�3�q�|�|�;L�M�N�
�
�L�L���z�*�
�L�L���
�<�<����q�z�z�1�<�<�	I�
�
�L�L���1�b�V�V�c1%�3
�h
�L�L���u�
�
�L�L���O�P��L�L���L�
�
�L�L���L�M��L�L���=�>��L�L����\�\�1�<�<�9�
�"
�L�L���
�
�$
�L�L���*�L�L��L�L��J�J��L�L��L�L��L�L�3�
�<
�L�L����
���'�
�
�L�L���5�"�L�L��J�J��L�L�����%��L�L��L�L�
�!�
�4
�L�L���z�*����������������
�
�������
�	
�$	
�����F�G������Q�	
��q�|�|��q� ��L�L���G��q�|�|�$�&�
��A��\�\�
�����"�"�M��!�%�%�+�+�&�'���Q���
�	
�����:�&�
�����	�A��L�L�����������q�|�|�Q�\�\�S�
�

�L�L����<�<����Q�\�\�;�
�
�L�L���>��5�5�#�#�Q�U�U�%5�%5�q�9�	:�
�
�L�L���2�3��L�L���u�%��L�L���t�$�
��F�A�)	�,	
������|�|�Q�\�\�1�<�<�
9�
	
��q�|�|��q� ��L�L������a�l�l�A�L�L�B�
�
�L�L���E����V�
�	
�����P�	
�	
�����Q��|�|�
�	
�	
�����]��|�|�
�	
�	
�����K��|�|�
�	
�	
�����U��|�|�
�	
�
	
�����
��,�,�
(�	
�	
�����:�&������89���a�l�l�
T�	
��q�y�y�>�Q��3�q�|�|�#4��#9��L�L���2�3��L�L���u�%������5�!����	�A��L�L����<�<����q�|�|�=�
�	�
���	�A��L�L����<�<����q�|�|�=�
�	�
	
�����:�&�	
��������#�#��<�<�������
7��	
�	
�	
�8�8��D�L�L�!�L�������������
�
�����
�
����

�	
rc�"�|jjd�|jj|jjd|j�d|j�d|j�d|j�d|j�d�d��|jjd	�|jj|jjd
|j�d|j�d�d��|jjd	�|jj|jjd
|j�d
|j�d�d��|jjd	�|jjd|j�d|j�d��|jjd|j�d|j
�d��|jjd	�|jjd|j
�d|j�d��|jD]�}|jj|jjd|j�d|j�d|j�d|j�d�	d��|j||jd�d}|jrd|z}|jjd |j�d!|j�d!|j�d"|j�d#|j�d$|�d%�
���|jjd&�|jD�]Q}|jj|jjd
|j
�d'|jj��d(|j�d)|j�d*|j�d+|j�d,�
d��|j||jd-�|jj|j�d.|j
�d'|jj��d/|j�d0��|jjd1|j�d2|j�|j�d3����T|jjd	�|jD�]_}|jj|jjd
|j
�d4|jj��d5|j�d6|j
�d'|jj��d7|j�d8�
d��|j||jd-�|jj|j�d.|j
�d4|jj��d/|j�d0��|jjd1|j�d9|j�|j�d3����b|jjd	�|jjd:|j
z�|jj|jjd
|j�d;|j�d<�d��|jjd=�|jjd	�|jj|jjd
|j�d>|j�d?�d��|jjd=�|jjd	�|jjd|j
�d@|j
�dA|j�dB��|jjd|j
�dC|j
�dD|j
�dE��|jjd	�|jjdF|j�dG|j
�dH|j�dI|j
�d@|j
�dJ|j
�dK�
�|jjd|j
�dL|j�dM��|jjdN|j
z�|jjd&�|jjd|j
�dO|j�dP|j�dQ��dR}|jD]1}|jjdS||jfz�|dRz
}�3|jjdT�|jjd|j
�dU|j�dV|j
�dW|j
�dX�	�dR}|jD]1}|jjdY||jfz�|dRz
}�3|jjd&�|jj|jjdZ|j
zd��|jj|j�d[|j
�d\|j�d]|j�d^��|jj|jjd
|j�d_|j�d`�d��|jjd=�|jjd	�|jj|jjd
|j�da|j�db�d��|jjd=�|jjd	�|jjd|j
�dc|j
�dA|j�dB��|jjd	�|jjd|j
�dd|j
�dD|j
�dE��|jjdF|j�de|j
�df|j�dI|j
�dc|j
�dJ|j
�dg�
�|jjd|j
�dh|j�di��|jjd|j
�dj|j�dk|j�dl��dR}|jD]G}|jjdm||j|j|jfz�|dRz
}�I|jjdT�|jjd|j
�dn|j�dk|j�do��dR}|jD]1}|jjdS||jfz�|dRz
}�3|jjdT�|jjd|j
�dp|j�dq|j
�dr|j
�ds�	�dR}|jD]1}|jjdY||jfz�|dRz
}�3|jjd&�|jj|jjdt|j
zd��|jj|j�du|j
�dv|j�dw|j�dx��|jD�]8}|jj|jjd
|j
�dy|jj��d(|j�dz|j�d{|j�d*|j�d|�
d��|j||jd-�|jjd}|j
�dy|jj��d/|j�d~|j�d�	�|jjd�|jz���;|jjd	�y)�Nz�/* ------------------------------------------------------------------------
 * Code for Object, ObjectProxy and ObjectSkeleton
 * ------------------------------------------------------------------------
 */

�/**
 * SECTION:zObject
 * @title: z]Object
 * @short_description: Specialized GDBusObject types
 *
 * This section contains the #z	Object, #zObjectProxy, and #zvObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.
 */
Fr8rzObject:
 *
 * The #z:Object type is a specialized container of interfaces.
 */
zRObjectIface:
 * @parent_iface: The parent interface.
 *
 * Virtual table for the #zObject interface.
 */
r%rrzObjectInterface;
zG_DEFINE_INTERFACE_WITH_CODE (zObject, zbobject, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT);)
r&zobject_default_init (zObjectIface *iface)
{
r*zObject: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.
rar>r?zD  g_object_interface_install_property (iface, g_param_spec_object ("r0z", rDr7z));

r@rsrPzObject.
 *
 * 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.
rrorEzObject *object)
zW{
  GDBusInterface *ret;
  ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "z1");
  if (ret == NULL)
    return NULL;
  return z (ret);
}

rtrGzObject.
 *
 * 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);
}

zObjectProxy:
 *
 * 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__zobject_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 = zobject_notify;
}

r�z
ObjectProxy, zXobject_proxy, G_TYPE_DBUS_OBJECT_PROXY,
                         G_IMPLEMENT_INTERFACE (rqzWobject_iface_init)
                         G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, z*object_proxy__g_dbus_object_iface_init))

zobject_proxy_init (z(ObjectProxy *object G_GNUC_UNUSED)
{
}

z�static 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)
{
  zObjectProxy *object = zOOBJECT_PROXY (gobject);
  GDBusInterface *interface;

  switch (prop_id)
    {
rz�    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;
  }
}

zobject_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 = zobject_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.
 */
zObjectProxy *
z�object_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 zOBJECT_PROXY (g_object_new (zXTYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL));
}

zObjectSkeleton:
 *
 * 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 #zObjectSkeleton.
�object_skeleton__zaobject_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface)
{
  iface->interface_added = zObjectSkeleton, z^object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON,
                         G_IMPLEMENT_INTERFACE (z-object_skeleton__g_dbus_object_iface_init))

zobject_skeleton_init (z+ObjectSkeleton *object G_GNUC_UNUSED)
{
}

z�object_skeleton_set_property (GObject      *gobject,
  guint         prop_id,
  const GValue *value,
  GParamSpec   *pspec)
{
  zObjectSkeleton *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;

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

  switch (prop_id)
    {
zobject_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 = zobject_skeleton_get_property;

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

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

)r2r:r�rrrr)rrzrwrr�rrxr)r3r�r�r�s    r�generate_objectzCodeGenerator.generate_object�sI
�������
�	
�	
��������#�#��N�N��N�N��N�N��N�N��N�N�
��
�	
�&	
�����4� ���������#�#�
 �>�>�4�>�>�	;�
�

�		
�	
�����4� ���������#�#� �>�>�4�>�>�;��
�
	
�	
�����4� �������~�~�t�~�~�
/�	
�	
������~�~�t�}�}�
.�	
�	
�����4� �������]�]�D�N�N�
4�	
�
���	�A��L�L���� � �'�'��~�~�q�}�}�a�l�l�A�F�F�
L��	�
�
�<�<�Q����a�P�@�E��|�|�/�%�7���L�L����M�M��M�M��M�M��M�M��L�L��	�
�#	�:	
�����:�&����#	�A��L�L���� � �'�'��
�
����*�*�,���������������!�
�(
�<�<�Q����a�P��L�L����<�<�������0B�0B�0D�d�n�n�V�
�
�L�L�������
�
�q�|�|�=�	
�5#	�H	
�����4� ����&	�A��L�L���� � �'�'��
�
����*�*�,�����
�
����*�*�,�����"�%�
�,
�<�<�Q����a�P��L�L����<�<�������0B�0B�0D�d�n�n�V�
�
�L�L�������
�
�q�|�|�=�

�9&	�N	
�����4� ������

��M�M�

#�	
�	
��������#�#�
�>�>�4�>�>�	3�
�

�		
�	
�����7�#������4� ���������#�#��>�>�4�>�>�3��
�
	
�	
�����7�#������4� ������
�M�M�4�=�=�$�.�.�	
B�	
�	
������M�M�4�=�=�$�-�-�

A�	
�	
�����4� ����������
�
��
�
��
�
��
�
��
�
�
�
	
�	
�����
�M�M�4�>�>�	
3�	
�	
�����
O��}�}�
�		
�	
�����:�&�������������
�
�

G�	
�
�����	�A��L�L�����1�6�6�{�	#�
�
��F�A�	�	
�����
�	
�	
������M�M�4�>�>�4�=�=�$�-�-�
Q�		
�
�����	�A��L�L�����1�=�=�)�*�
�
��F�A�	�	
�����:�&���������#�#�� �=�=�*��
�
	
�	
������N�N�D�M�M�4�=�=�$�-�-�
Q�
	
�	
��������#�#�
�>�>�4�>�>�	3�
�

�		
�	
�����7�#������4� ���������#�#��>�>�4�>�>�3��
�
	
�	
�����7�#������4� ������
�M�M�4�=�=�$�.�.�	
B�	
�	
�����4� �������M�M�4�=�=�$�-�-�

A�	
�	
���������
�
��
�
��
�
��
�
��
�
�
�
	
�	
�����
�M�M�4�>�>�	
3�	
�	
������������
�
�

G�	
�
�����	�A��L�L�����4�=�=�!�,�,����?�@�
�
��F�A�!	�"	
�����
�	
�	
������������
�
�

G�	
�
�����	�A��L�L�����1�6�6�{�	#�
�
��F�A�	�	
�����
�	
�	
������M�M�4�>�>�4�=�=�$�-�-�
Q�		
�
�����	�A��L�L�����1�=�=�)�*�
�
��F�A�	�	
�����:�&���������#�#�� �=�=�*��

�	
�	
������N�N�D�M�M�4�=�=�$�-�-�

Q�	
����	�A��L�L���� � �'�'��
�
����*�*�,�������������
���
�&
�<�<�Q����a�P��L�L����=�=�!�,�,�"4�"4�"6�������V�
�
�L�L�����
�
�'�
�3	�>	
�����4� rc
�>�|jjd�|jj|jjd|j�d|j�d|j
�d�d��|jjd�|jj|jjd|j�d	|j�d
�d��|jjd�|jjd�|jj|jjd|j�d|j�d
�d��|jjd�|jjd�|jjd|j�d|j
�d��|jjd|j
�d|j�d��|jjd|j
�d|j�d��|jj|jjd|j
�d|j�d�d��|jjd�|jjd|j
z�|jjd|jz�|jD]E}|jjd|j�d|j�d|j�d���G|jjd�|jjd�|jjd �|jj|jjd|j
�d!|j
�d"|j
�d#|j
�d$�	d��|jjd�|jjd%|j
�d&|j�d'|j
�d(��|jjd|j
�d)|j
�d*|j
�d+|j�d,�	�|jjd�|jjd-|j
z�|jj|jjd|j
�d.|j
�d/|j
�d0|j�d,�	d��|jjd�|jjd1|j
�d2|j�d3|j
�d4��|jjd�|jj|jjd|j
�d5|j
�d6|j
�d7|j
�d8�	d��|jjd�|jjd%|j
�d9|j�d:|j
�d(��|jjd|j
�d;|j
�d<|j
�d=|j�d,�	�|jjd�|jjd>|j
z�|jj|jjd|j
�d?|j
�d@|j
�dA|j�d,�	d��|jjd�|jjd1|j
�dB|j�dC|j
�d4��|jjd�y)DNz�/* ------------------------------------------------------------------------
 * Code for ObjectManager client
 * ------------------------------------------------------------------------
 */

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

r&zobject_manager_client_init (z1ObjectManagerClient *manager G_GNUC_UNUSED)
{
}

z"object_manager_client_class_init (z4ObjectManagerClientClass *klass G_GNUC_UNUSED)
{
}

aobject_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 #r�z�GType
%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", (gpointer) (guintptr) (rDz
_PROXY));
z5      g_once_init_leave (&once_init_value, 1);
    }
z�  ret = (GType) (guintptr) (g_hash_table_lookup (lookup_hash, interface_name));
  if (ret == (GType) 0)
    ret = G_TYPE_DBUS_PROXY;
z  return ret;
}

aobject_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 aLobject_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.
rLaOobject_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 (z�TYPE_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 z�object_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 zGDBusObjectManager *
a6object_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 (z�TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", z�object_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.
aUobject_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 (z�TYPE_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;
}

aGobject_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 z�object_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 (z�TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", )
r2r:r�rrrrr)rwrxr�s  r�generate_object_manager_clientz,CodeGenerator.generate_object_manager_client�s�������
�	
�	
��������#�#� �>�>�4�>�>�4�=�=�
J��	
�	
�	
�����4� ���������#�#�
�>�>�4�>�>�	3�
�

�		
�	
�����7�#������4� ���������#�#��>�>�4�>�>�3��
�
	
�	
�����7�#������4� �	
������N�N�D�M�M�
3�	
�	
�����
�M�M�4�>�>�	
3�	
�	
�����
�M�M�4�>�>�	
3�	
�	
��������#�#��=�=�$�.�.�
2��

�	
� 	
�����7�#������
��]�]�
$�	
�
	
�����
P��}�}�	
�	
����	�A��L�L����6�6�1�:�:�q�|�|�5�
�	�
	
�����W�X������
-�	
�
	
�����7�8�	
��������#�#�"�=�=�$�-�-�����
�
�!O�"�%
�	
�,	
�����7�#�������M�M�4�=�=�$�-�-�
A�	
�	
������}�}�d�m�m�T�]�]�D�N�N�
L�
	
�	
�����7�#������
��M�M�
#�	
�$	
��������#�#�"�=�=�$�-�-�������!P�"�%
�	
�,	
�����7�#������"�M�M�4�=�=�$�-�-�!
A�	
�&	
�����4� ���������#�#�"�=�=�$�-�-�����
�
�!O�"�%
�	
�,	
�����7�#�������M�M�4�=�=�$�-�-�
A�	
�	
������}�}�d�m�m�T�]�]�D�N�N�
L�
	
�	
�����7�#������
��M�M�
#�	
�$	
��������#�#�"�=�=�$�-�-�������!P�"�%
�	
�,	
�����7�#������"�M�M�4�=�=�$�-�-�!
A�	
�&	
�����4� rc
�@�t|j�dkDr#|jd|d|d|jfz�|jr�t	|t
j�rd}nqt	|t
j�rd}nTt	|t
j�rd}n7t	|t
j�rd}ntdj|��|j|jjd	|d|dfzd
��|jd|dfz�y)Nrz%*s *
%*s * Since: %s
r
zThe D-Bus interfacezThe D-Bus methodzThe D-Bus signalzThe D-Bus propertyzCannot handle object "{}"z0%*s *
%*s * Deprecated: %s has been deprecated.
Fz%*s */
)rr|r:r�rsr�	Interfacerurt�Propertyrr<r�r)r3�obj�f�indent�things     rrz9CodeGenerator.write_gtkdoc_deprecated_and_since_and_closes����s�y�y�>�A��
�G�G�1�V�R���S�Y�Y�4W�W�X��>�>��#�y�2�2�3�-���C��!1�!1�2�*���C��!1�!1�2�*���C��!3�!3�4�,���7�>�>�s�C�D�
�G�G�� � �'�'�B��r�6�2�u�5�6��	�
�	
���
�f�b�\�)�*rc
�^�|jjd|jz�|jj|jj	d|j
�d|j
�d|j�d|j�d�	d��|jjd�y)	Nz�/* ------------------------------------------------------------------------
 * Code for interface %s
 * ------------------------------------------------------------------------
 */

r�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.
 */
Fr8)r2r:rwr�rrzr�s  r�generate_interface_introz&CodeGenerator.generate_interface_intro4s��������
��F�F�	
�	
�	
��������#�#��<�<����q�v�v�q�v�v�
G��	
�	
�	
�����4� rc�|�|j�|jD]}|j|��|jD]�}|j|�|j	|�|j|�|j
|�|j|�|j|�|j|�|j|�|j|�|j|�|j|�|j|���|jr!|j!�|j#�yyr()r�r)r~r�rr r�r�rErNrQr�r�r�r�r*r�r�r�s  rr�zCodeGenerator.generateKs���#�#�%����	1�A��-�-�a�0�	1����	&�A��)�)�!�,��4�4�Q�7��5�5�a�8��,�,�Q�/��,�,�Q�/��#�#�A�&��,�,�Q�/��)�)�!�,��&�&�q�)��+�+�A�.�����"��"�"�1�%�	&��#�#�� � �"��/�/�1�$rr()FFF)r�r�r�r4r�r�rrr rErNrQrXr^rTrUrpryr~r�r�r�r�r�r�r�r�r�rr�r�rrrr�r��s���!�2g
�R(�T$7�L
� B!�LG'�V
O%�f%+�R'�
'� BG�
�;=�d�:�x,.�4��X�
2�E�4�4�@P�H:+�|_
!�FC
�Nf!�PU!�r
+�4!�.2rr�N)r
rrrrr;rr$r&r�r�r�rrr�<module>r�sW��0����	��$�"	�m)�m)�fH)�H)�\V�V�x
z>2�z>2r