MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/share/glib-2.0/codegen/__pycache__/codegen.cpython-312.pyc
�

��fG�cs��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.
 */
csj�|}t|�dkDr�tj|�r9|jdd�}|j	�dz}|j�dz}nQtj|�j	�dz}tj|�j�dz}nd}d}|||fS)N��_�)�lenrZis_ugly_caseZreplace�upper�lower�camel_case_to_uscore)�	namespaceZns�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�������(�#�#�csl��|dk(ryd�djt�fd�|j���S)NZ-ZSTDOUTZ$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZrcs��|�vr|SdS)Nr�)Zc�safe_valid_charss �rZ<lambda>z'generate_header_guard.<locals>.<lambda>Cs���1� 0�0�a�9�c�9r)�joinZmapr	)�header_namers @r�generate_header_guardr;s;����c���>��
�7�7��9�;�;L�;L�;N�O��rcs*�eZdZd�Zd�Zd�Zd�Zd�Zy)�HeaderCodeGeneratorcs��||_t|�\|_|_|_||_||_t|�|_||_	||_
||_|	|_|
|_
||_y�N)�ifacesrrr
r�generate_objmanager�generate_autocleanupr�header_guard�input_files_basenames�
use_pragma�glib_min_required�symbol_decorator�symbol_decorator_header�outfile)�selfrrrrrrrrr r!r"s            r�__init__zHeaderCodeGenerator.__init__Hsm�����7I�)�7T�4����
�t�}�#6�� �$8��!�1�+�>���%:��"�$���!2��� 0���'>��$���rcs��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
�rrr"�write�LICENSE_STR�formatr�VERSIONrrr!�r#Z	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
ss�|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)�Nr'�O/* ------------------------------------------------------------------------ */
z/* Declarations for %s */
z#define �TYPE_� (z_get_type ())
z&(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), r&z))
�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��i@�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;
)ZobjectsrCz8G_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);
)"rr"r)�namer
�
name_upper�
name_lower�
camel_namer�methods�since�unix_fd�in_args�ctype_in�signals�args�
properties�arg�sorted�keysr�version_cmp_keyrr �
deprecated�out_argsr�	ctype_out�	free_func�ctype_in_duprrrr
)	r#�iZfunction_pointers�mr@�value�a�s�ps	         r�
declare_typesz!HeaderCodeGenerator.declare_types{s�)�����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�(����A��7�7�L�1�<�<�$?�@�C�9�Q�\�\�J�E��0�A�L�L�A�A�E��D�D�E��y�y��!>�>���Y�Y���a�j�j�!�&�&�!I�I��'��X�%�E�-2�%�c�*�#��1�9�9�~��!����"�"�4�(����A��7�7�L�1�<�<�$?�@�C�.�!�,�,�?�E��-����>�>�E��V�V���a�j�j�!�&�&�!I�I��$��X�%�E�-2�%�c�*�#��1�<�<� �1�$����"�"�4�(����A��7�7�N�Q�\�\�$A�B�C�������������E�
.3�%�c�*�&�$�/�4�4�6�E�<Q�<Q�R�����"�"�4�*;�C�*@�#@�A�S�
�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�����*�*�A�J�J����+O�P�(��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�����*�*��
�
�A�F�F�+S�T�$��L�L�&�&�v�.��L�L�&�&�t�,�#����"�"�4�(��1�9�9�~��!����"�"�4�(����"�"�#@�A����A��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&�+,�<�<����q�|�|�U���Y�Y�����*�*��
�
�A�F�F�+S�T�'��-�-��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�����*�*����Q�V�V�+T�U�(��y�y����*�*�+M�N��L�L�&�&�Q���L�L�&�&�t�,��,�,�8����*�*�6�D�4I�4I�+I�J��|�|����*�*�+?�@��L�L�&�&�+,�<�<����q�|�|�U���Y�Y�����*�*��
�
�A�F�F�+S�T�'��-�-��8����*�*�7���y�y����*�*�+I�J��Z�Z�����*�*����Q�V�V�+T�U�(��y�y����*�*�+M�N��L�L�&�&�1��
�L�L�&�&�t�,�M#�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�$�a�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$rcs(�|jjd�|jjd�|jsP|jjd�|jjdj|j��yy�Nr'zG_END_DECLS
z#endif /* __{!s}__ */
�r"r)rr+r�r#s r�generate_header_postamblez-HeaderCodeGenerator.generate_header_postamble��h�������4� ������?�+�����L�L���t�$��L�L���8�?�?��@Q�@Q�R�S�rcsd�|j�|j�|j�yr)r.r}r�r�s r�generatezHeaderCodeGenerator.generate��&���%�%�'������&�&�(rN)�__name__�
__module__�__qualname__r$r.r}r�r�rrrrrGs���8!�.h
%�XT�)rrcs*�eZdZd�Zd�Zd�Zd�Zd�Zy)� InterfaceInfoHeaderCodeGeneratorc
s��||_t|�\|_|_|_t|�|_||_||_||_	||_
|j�d|_
||_|	|_y)Nr)
rrrr
rrrrrrr r!r")
r#rrrrrrr r!r"s
          rr$z)InterfaceInfoHeaderCodeGenerator.__init__�sq�����7I�)�7T�4����
�t�}�1�+�>���%:��"�$���!2��� 0���� � �(�$&�D�!�'>��$���rcs��dj|j�}|jjtjtj|��|jjd�|jr|jjd�nh|jjdj|j��|jjdj|j��|j�C|jjd�|jjd|jz�|jjd�|jjd�|jjd�|jjd�|jjd�yr%r(r-s  rr.z9InterfaceInfoHeaderCodeGenerator.generate_header_preambler/rcs��|jD]8}|jjd|j�d|j�d���:y)Nzextern z const GDBusInterfaceInfo z_interface;
)rr"r)r rd�r#rws  r�
declare_infosz.InterfaceInfoHeaderCodeGenerator.declare_infos,s6�����A��L�L����(�(�!�,�,�8�
�rcs(�|jjd�|jjd�|jsP|jjd�|jjdj|j��yyr~rr�s rr�z:InterfaceInfoHeaderCodeGenerator.generate_header_postamble5r�rcsd�|j�|j�|j�yr)r.r�r�r�s rr�z)InterfaceInfoHeaderCodeGenerator.generate?r�rN)r�r�r�r$r.r�r�r�rrrr�r��s���4!�.�T�)rr�cs6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�InterfaceInfoBodyCodeGeneratorcs��||_t|�\|_|_|_||_||_||_||_||_	yr)
rrrr
rrrr�symbol_decoration_definer")r#rrrrrr�r"s        rr$z'InterfaceInfoBodyCodeGenerator.__init__IsI�����7I�)�7T�4����
�t�}�&���%:��"�!2���(@��%���rcs\�dj|j�}|jjtjtj|��|j�C|jjd�|jjd|jz�|jjd�|jjd�|jr(|jjd|jz�|jjd�y)Nr&r'�#define %s
�3#ifdef HAVE_CONFIG_H
#  include "config.h"
#endif

�#include "%s"

z#include <string.h>

�
rrr"r)r*r+rr,r�rr-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�5rcsp�|jjd|�d|�d��|jjd�|D]#\}}|jjd|z��%|jjd�|jjd�|jjd�y)	Nzconst z	 * const z[] =
r7z  &%s,
z  NULL,
rBr'�r"r))r#�array_name_lowerZelement_typeZelementsrrbs      r�generate_arrayz-InterfaceInfoBodyCodeGenerator.generate_arrayqs��������+7�9I�J�	
�	
�����5�!��G�A�t��L�L���z�D�0�1� ������;�'������6�"������4� rcs��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�__Z_annotationszconst GDBusAnnotationInfo z_annotation =
r7�  -1,  /* ref count */
�  (gchar *) "%s",
�  (GDBusAnnotationInfo **) z_annotations,
�  NULL,  /* no annotations */
rBr'Z_annotationZGDBusAnnotationInfo)rr@�
startswith�define_annotationsZ	key_lower�annotationsr"r)ryrg�appendr�)r#r�r�Zannotation_pointersrzr@s      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�	
rcs��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�Z_arg_annotationszconst GDBusArgInfo z_arg =
r7r�r�r�z_arg_annotations,
r�rBr'Z_argZGDBusArgInfo)
rr�rbr�r"r)�	signaturergr�r�)r#r�rlZarg_pointersrzr@s      r�define_argsz*InterfaceInfoBodyCodeGenerator.define_args�sc���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	s��|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)9Nr0z/* Definitions for %s */
r'rZ_interface__Z_method_in_argsZ_method_out_argsZ_method_annotationszconst GDBusMethodInfo z
_method =
r7r�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�rBZ_methodz%s_interface_methodsZGDBusMethodInfoZ_signal_argsZ_signal_annotationszconst GDBusSignalInfo z
_signal =
z_signal_args,
z  NULL,  /* no args */
z_signal_annotations,
Z_signalz%s_interface_signalsZGDBusSignalInfo�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_NONEZ_property_annotationszconst GDBusPropertyInfo z_property =
z  %s,
z_property_annotations,
Z	_propertyz%s_interface_propertiesZGDBusPropertyInfoz%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,
)rr"r)rbrrfr�rdrirsr�r�rgr�r�rkrlrm�readable�writabler�)
r#rwZmethod_pointersrxr@Zsignal_pointersr{Zproperty_pointersr|�flagss
          r�define_infosz+InterfaceInfoBodyCodeGenerator.define_infos�s,�����A��L�L���b�
�
�L�L���;�a�f�f�D�E��L�L���t�$��1�9�9�~��!�"$�����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�/�i#�l�#�#�*�Q�\�\�9�%�#���1�9�9�~��!�"$�����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#�R�#�#�*�Q�\�\�9�%�#���1�<�<� �1�$�$&�!����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&�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�$�ercsD�|j�|j�yr)r�r�r�s rr�z'InterfaceInfoBodyCodeGenerator.generate�s���#�#�%����rN)
r�r�r�r$r�r�r�r�r�r�rrrr�r�Hs*���(6�(	!�&
�PL�BS%�nrr�cs��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
s��||_t|�\|_|_|_||_||_||_||_||_	||_
|	|_t�|_
yr)rrrr
rrrr�docbook_genrr�r"Zset�marshallers)
r#rrrrrr�rr�r"s
          rr$zCodeGenerator.__init__�sc�����7I�)�7T�4����
�t�}�#6�� �&���%:��"�&���!2���(@��%�����5��rcs��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)Nr&r'r�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	
rcs��|�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
};

)r@r�r"r)ryrr�)r#�prefixr��nrzrxs      r�generate_annotationsz"CodeGenerator.generate_annotations�sP�����
���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s��|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)NZ_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�rbr�r"r)r�r�lookup_annotationr)r#r�rlrz�num_annos     r�
generate_argszCodeGenerator.generate_args�sd���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�
������"�"�&�!�&�&�#Q�R���L�L���5�6�
rcs|�|jsy|jjd�|jD]+}|jjd|j�d���-|jjd�|jjd|j�dt|j��d��y)Nzenum
{
r>�,
r�zstatic unsigned �[z] = { 0 };

)rkr"r)�
upper_id_name�signals_enum_namer�r#rwr{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�
�	
rcs��|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 ---- */

rrZ
_method_info_Z_IN_ARGZ_OUT_ARGZ_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",
  ZTRUEZFALSEr'r�zDstatic const GDBusMethodInfo * const _%s_method_info_pointers[] =
{
z  &_r�r�Z
_signal_info_Z_ARGZ_signal_z'static const _ExtendedGDBusSignalInfo _z_ARG_pointers,
z  },
  "%s"
zDstatic const GDBusSignalInfo * const _%s_signal_info_pointers[] =
{
r�r�r�r�Z
_property_z)static const _ExtendedGDBusPropertyInfo _Z_property_info_r�z",
    r�z
  },
  "%s",
r�z	  FALSE,
z  TRUE,
r�r�zHstatic const GDBusPropertyInfo * const _%s_property_info_pointers[] =
{
z_%s_annotation_infoz*static const _ExtendedGDBusInterfaceInfo _z/_interface_info =
{
  {
    -1,
    (gchar *) "z4    (GDBusMethodInfo **) &_%s_method_info_pointers,
z4    (GDBusSignalInfo **) &_%s_signal_info_pointers,
z8    (GDBusPropertyInfo **) &_%s_property_info_pointers,
z;    (GDBusAnnotationInfo **) &_%s_annotation_info_pointers
z  },
  "%s",
};

�/**
 * zC_interface_info:
 *
 * Gets a machine-readable description of the #zV D-Bus interface.
 *
 * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
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;
}

)r"r)rbrrfr�rdrirsr�r��name_hyphenrhrkrlrmr�r�rnr�rr�Zemits_changed_signalr��expand�+write_gtkdoc_deprecated_and_since_and_closere)r#rwrxr�r{r|Zaccesss       r�$generate_introspection_for_interfacez2CodeGenerator.generate_introspection_for_interfaces)	�������>�!�&�&�I�	
��q�y�y�>�A���Y�Y���"�"�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��
���"�"�;�/�a�d
�L�L�������'�
��Y�Y�����"�"��|�|�Q�\�\�3���

�L�L���5�6��q�y�y�>�A���Y�Y���"�"�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����"�"�;�/�?�B
�L�L�������'�
��Y�Y�����"�"��|�|�Q�\�\�3���

�L�L���5�6��q�|�|��q� ��\�\���:�:�!�*�*�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"�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� rcs��|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)wNr'r�z9:
 *
 * Abstract interface type for the D-Bus interface #�.
Frz8/**
 * %sIface:
 * @parent_iface: The parent interface.
r8z@handle_%s: zHandler for the #z	::handle-z signal.r<z@%s: �::r=z	@get_%s: zGetter for the #�:z
 property.r?z * %s
z1 *
 * Virtual table for the D-Bus interface #%s.
�typedef r6zInterface;
zG_DEFINE_INTERFACE (r&z, G_TYPE_OBJECT)
�static void
z_default_init (�Iface *iface� G_GNUC_UNUSED)
�)
r7z9  /* 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 rFao() 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.
rNrz�  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,
      Z_method_marshal_z?,
    G_TYPE_BOOLEAN,
    %d,
    G_TYPE_DBUS_METHOD_INVOCATIONz, G_TYPE_UNIX_FD_LISTz, %srHz4  /* 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.
r>r�z�] =
    g_signal_new ("%s",
      G_TYPE_FROM_INTERFACE (iface),
      G_SIGNAL_RUN_LAST,
      G_STRUCT_OFFSET (%sIface, %s),
      NULL,
      NULL,
      Z_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"), NULLZbzg_param_spec_boolean ("z", FALSEZyzg_param_spec_uchar ("z", 0, 255, 0r�zg_param_spec_int ("z", G_MININT16, G_MAXINT16, 0Zqzg_param_spec_uint ("z", 0, G_MAXUINT16, 0rwz", G_MININT32, G_MAXINT32, 0Zuz", 0, G_MAXUINT32, 0Zxzg_param_spec_int64 ("z", G_MININT64, G_MAXINT64, 0�tzg_param_spec_uint64 ("z", 0, G_MAXUINT64, 0Zdzg_param_spec_double ("z!", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0r{zg_param_spec_string ("z", NULLZoZgZayZaszg_param_spec_boxed ("z", G_TYPE_STRVZaoZaayz%Unsupported gtype "{}" for GParamSpec�*G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS�G_PARAM_DEPRECATED | z    z));�}

)r"r)r�r�rerbr�rrfrgrdr�rkrmrorprrqrhri�gtyperlr�r�r�r�rr+rnr�rr)r#rwZdoc_bitsrxr@ryr{r|rzZ
extra_args�hintr�s            r�generate_interfacez CodeGenerator.generate_interface
s�������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�F�	
��������#�#�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�������A��L�L�&�&�'B�a�f�f�'M�N� ����"�"��$�$�+�+�
�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��\�\���:�:�!�*�*�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�(�I"�L	
�����:�&rcs��|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�r�rU�: (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 rVz�() 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.
rr'r2� *object)
{
z  g_return_val_if_fail (r3z (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.rWz/.
 * @value: The value to set.
 *
 * Sets the #z! D-Bus property to @value.
 *
 * �void
rXz	value)
{
z7  g_object_set (G_OBJECT (object), "%s", value, NULL);
)rmr�r�rr+rbr"r)r�r�rdrernrur�rjr
rc�ctype_in_default_valuervr�)r#rwr|r�s    r�generate_property_accessorsz)CodeGenerator.generate_property_accessorsX	s0�����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�$�]rcs��|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)Nr�rI�:
 * @object: A #r�Fz. * @arg_%s: Argument to pass with the signal.
z *
 * Emits the #r�z D-Bus signal.
rr�rGrJr:r;z)
{
  g_signal_emit (object, r�z], 0z, arg_%srHr�)
rkr"r)r�r�rdrerlrbr�rjr�r�)r#rwr{rzs    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�����"�"��
�
�A�F�F�#K�L���L�L���,��&�&�'�q����(9��?�
��V�V�����"�"�:����#6�7���L�L���v�&��L�L���z�*�IrNcs��|j||du��|jjd�|j|||�|jjd�y)N)�uses_retr7r�)�generate_marshaller_declarationr"r)�generate_marshaller_body)r#�	func_nameri�ret_args    r�generate_marshallerz!CodeGenerator.generate_marshaller
sQ���,�,�Y��PT�AT�,�U������5�!��%�%�i��'�B������:�&rcs��|j|ddd��|jjd�|jjd|�d��|jjd�y)NT)r��	uses_hint�inliner7r>z[ (closure,
    return_value, n_param_values, param_values, invocation_hint, marshal_data);
r�)r�r"r))r#Zwrapper_nameZwrapped_funcs   r�generate_marshaller_wrapperz)CodeGenerator.generate_marshaller_wrapper
sl���,�,�����		-�	
�	
�����5�!���������0�
0�	
�
	
�����:�&rc
sj�|jj|rdnd�d|�d|sdnd�d|sdnd�d��y)Nzinline rr�z< (
    GClosure     *closure,
    GValue       *return_valuer�ze,
    unsigned int  n_param_values,
    const GValue *param_values,
    void         *invocation_hintz",
    void         *marshal_data)
r�)r#r�r�r�r�s     rr�z-CodeGenerator.generate_marshaller_declaration)
sY��	
�����"�y��+�=��k�-�EM�-=�SU�,V�W0�IR�0@�WY�/Z�[0�

0�		
rcsV�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)NZFuncz
  typedef rEz(*z)
       (void *data1,
rz        r;r�z        void *data2);
  zJ callback;
  GCClosure *cc = (GCClosure*) closure;
  void *data1, *data2;
r>z5v_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);
)rZuscore_to_camel_caser"r)rjrrbrZrange�
gvalue_getZ
gvalue_set)r#r�rir�Zmarshal_func_typerzr�rws        rr�z&CodeGenerator.generate_marshaller_body7
s��$�9�9�)�D�E�T�J��������W��)�)�'�B�"�EV�DW�X%�
%��g�g�w�O�w�!��!�*�*��T�!�&�&���=�w�O�P�
Q��"�#�$'�(�
(�	
���L�L����W�%�%�&�'=�=�
�	
�����
5�58��\�A�5E�4F�
G�/�/�0�
�	
�(����L�L���/�0��F�������h�*�+��g�g�#�3�w�<�0��0���h�l�7�1�:�+@�+@�*A�AR�ST�UV�SV�RW�W[�\�0���
���-�.�
/�		
���L�L����'�,�,�-�-I�J�
���eP��Ts�$F!�?"F&cs��d}||r|jj�nd�d�z
}|r|djd�|D��z
}|S|dz
}|S)NZ_g_dbus_codegen_marshal_ZVOIDr�rc3sRK�|]}|jj�����!y�wr)�gvalue_typer	)Z.0rzs  rZ	<genexpr>z8CodeGenerator.generic_marshaller_name.<locals>.<genexpr>w
s$����F��A��
�
� 3� 3� 5�6�7��s�%')r�r	r)r#rlZretrbs    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��rcsl�t|tjtjf�sJ�|jsW|j
syt
|j
�dk(r2|j
djr|j
djS|j|j
|j�S)NZg_cclosure_marshal_VOID__VOIDrr)	�
isinstancer�Signal�Method�marshaller_ret_arg�marshaller_in_argsrZgclosure_marshallerr�)r#r�s  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�Wrcs^�|j|jzD]�}|j|�}|jd�r|jj|��A||jvr�P|j
||j|j�|jj|���y)NZg_cclosure_)	rkrfr�r�r�Zaddr�r�r�)r#rwr��marshaller_names    r�generate_generic_marshallersz*CodeGenerator.generate_generic_marshallers�
s������Q�Y�Y�&�A�"�C�C�A�F�O��)�)�-�8�� � �$�$�_�5���$�"2�"2�2���$�$���!5�!5�q�7K�7K�
�
��� � ��1�'rcsl�t|tjtjf�sJ�t	j
|jjj��}|j�d|�d|j��}|j|�}||jvsJ�|j||�y)NrZ	_marshal_)
r�rr�r�rrZ	__class__r�r
rdr�r�r�)r#rwr�Zkind_uscorer�r�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�DrcsJ�|jD]}|j||��yr)rkr�r�s   r�generate_signal_marshallersz)CodeGenerator.generate_signal_marshallers�
� �����A��-�-�a��3�rcsJ�|jD]}|j||��yr)rfr�)r#rwrxs   r�generate_method_marshallersz)CodeGenerator.generate_method_marshallers�
r�rcsX�|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)FNr�rKz:
 * @proxy: A #�Proxy.
z9 * @arg_%s: Argument to pass with the method invocation.
rMa6 * @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.
Frr�rGrLr:r;rOr9z],
    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 ("(rA�)"�,
                   arg_%sr�z"    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)r4rz;: 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
rPrQrRzA,
    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.
rSrTzI,
    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;
)rfr"r)rdrerirbrrhr�r�r�rj�	format_inrsZarray_annotationrtZ
format_out�r#rwrxrzs    r�generate_method_callsz#CodeGenerator.generate_method_calls�
s�	�����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�����"�"��
�
�A�F�F�#K�L���%�%��0����"�"�Q���y�y����"�"�#@�A��L�L����
��y�y����"�"�T�����"�"�#Q�R��L�L���D����O�P��Y�Y�����"�"�4�1�;�;�#7�8���L�L���t�$��Y�Y�����"�"�#A�Q�V�V�#L�M���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�����"�"����Q�V�V�#L�M� ��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�����"�"�#?�1�6�6�#J�K� ��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�����"�"��
�
�A�F�F�#K�L���%�%��0����"�"�Q���y�y����"�"�#A�B��Z�Z�����"�"����Q�V�V�#L�M� ��y�y����"�"�#E�F��L�L���&�
��y�y����"�"�`�����"�"�N��
�L�L���D����O�P��Y�Y�����"�"�4�1�;�;�#7�8���L�L���t�$��Y�Y�����"�"�#A�Q�V�V�#L�M���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�����"�"�#?�1�6�6�#J�K� ��L�L���C�D��L�L���N�O�rc
s:�|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)Nr�rFr�z=.
 * @invocation: (transfer full): A #GDBusMethodInvocation.
rz * @%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.
Frr�rGz= *object G_GNUC_UNUSED,
    GDBusMethodInvocation *invocationr9r:z)
{
z\  g_dbus_method_invocation_return_value_with_unix_fd_list (invocation,
    g_variant_new ("(zJ  g_dbus_method_invocation_return_value (invocation,
    g_variant_new ("(rArz,
                   %sz),
    fd_list);
�));
r�)
rfr"r)rdrerhrsrbr�r�r�rjrrs    r�generate_method_completersz(CodeGenerator.generate_method_completers�sA�����A��L�L���
�<�<����q�|�|�	=�
��y�y����"�"�I���Z�Z�����"�"�#C�q�v�v�#N�O� ��L�L���� � �'�'�
�v�v�q�v�v�	'�
�
�	
�
�<�<�Q����a�P��L�L���
�<�<����q�|�|�	=�
��y�y����"�"�#@�A��Z�Z�����"�"�A�J�J����#G�H� ��L�L���{�+��y�y����"�"�,��
���"�"�,���Z�Z�����"�"�4�1�;�;�#7�8� ��L�L���t�$��Z�Z�����"�"�#=����#H�I� ��y�y����"�"�#8�9����"�"�7�+��L�L���z�*�srcs"&�|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/* ------------------------------------------------------------------------ */

r�zProxy:
 *
 * The #z_Proxy structure contains only private data and should only be accessed using the provided API.
Frr'zKProxyClass:
 * @parent_class: The parent class.
 *
 * Class structure for #rz-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 (r1r&z_proxy_iface_init))

�#else
rDz2static void
%s_proxy_finalize (GObject *object)
{
r>zProxy *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, rHz/  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 Z_proxy_get_r2r�z(_PROXY (object);
  GVariant *variant;
  zvalue = r5Zg_variant_get_strvZg_variant_get_objvZg_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)
    {
rZg_variant_get_stringz, NULLz      value = z	 (variantzV      g_datalist_set_data_full (&proxy->priv->qdata, "%s", (gpointer) value, g_free);
z!      g_variant_unref (variant);
z    }
r�r�r�z
_proxy_init (zRProxy *proxy)
{
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
  proxy->priv = z__proxy_get_instance_private (proxy);
#else
  proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, rYzPProxyPrivate);
#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�r7�
  iface->get_� = a�_proxy_new:
 * @connection: A #GDBusConnection.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
 * @user_data: User data to pass to @callback.
 *
 * Asynchronously creates a proxy for the D-Bus interface #z�. See g_dbus_proxy_new() for more details.
 *
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call zB_proxy_new_finish() to get the result of the operation.
 *
 * See zM_proxy_new_sync() for the synchronous, blocking version of this constructor.
r�a$_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data)
{
  g_async_initable_new_async (z�_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "z
", NULL);
}

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

a�_proxy_new_sync:
 * @connection: A #GDBusConnection.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: (nullable): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL
 *
 * Synchronously creates a proxy for the D-Bus interface #zy. See g_dbus_proxy_new_sync() for more details.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See zd_proxy_new() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type a_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error)
{
  GInitable *ret;
  ret = g_initable_new (z�_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "z(", NULL);
  if (ret != NULL)
    return ar_proxy_new_for_bus:
 * @bus_type: A #GBusType.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: A bus name (well-known or unique).
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
 * @user_data: User data to pass to @callback.
 *
 * Like a_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
 *
 * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from (see g_main_context_push_thread_default()).
 * You can then call zJ_proxy_new_for_bus_finish() to get the result of the operation.
 *
 * See zU_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
a*_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data)
{
  g_async_initable_new_async (z�_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "zg_proxy_new_for_bus_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to zm_proxy_new_for_bus().
 * @error: Return location for error or %NULL
 *
 * Finishes an operation started with z;_proxy_new_for_bus().
 *
 * Returns: (transfer full) (type aT_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error)
{
  GObject *ret;
  GObject *source_object;
  source_object = g_async_result_get_source_object (res);
  ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
  g_object_unref (source_object);
  if (ret != NULL)
    return a*_proxy_new_for_bus_sync:
 * @bus_type: A #GBusType.
 * @flags: Flags from the #GDBusProxyFlags enumeration.
 * @name: A bus name (well-known or unique).
 * @object_path: An object path.
 * @cancellable: (nullable): A #GCancellable or %NULL.
 * @error: Return location for error or %NULL
 *
 * Like z�_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See zl_proxy_new_for_bus() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type a_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error)
{
  GInitable *ret;
  ret = g_initable_new (z�_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", ")r"r)r�r�rer�rdr
rcrrmrbrnrjr�Zgvariant_getr�)r#rwr|Zfree_containerZ	extra_lens     r�generate_proxyzCodeGenerator.generate_proxy�s%�������
�	
�
	
��������#�#�
�<�<����	/�
�

�		
�	
�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���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�$�Q�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� rcs"+�|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
r�zSkeleton:
 *
 * The #zbSkeleton structure contains only private data and should only be accessed using the provided API.
Frr'zNSkeletonClass:
 * @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], r1a�);
  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);
    }
rrHae  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�r7r>a�_SKELETON (_skeleton);
  gboolean emit_changed = FALSE;

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

  if (emit_changed)
    _z_emit_changed (skeleton);
Z_on_signal_rGrJr:r;z)
{
  z�_SKELETON (object);

  GList      *connections, *l;
  GVariant   *signal_variant;
  connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
z9
  signal_variant = g_variant_ref_sink (g_variant_new ("(rArrrz�  for (l = connections; l != NULL; l = l->next)
    {
      GDBusConnection *connection = l->data;
      g_dbus_connection_emit_signal (connection,
        NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "r�z(",
        signal_variant, NULL);
    }
z$  g_variant_unref (signal_variant);
z2  g_list_free_full (connections, g_object_unref);
rz_skeleton_iface_init (zIface *iface);
rr
z
Skeleton, z+_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
z4                         G_ADD_PRIVATE (%sSkeleton)
rr&z_skeleton_iface_init))

rrDz5static 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, r[zSkeletonPrivate);
#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);
rrZ_skeleton_get_r2r�z�  %svalue;
  g_mutex_lock (&skeleton->priv->lock);
  value = %s (&(skeleton->priv->properties[%d]));
  g_mutex_unlock (&skeleton->priv->lock);
r�r�z_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 = _r5rrzH_skeleton_new:
 *
 * Creates a skeleton object for the D-Bus interface #z'.
 *
 * Returns: (transfer full) (type z Skeleton): The skeleton object.
rz _skeleton_new (void)
{
  return z (g_object_new (z_SKELETON, NULL));
}

)r"r)r�r�rer�rdr
rcrbrrmrkrlrjrrnr�Z
ctype_in_gr�)r#rwr{rzr�r|s      r�generate_skeletonzCodeGenerator.generate_skeleton�s0�������
�	
�
	
��������#�#�
�<�<����	/�
�

�		
�	
�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�����"�"��
�
�A�F�F�#K�L���L�L����<�<����Q�\�\�
;�
�
�L�L���O�
��V�V�����"�"�4�1�;�;�#7�8���L�L���t�$��V�V�����"�"�#A�Q�V�V�#L�M���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�������������
�
�����
�
����

�	
rcs�"�|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.
 */
Fr'r�zObject:
 *
 * The #z:Object type is a specialized container of interfaces.
 */
zRObjectIface:
 * @parent_iface: The parent interface.
 *
 * Virtual table for the #zObject interface.
 */
r�r]zObjectInterface;
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.
rNr�r�zD  g_object_interface_install_property (iface, g_param_spec_object ("r�z", r1r&z));

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

r_r�zObject.
 *
 * 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.
Zobject_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 (r\zWobject_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.
Zobject_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));
}

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

)r"r)r�r�rrrr�rerbr�rrr
rcr
)r#rwr�r�s    r�generate_objectzCodeGenerator.generate_object�s
�������
�	
�	
��������#�#��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
s>�|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
 * ------------------------------------------------------------------------
 */

rzObjectManagerClient
 * @title: z�ObjectManagerClient
 * @short_description: Generated GDBusObjectManagerClient type
 *
 * This section contains a #GDBusObjectManagerClient that uses zGobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc.
 */
Fr'r�z ObjectManagerClient:
 *
 * The #zmObjectManagerClient structure contains only private data and should only be accessed using the provided API.
rzYObjectManagerClientClass:
 * @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 #rz�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) (r1z
_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.
r�aOobject_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", )
r"r)r�r�rrr
rrbrcr�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
s@�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
rzThe D-Bus interfacezThe D-Bus methodzThe D-Bus signalzThe D-Bus propertyzCannot handle object "{}"z0%*s *
%*s * Deprecated: %s has been deprecated.
Fz%*s */
)rrgr)rrr�rZ	Interfacer�r�ZPropertyrr+r�r�)r#ZobjZfZindentZthings     rr�z9CodeGenerator.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
s^�|jjd|jz�|jj|jj	d|j
�d|j
�d|j�d|j�d�	d��|jjd�y)	Nz�/* ------------------------------------------------------------------------
 * Code for interface %s
 * ------------------------------------------------------------------------
 */

rz
 * @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.
 */
Fr')r"r)rbr�r�rer�s  r�generate_interface_introz&CodeGenerator.generate_interface_intro4s��������
��F�F�	
�	
�	
��������#�#��<�<����q�v�v�q�v�v�
G��	
�	
�	
�����4� rcs|�|j�|jD]}|j|��|jD]�}|j|�|j	|�|j|�|j
|�|j|�|j|�|j|�|j|�|j|�|j|�|j|�|j|���|jr!|j!�|j#�yyr)r�rr�rr�r�r�rr�r�r�rr	rrrrrr�s  rr�zCodeGenerator.generateKs���#�#�%����A��-�-�a�0�����A��)�)�!�,��4�4�Q�7��5�5�a�8��,�,�Q�/��,�,�Q�/��#�#�A�&��,�,�Q�/��)�)�!�,��&�&�q�)��+�+�A�.�����"��"�"�1�%���#�#�� � �"��/�/�1�$rr)FFF)r�r�r�r$r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	rrrrr�rr�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)rrrrrr*rrrr�r�r�rrr�<module>rsW��0����	��$�"	�m)�m)�fH)�H)�\V�V�x
z>2�z>2r