Current File : //usr/share/glib-2.0/codegen/codegen.pyo
�
,�yZc@s�ddlZddlmZddlmZddlmZddlmZdZd�Zd	fd
��YZdfd��YZ	dS(
i����Ni(tconfig(tutils(t	dbustypes(tprint_errors�/*
 * Generated by gdbus-codegen {!s}. DO NOT EDIT.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from.
 */
cCs�|}t|�dkr�tj|�r\|jdd�}|j�d}|j�d}q�tj|�j�d}tj|�j�d}nd}d}|||fS(Nit_t(tlenRtis_ugly_casetreplacetuppertlowertcamel_case_to_uscore(t	namespacetnstns_uppertns_lower((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_namespace&stHeaderCodeGeneratorcBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCs�||_t|�\|_|_|_||_||_|j�jdd�jdd�jdd�jdd�|_	||_
||_dS(Nt.Rt-t/t:(tifacesRRRRtgenerate_objmanagertgenerate_autocleanupR	Rtheader_guardt
use_pragmatoutfile(tselfRRRRtheader_nameRR((s&/usr/share/glib-2.0/codegen/codegen.pyt__init__7s			?	cCs�|jjtjtj��|jjd�|jrH|jjd�n8|jjdj|j��|jjdj|j��|jjd�|jjd�|jjd�|jjd�|jjd�dS(Ns
s
#pragma once
s#ifndef __{!s}__
s#define __{!s}__
s#include <gio/gio.h>
sG_BEGIN_DECLS
(RtwritetLICENSE_STRtformatRtVERSIONRR(R((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_header_preambleCs	c
CsCxC|jD]8}|jjd�|jjd�|jjd|j�|jjd�|jjd|j|j|jf�|jjd|j|j|j|j|jf�|jjd|j|j|j|jf�|jjd|j|j|j|j|jf�|jjd�|jjd|j�|jjd	|j|jf�|jjd
|j|jf�|jjd�|jjd|j�|jjd�|jjd
�i}t|j	�dkr�|jjd�x�|j	D]�}t
}tj|j
d�rt}n|jd|jf}d|j}|d|j7}|dd�7}|ro|d7}nx+|jD] }|d|j|jf7}qyW|d7}|||<q�Wnt|j�dkrj|jjd�x�|jD]|}|jd|jf}d|j}|d|j7}x+|jD] }|d|j|jf7}q+W|d7}|||<q�Wnt|j�dkr�|jjd�xS|jD]E}	|	jd|	jf}d|	jj|	j|jf}|||<q�Wnx;t|j�dtj�D]}|jjd||�qW|jjd�|jjd�|jdkr�|jjd �|jjd!|j�|jjd"�|jjd�n|jjd#|j�|jjd�|jjd$|j�|jjd%|j�|jjd�t|j	�dkr0|jjd�|jjd&�x�|j	D]�}t
}tj|j
d�rjt}n|jr�|jjd'�n|jjd(|j|j|jf�|r�|jjd�nx1|jD]&}|jjd)|j|jf�q�W|jjd*�|jjd�q@W|jjd�nt|j�dkr"|jjd�|jjd+�x�|jD]�}|jr�|jjd'�n|jjd,|j|j|jf�x1|jD]&}|jjd|j|jf�q�W|jjd*�|jjd�qoW|jjd�nt|j	�dkr�	|jjd�|jjd-�x�|j	D]�}t
}tj|j
d�r�t}n|jr�|jjd'�n|jjd.|j|j|jf�x1|jD]&}|jjd|j|jf�q�W|r|jjd�n|jjd/�|jjd�|jrV|jjd'�n|jjd0|j|j|jf�x1|jD]&}|jjd1|j|jf�q�W|r�|jjd2�n|jjd3�|jjd�|jr	|jjd'�n|jjd4|j|j|jf�x1|jD]&}|jjd|j|jf�q5	W|rx	|jjd5�nx1|jD]&}|jjd1|j|jf�q�	W|r�	|jjd2�n|jjd6�|jjd�qaW|jjd�nt|j�dkrN|jjd�|jjd7�x|jD]}	|	jr]
|jjd'�n|jjd8|	jj|j|	j|jf�|	jjdkr�
|	jr�
|jjd'�n|jjd9|	jj|j|	j|jf�n|	jr|jjd'�n|jjd:|j|	j|j|	jjf�|jjd�q;
Wn|jjd�|jjd;�|jjd�|jjd<|j|j|jf�|jjd=|j|j|j|j|jf�|jjd>|j|j|j|j|jf�|jjd?|j|j|j|j|jf�|jjd@|j|j|j|jf�|jjdA|j|j|j|jf�|jjd�|jjdB|j|jf�|jjdC|j|jf�|jjdD|j|jf�|jjd�|jjdE|j�|jjd�|jjdF�|jjdG�|jjdH|j�|jjd�|jjd�|jjdI|j�|jjd�|jjdJ�|jjd�|jjd�|jjdK|j�|jjd�|jd�krg|jjd �|jjdM|j�|jjd"�|jjd�n|jr�|jjd'�n|jjdN|j�|jr�|jjd'�n|jjdO|j|jf�|jr�|jjd'�n|jjdP|j|jf�|jjd�|jr>|jjd'�n|jjdQ|j�|jrq|jjd'�n|jjdR|j|jf�|jr�|jjd'�n|jjdS|j|jf�|jjd�|jjd�|jjd;�|jjd�|jjdT|j|j|jf�|jjdU|j|j|j|j|jf�|jjdV|j|j|j|j|jf�|jjdW|j|j|j|j|jf�|jjdX|j|j|j|jf�|jjdY|j|j|j|jf�|jjd�|jjdZ|j|jf�|jjd[|j|jf�|jjd\|j|jf�|jjd�|jjd]|j�|jjd�|jjdF�|jjd^�|jjd_|j�|jjd�|jjd�|jjd`|j�|jjd�|jjda�|jjd�|jjd�|jjdb|j�|jjd�|jd�kr�|jjd �|jjdc|j�|jjd"�|jjd�n|jr|jjd'�n|jjdd|j|jf�|jjd�q
W|j r?|jjd�|jjd;�|jjd�|jjde|j|j!f�|jjdf|j|j|j"f�|jjdg|j|jf�|jjdh|j|j|j"f�|jjd�|jjdi|j"�|jjdj|j"|j"f�|jjdk|j"|j"f�|jjd�|jjdl|j"�|jjdm�|jjdn|j!�x_|jD]T}|jr�|jjd'�n|jjdo|j|j!|jj#�|j"f�q�Wx_|jD]T}|jrN|jjd'�n|jjdp|j|j!|jj#�|j"f�q,W|jjd�|jjdq|j|j!f�|jjdr|j|j|j"f�|jjds|j|j|j"f�|jjdt|j|j|j"f�|jjdu|j|jf�|jjdv|j|jf�|jjd�|jjdw|j"|j"f�|jjdx|j"|j"f�|jjdy|j"|j"f�|jjd�|jjdz|j"�|jjd�|jjdF�|jjd{�|jjd||j"�|jjd�|jjd�|jjd}|j"�|jjd�|jjd~�|jjd�|jjd�|jjd|j!�|jjd�|jd�kr;|jjd �|jjd�|j"�|jjd"�|jjd�n|jjd�|j"|j!f�|jjd�|jjd�|j|j!f�|jjd�|j|j|j"f�|jjd�|j|j|j"f�|jjd�|j|j|j"f�|jjd�|j|jf�|jjd�|j|jf�|jjd�|jjd�|j"|j"f�|jjd�|j"|j"f�|jjd�|j"|j"f�|jjd�|jjd�|j"�|jjd�|jjdF�|jjd��|jjd�|j"�|jjd�|jjd�|jjd�|j"�|jjd�|jjd��|jjd�|jjd�|jjd�|j!�|jjd�|jd�kr|jjd �|jjd�|j"�|jjd"�|jjd�n|jjd�|j"|j!f�x_|jD]T}|jr^|jjd'�n|jjd�|j!|jj#�|j"|jf�q<W|jjd�|jjd;�|jjd�|jjd�|j|j!f�|jjd�|j|j|j"f�|jjd�|j|j|j"f�|jjd�|j|j|j"f�|jjd�|j|jf�|jjd�|j|jf�|jjd�|jjd�|j"|j"f�|jjd�|j"|j"f�|jjd�|j"|j"f�|jjd�|jjd�|j"�|jjd�|jjdF�|jjd��|jjd�|j"�|jjd�|jjd�|jjd�|j"�|jjd�|jjd��|jjd�|jjd�|jd�krD|jjd �|jjd�|j"�|jjd"�|jjd�n|jjd�|j!�|jjd�|jjd�|j!�|jjd�|jjd�|j!�|jjd�|j!�|jjd�|j!�|jjd�|jjd�|j!�|jjd�|j!�|jjd�|j!�|jjd�ndS(�Ns
sO/* ------------------------------------------------------------------------ */
s/* Declarations for %s */
s##define %sTYPE_%s (%s_get_type ())
sB#define %s%s(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_%s, %s))
sA#define %sIS_%s(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_%s))
sT#define %s%s_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), %sTYPE_%s, %sIface))
sstruct _%s;
stypedef struct _%s %s;
s!typedef struct _%sIface %sIface;
sstruct _%sIface
s{
s  GTypeInterface parent_iface;
isorg.gtk.GDBus.C.UnixFDs
_method_%ss  gboolean (*handle_%s) (
s    %s *object,
s%    GDBusMethodInvocation *invocations,
    GUnixFDList *fd_lists,
    %sarg_%ss);

s
_signal_%ss  void (*%s) (
s    %s *objects_prop_get_%ss  %s (*get_%s) (%s *object);

tkeys%ss};
talls!#if GLIB_CHECK_VERSION(2, 44, 0)
s3G_DEFINE_AUTOPTR_CLEANUP_FUNC (%s, g_object_unref)
s#endif
s'GType %s_get_type (void) G_GNUC_CONST;
s.GDBusInterfaceInfo *%s_interface_info (void);
sMguint %s_override_properties (GObjectClass *klass, guint property_id_begin);
s./* D-Bus method call completion functions: */
sG_GNUC_DEPRECATED sKvoid %s_complete_%s (
    %s *object,
    GDBusMethodInvocation *invocations
,
    %s%ss);
s(/* D-Bus signal emissions functions: */
s void %s_emit_%s (
    %s *objects/* D-Bus method calls: */
svoid %s_call_%s (
    %s *proxys\,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);
s*gboolean %s_call_%s_finish (
    %s *proxys,
    %sout_%ss,
    GUnixFDList **out_fd_lists.,
    GAsyncResult *res,
    GError **error);
s(gboolean %s_call_%s_sync (
    %s *proxys,
    GUnixFDList  *fd_lists6,
    GCancellable *cancellable,
    GError **error);
s /* D-Bus property accessors: */
s%s%s_get_%s (%s *object);
s%s%s_dup_%s (%s *object);
s&void %s_set_%s (%s *object, %svalue);
s/* ---- */
s/#define %sTYPE_%s_PROXY (%s_proxy_get_type ())
sS#define %s%s_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_%s_PROXY, %sProxy))
s[#define %s%s_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_%s_PROXY, %sProxyClass))
sa#define %s%s_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_%s_PROXY, %sProxyClass))
sM#define %sIS_%s_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_%s_PROXY))
sP#define %sIS_%s_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_%s_PROXY))
s!typedef struct _%sProxy %sProxy;
s+typedef struct _%sProxyClass %sProxyClass;
s/typedef struct _%sProxyPrivate %sProxyPrivate;
sstruct _%sProxy
s  /*< private >*/
s  GDBusProxy parent_instance;
s  %sProxyPrivate *priv;
sstruct _%sProxyClass
s   GDBusProxyClass parent_class;
s-GType %s_proxy_get_type (void) G_GNUC_CONST;
tobjectss8G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sProxy, g_object_unref)
svoid %s_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
sY%s *%s_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
s�%s *%s_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);
svoid %s_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
sa%s *%s_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
s�%s *%s_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);
s5#define %sTYPE_%s_SKELETON (%s_skeleton_get_type ())
s\#define %s%s_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_%s_SKELETON, %sSkeleton))
sd#define %s%s_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_%s_SKELETON, %sSkeletonClass))
sj#define %s%s_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_%s_SKELETON, %sSkeletonClass))
sS#define %sIS_%s_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_%s_SKELETON))
sV#define %sIS_%s_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_%s_SKELETON))
s'typedef struct _%sSkeleton %sSkeleton;
s1typedef struct _%sSkeletonClass %sSkeletonClass;
s5typedef struct _%sSkeletonPrivate %sSkeletonPrivate;
sstruct _%sSkeleton
s*  GDBusInterfaceSkeleton parent_instance;
s  %sSkeletonPrivate *priv;
sstruct _%sSkeletonClass
s,  GDBusInterfaceSkeletonClass parent_class;
s0GType %s_skeleton_get_type (void) G_GNUC_CONST;
s;G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sSkeleton, g_object_unref)
s%s *%s_skeleton_new (void);
s-#define %sTYPE_OBJECT (%sobject_get_type ())
sP#define %sOBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT, %sObject))
sI#define %sIS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT))
s]#define %sOBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), %sTYPE_OBJECT, %sObject))
sstruct _%sObject;
s#typedef struct _%sObject %sObject;
s-typedef struct _%sObjectIface %sObjectIface;
sstruct _%sObjectIface
s%{
  GTypeInterface parent_iface;
};

s.GType %sobject_get_type (void) G_GNUC_CONST;

s(%s *%sobject_get_%s (%sObject *object);
s)%s *%sobject_peek_%s (%sObject *object);
s9#define %sTYPE_OBJECT_PROXY (%sobject_proxy_get_type ())
sa#define %sOBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT_PROXY, %sObjectProxy))
si#define %sOBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_OBJECT_PROXY, %sObjectProxyClass))
so#define %sOBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_OBJECT_PROXY, %sObjectProxyClass))
sU#define %sIS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT_PROXY))
sX#define %sIS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_OBJECT_PROXY))
s-typedef struct _%sObjectProxy %sObjectProxy;
s7typedef struct _%sObjectProxyClass %sObjectProxyClass;
s;typedef struct _%sObjectProxyPrivate %sObjectProxyPrivate;
sstruct _%sObjectProxy
s$  GDBusObjectProxy parent_instance;
s  %sObjectProxyPrivate *priv;
sstruct _%sObjectProxyClass
s&  GDBusObjectProxyClass parent_class;
s3GType %sobject_proxy_get_type (void) G_GNUC_CONST;
s>G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectProxy, g_object_unref)
s[%sObjectProxy *%sobject_proxy_new (GDBusConnection *connection, const gchar *object_path);
s?#define %sTYPE_OBJECT_SKELETON (%sobject_skeleton_get_type ())
sj#define %sOBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT_SKELETON, %sObjectSkeleton))
sr#define %sOBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_OBJECT_SKELETON, %sObjectSkeletonClass))
sx#define %sOBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_OBJECT_SKELETON, %sObjectSkeletonClass))
s[#define %sIS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT_SKELETON))
s^#define %sIS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_OBJECT_SKELETON))
s3typedef struct _%sObjectSkeleton %sObjectSkeleton;
s=typedef struct _%sObjectSkeletonClass %sObjectSkeletonClass;
sAtypedef struct _%sObjectSkeletonPrivate %sObjectSkeletonPrivate;
sstruct _%sObjectSkeleton
s'  GDBusObjectSkeleton parent_instance;
s!  %sObjectSkeletonPrivate *priv;
sstruct _%sObjectSkeletonClass
s)  GDBusObjectSkeletonClass parent_class;
s6GType %sobject_skeleton_get_type (void) G_GNUC_CONST;
sAG_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectSkeleton, g_object_unref)
sD%sObjectSkeleton *%sobject_skeleton_new (const gchar *object_path);
sJvoid %sobject_skeleton_set_%s (%sObjectSkeleton *object, %s *interface_);
sK#define %sTYPE_OBJECT_MANAGER_CLIENT (%sobject_manager_client_get_type ())
s{#define %sOBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT_MANAGER_CLIENT, %sObjectManagerClient))
s�#define %sOBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_OBJECT_MANAGER_CLIENT, %sObjectManagerClientClass))
s�#define %sOBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_OBJECT_MANAGER_CLIENT, %sObjectManagerClientClass))
sg#define %sIS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT_MANAGER_CLIENT))
sj#define %sIS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_OBJECT_MANAGER_CLIENT))
s=typedef struct _%sObjectManagerClient %sObjectManagerClient;
sGtypedef struct _%sObjectManagerClientClass %sObjectManagerClientClass;
sKtypedef struct _%sObjectManagerClientPrivate %sObjectManagerClientPrivate;
sstruct _%sObjectManagerClient
s,  GDBusObjectManagerClient parent_instance;
s&  %sObjectManagerClientPrivate *priv;
s#struct _%sObjectManagerClientClass
s.  GDBusObjectManagerClientClass parent_class;
sFG_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectManagerClient, g_object_unref)
s<GType %sobject_manager_client_get_type (void) G_GNUC_CONST;
s�GType %sobject_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);
s7void %sobject_manager_client_new (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
sxGDBusObjectManager *%sobject_manager_client_new_finish (
    GAsyncResult        *res,
    GError             **error);
s!GDBusObjectManager *%sobject_manager_client_new_sync (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);
s=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);
s�GDBusObjectManager *%sobject_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
s'GDBusObjectManager *%sobject_manager_client_new_for_bus_sync (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);
((R&sall(R&sall(R&sall(R&sall(R&sall($RRRtnameRt
name_uppert
name_lowert
camel_nameRtmethodstFalseRtlookup_annotationtannotationstTruetsincetin_argstctype_intsignalstargst
propertiestargtsortedtkeystversion_cmp_keyRt
deprecatedtout_argst	ctype_outt	free_functNonetctype_in_dupRRRR
(
Rtitfunction_pointerstmtunix_fdR$tvaluetatstp((s&/usr/share/glib-2.0/codegen/codegen.pyt
declare_typesUs&2,2  	




"		$	$		$	$	$$	/	2	/&222,,   						&222,,   	 	 & &  	*	* &&&       &&&     	* &&&     cCs\|jjd�|jjd�|jsX|jjd�|jjdj|j��ndS(Ns
sG_END_DECLS
s#endif /* __{!s}__ */
(RRRR!R(R((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_header_postambleTs
	cCs"|j�|j�|j�dS(N(R#RHRI(R((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate^s

(t__name__t
__module__RR#RHRIRJ(((s&/usr/share/glib-2.0/codegen/codegen.pyR6s			��	
t
CodeGeneratorcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZRS(cCsO||_t|�\|_|_|_||_||_||_||_dS(N(	RRRRRRRtdocbook_genR(RRRRRRNR((s&/usr/share/glib-2.0/codegen/codegen.pyRfs				cCs�|jjtjtj��|jjd�|jjd|j�|jjd�|jjd�|jjd�|jjd�|jjd�|jjd�|jjd	�|jjd
�|jjd�|jjd�dS(
Ns
sV#ifdef HAVE_CONFIG_H
#  include "config.h"
#endif

#include "%s"

#include <string.h>
s8#ifdef G_OS_UNIX
#  include <gio/gunixfdlist.h>
#endif

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

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

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

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

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

s
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);
}

s�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;
}

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

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

(RRR R!RR"R(R((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_body_preambleqs	cCsK|dkrdSd}x�|D]�}|jjd�r;qn|jjd|||j|jf�t|j�dkr�|jjd�n|jjd||f�|jjd�|d7}qW|dkrG|jjd|�d}xJ|D]B}|jjd�rq�n|jjd	||f�|d7}q�W|jjd
�n|S(Nis
org.gtk.GDBussUstatic const GDBusAnnotationInfo %s_%d =
{
  -1,
  (gchar *) "%s",
  (gchar *) "%s",
s  NULL
s+  (GDBusAnnotationInfo **) &%s_%d_pointers
s};

is;static const GDBusAnnotationInfo * const %s_pointers[] =
{
s
  &%s_%d,
s  NULL
};

(R>R$t
startswithRRRDRR.(RtprefixR.tnRERB((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_annotationss0

cCs[x�|D]�}|jd||jf|j�}|jjd||j|j|jf�|dkrw|jjd�n|jjd||jf�|jjd�tj|jd�s�|jjd�n|jjd	�|jjd
�qWt|�dkrW|jjd|�x+|D]#}|jjd||jf�qW|jjd
�ndS(Ns%s_arg_%s_annotation_infosastatic const _ExtendedGDBusArgInfo %s_%s =
{
  {
    -1,
    (gchar *) "%s",
    (gchar *) "%s",
is	    NULL
sA    (GDBusAnnotationInfo **) &%s_arg_%s_annotation_info_pointers
s  },
sorg.gtk.GDBus.C.ForceGVariants  FALSE
s  TRUE
s};

s4static const GDBusArgInfo * const %s_pointers[] =
{
s  &%s_%s.parent_struct,
s  NULL
};

(	RSR'R.RRt	signatureRR-R(RRQR4REtnum_anno((s&/usr/share/glib-2.0/codegen/codegen.pyt
generate_args9s$
"
!c	CsQ|jjd|j�t|j�dkr[x�|jD]�}t}tj|jd�r`t	}n|j
d|j|jf|j�|j
d|j|jf|j
�|jd|j|jf|j�}|jjd|j|j|jf�t|j�dkr|jjd�n |jjd	|j|jf�t|j
�dkra|jjd�n |jjd
|j|jf�|dkr�|jjd�n |jjd|j|jf�|jjd
|j|r�dndf�|jjd�q6W|jjd|j�x1|jD]&}|jjd|j|jf�qW|jjd�nt|j�dkr�x-|jD]"}|j
d|j|jf|j�|jd|j|jf|j�}|jjd|j|j|jf�t|j�dkr|jjd�n |jjd|j|jf�|dkrU|jjd�n |jjd|j|jf�|jjd|j�|jjd�qzW|jjd|j�x1|jD]&}|jjd|j|jf�q�W|jjd�nt|j�dkr�xw|jD]l}|jr>|jr>d}n*|jrPd}n|jrbd}nd}|jd |j|jf|j�}|jjd!|j|j|j|jj|f�|dkr�|jjd�n |jjd"|j|jf�|jjd#|j�tj|jd$�s=|jjd%�n|jjd&�|jri|jjd'�n|jjd(�|jjd�qW|jjd)|j�x1|jD]&}|jjd*|j|jf�q�W|jjd�n|jd+|j|j�}|jjd,|j|jf�t|j�dkrO|jjd�n|jjd-|j�t|j�dkr�|jjd�n|jjd.|j�t|j�dkr�|jjd�n|jjd/|j�|dkr|jjd�n|jjd0|j�|jjd1|j�|jjd2�|jj|jjd3|j|jft��|j||jd�|jjd4|j|jf�|jj|jjd5|j|jft��|j||jd�|jjd6|j�x(|jD]}|jjd7|j�qW|jjd8�|jjd2�dS(9Ns+/* ---- Introspection data for %s ---- */

isorg.gtk.GDBus.C.UnixFDs_%s_method_info_%s_IN_ARGs_%s_method_info_%s_OUT_ARGs_%s_method_%s_annotation_infos]static const _ExtendedGDBusMethodInfo _%s_method_info_%s =
{
  {
    -1,
    (gchar *) "%s",
s
    NULL,
s;    (GDBusArgInfo **) &_%s_method_info_%s_IN_ARG_pointers,
s<    (GDBusArgInfo **) &_%s_method_info_%s_OUT_ARG_pointers,
s	    NULL
sE    (GDBusAnnotationInfo **) &_%s_method_%s_annotation_info_pointers
s  },
  "handle-%s",
  %s
tTRUEtFALSEs};

sDstatic const GDBusMethodInfo * const _%s_method_info_pointers[] =
{
s%  &_%s_method_info_%s.parent_struct,
s  NULL
};

s_%s_signal_info_%s_ARGs_%s_signal_%s_annotation_infos]static const _ExtendedGDBusSignalInfo _%s_signal_info_%s =
{
  {
    -1,
    (gchar *) "%s",
s8    (GDBusArgInfo **) &_%s_signal_info_%s_ARG_pointers,
sE    (GDBusAnnotationInfo **) &_%s_signal_%s_annotation_info_pointers
s  },
  "%s"
sDstatic const GDBusSignalInfo * const _%s_signal_info_pointers[] =
{
s%  &_%s_signal_info_%s.parent_struct,
sIG_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLEt#G_DBUS_PROPERTY_INFO_FLAGS_READABLEt#G_DBUS_PROPERTY_INFO_FLAGS_WRITABLEtG_DBUS_PROPERTY_INFO_FLAGS_NONEs_%s_property_%s_annotation_infos}static const _ExtendedGDBusPropertyInfo _%s_property_info_%s =
{
  {
    -1,
    (gchar *) "%s",
    (gchar *) "%s",
    %s,
sG    (GDBusAnnotationInfo **) &_%s_property_%s_annotation_info_pointers
s
  },
  "%s",
sorg.gtk.GDBus.C.ForceGVariants	  FALSE,
s  TRUE,
s  TRUE
s  FALSE
sHstatic const GDBusPropertyInfo * const _%s_property_info_pointers[] =
{
s'  &_%s_property_info_%s.parent_struct,
s_%s_annotation_infos`static const _ExtendedGDBusInterfaceInfo _%s_interface_info =
{
  {
    -1,
    (gchar *) "%s",
s4    (GDBusMethodInfo **) &_%s_method_info_pointers,
s4    (GDBusSignalInfo **) &_%s_signal_info_pointers,
s8    (GDBusPropertyInfo **) &_%s_property_info_pointers,
s;    (GDBusAnnotationInfo **) &_%s_annotation_info_pointers
s  },
  "%s",
};

s
s�/**
 * %s_interface_info:
 *
 * Gets a machine-readable description of the #%s D-Bus interface.
 *
 * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
svGDBusInterfaceInfo *
%s_interface_info (void)
{
  return (GDBusInterfaceInfo *) &_%s_interface_info.parent_struct;
}

sg/**
 * %s_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 #%s interface for a concrete class.
 * The properties are overridden in the order they are defined.
 *
 * Returns: The last property id.
sNguint
%s_override_properties (GObjectClass *klass, guint property_id_begin)
{
sG  g_object_class_override_property (klass, property_id_begin++, "%s");
s#  return property_id_begin - 1;
}

(RRR'RR+R,RR-R.R/RVR)R1R;RStname_hyphenR3R4R5treadabletwritableR6RTtemits_changed_signalRNtexpandt+write_gtkdoc_deprecated_and_since_and_closeR*(RR@RBRCRURFRGtaccess((s&/usr/share/glib-2.0/codegen/codegen.pyt$generate_introspection_for_interfaceXs�	##%   $#%  $					%& 	$	c
Cs�
|jjd�|jj|jjd|j|jft��|j||jd�|jjd�|jj|jjd|jt��i}t|j	�dkrx[|j	D]M}|j
d|jf}d|j}|d|j|jf7}|||<q�Wnt|j
�dkrwx[|j
D]M}|j
d|jf}d	|j}|d
|j|jf7}|||<q#Wnt|j�dkr�x[|jD]M}|j
d|jf}d|j}|d
|j|jf7}|||<q�Wnx;t|j�dtj�D]}|jjd||�qW|jj|jjd|jt��|j||jd�|jjd�|jjd|j|jf�|jjd|j|jf�|jjd�|jjd|j|jf�t|j	�dkr�|jjd�x�|j	D]�}t}tj|jd�r=t}n|jj|jjd|j|j|jft��|r�|jjd�nx(|jD]}	|jjd|	j�q�W|jj|jjd|j|j|j|jft��|j||jd�|rd}
nd}
|jjd|j|j|jt|j�|
f�|rk|jjd�nx(|jD]}	|jjd|	j�quW|jjd�|jjd�qWnt|j
�dkr|jjd �x6|j
D](}|jj|jjd!|j|j|jft��x(|jD]}	|jjd"|	j�q1W|jj|jjd#|j|jft��|j||jd�|jjd$|j|j|jt|j�f�x(|jD]}	|jjd|	j�q�W|jjd�|jjd�q�Wnt|j�dkr�
|jjd%�xT|jD]F}|jrk|jrkd&}n:|jr}d'}n(|jr�d(}ntd)j|j��|jj|jjd*|j|j|j|j|ft��|j||jd�|jjd+�|jjd,krCd-|j|j|j|jjf}n)|jjd.krtd/|j|j|jf}n�|jjd0kr�d1|j|j|jf}n�|jjd2kr�d3|j|j|jf}n�|jjd4krd5|j|j|jf}ne|jjd6kr8d7|j|j|jf}n4|jjd8krid9|j|j|jf}n|jjd:kr�d;|j|j|jf}n�|jjd<kr�d=|j|j|jf}n�|jjd>kr�d?|j|j|jf}np|jjd@kr-	dA|j|j|jf}n?|jjdBkr^	dA|j|j|jf}n|jjdCkr�	dA|j|j|jf}n�|jjdDkr�	dA|j|j|jf}n�|jjdEkr�	dF|j|j|jf}n{|jjdGkr"
dF|j|j|jf}nJ|jjdHkrS
dF|j|j|jf}ntdIj|jj��|jjdJ|�|jjd�qJWn|jjdK�dS(LNs
sF/**
 * %s:
 *
 * Abstract interface type for the D-Bus interface #%s.
is8/**
 * %sIface:
 * @parent_iface: The parent interface.
s
_method_%ss@handle_%s: s&Handler for the #%s::handle-%s signal.s
_signal_%ss@%s: sHandler for the #%s::%s signal.s_prop_get_%ss	@get_%s: sGetter for the #%s:%s property.R$s * %s
s1 *
 * Virtual table for the D-Bus interface #%s.
stypedef %sIface %sInterface;
s+G_DEFINE_INTERFACE (%s, %s, G_TYPE_OBJECT)
s/static void
%s_default_init (%sIface *iface)
{
s9  /* GObject signals for incoming D-Bus method calls: */
sorg.gtk.GDBus.C.UnixFDs[  /**
   * %s::handle-%s:
   * @object: A #%s.
   * @invocation: A #GDBusMethodInvocation.
s4   * @fd_list: (nullable): A #GUnixFDList or %NULL.
s0   * @arg_%s: Argument passed by remote caller.
s'   *
   * Signal emitted when a remote caller is invoking the %s.%s() 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 %s_complete_%s() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %%G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
   *
   * Returns: %%TRUE if the invocation was handled, %%FALSE to let other signal handlers run.
iis  g_signal_new ("handle-%s",
    G_TYPE_FROM_INTERFACE (iface),
    G_SIGNAL_RUN_LAST,
    G_STRUCT_OFFSET (%sIface, handle_%s),
    g_signal_accumulator_true_handled,
    NULL,
    g_cclosure_marshal_generic,
    G_TYPE_BOOLEAN,
    %d,
    G_TYPE_DBUS_METHOD_INVOCATIONs, G_TYPE_UNIX_FD_LISTs, %ss);
s4  /* GObject signals for received D-Bus signals: */
s(  /**
   * %s::%s:
   * @object: A #%s.
s   * @arg_%s: Argument.
s�   *
   * On the client-side, this signal is emitted whenever the D-Bus signal #%s::%s 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.
s�  g_signal_new ("%s",
    G_TYPE_FROM_INTERFACE (iface),
    G_SIGNAL_RUN_LAST,
    G_STRUCT_OFFSET (%sIface, %s),
    NULL,
    NULL,
    g_cclosure_marshal_generic,
    G_TYPE_NONE,
    %ds1  /* GObject properties for D-Bus properties: */
s�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.s�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.s�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.s>Cannot handle property "{}" that neither readable nor writablesO  /**
   * %s:%s:
   *
   * Represents the D-Bus property #%s:%s.
   *
   * %s
s.  g_object_interface_install_property (iface,
tG_TYPE_VARIANTsCg_param_spec_variant ("%s", "%s", "%s", G_VARIANT_TYPE ("%s"), NULLtbs-g_param_spec_boolean ("%s", "%s", "%s", FALSEtys/g_param_spec_uchar ("%s", "%s", "%s", 0, 255, 0RRs=g_param_spec_int ("%s", "%s", "%s", G_MININT16, G_MAXINT16, 0tqs6g_param_spec_uint ("%s", "%s", "%s", 0, G_MAXUINT16, 0R@s=g_param_spec_int ("%s", "%s", "%s", G_MININT32, G_MAXINT32, 0tus6g_param_spec_uint ("%s", "%s", "%s", 0, G_MAXUINT32, 0txs?g_param_spec_int64 ("%s", "%s", "%s", G_MININT64, G_MAXINT64, 0tts8g_param_spec_uint64 ("%s", "%s", "%s", 0, G_MAXUINT64, 0tdsEg_param_spec_double ("%s", "%s", "%s", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0RFs+g_param_spec_string ("%s", "%s", "%s", NULLtotgtaytass1g_param_spec_boxed ("%s", "%s", "%s", G_TYPE_STRVtaotaays%Unsupported gtype "{}" for GParamSpecs5    %s, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));s}

(RRRNR`R*R'R,RaRR+R0R)R\R3R5R7R8RR9R-R.R/R1tgtypeR4R]R^RR!R6RT(RR@tdoc_bitsRBR$RDRFRGRCREt
extra_argsthint((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_interfaces


"  	 &	
* 	&					)(cCs�x�|jD]{}|jr+|jr+d}n:|jr=d}n(|jrOd}ntdj|j��|jj|jj	d|j
|j
|j|j|j|ft��|j
jdkr�|jjd|j
|j
f�n|jjd�|j||jd�|jjd	|j
j|j
|j
|jf�|jjd
|j|j|j
f�|jjd�|jjd�|j
jdkrp|jj|jj	d
|j
|j
|j|j|j||j
jft��|j||jd�|jjd|j
j|j
|j
|j|j
jf�|jjd|j�|jjd�|jjd�|jjd�n|jr�|jr�d}n:|jr�d}n(|jr�d}ntdj|j��|jj|jj	d|j
|j
|j|j|j|ft��|j||jd�|jjd|j
|j
|j|j
jf�|jjd|j�|jjd�|jjd�q
WdS(Ns�Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.srSince this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.sjSince this D-Bus property is not readable, it is only meaningful to use this function on the service-side.s>Cannot handle property "{}" that neither readable nor writablesk/**
 * %s_get_%s: (skip)
 * @object: A #%s.
 *
 * Gets the value of the #%s:%s D-Bus property.
 *
 * %s
 *
sp * <warning>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 %s_dup_%s() if on another thread.</warning>
 *
 * Returns: (transfer none): The property value or %%NULL if the property is not set. Do not free the returned value, it belongs to @object.
s  * Returns: The property value.
is%s
%s_get_%s (%s *object)
{
s3  return %s%s_GET_IFACE (object)->get_%s (object);
s}
s
s�/**
 * %s_dup_%s: (skip)
 * @object: A #%s.
 *
 * Gets a copy of the #%s:%s D-Bus property.
 *
 * %s
 *
 * Returns: (transfer full): The property value or %%NULL if the property is not set. The returned value should be freed with %s().
s'%s
%s_dup_%s (%s *object)
{
  %svalue;
s8  g_object_get (G_OBJECT (object), "%s", &value, NULL);
s  return value;
sjSince this D-Bus property is not writable, it is only meaningful to use this function on the service-side.srSince this D-Bus property is writable, it is meaningful to use this function on both the client- and service-side.s�/**
 * %s_set_%s: (skip)
 * @object: A #%s.
 * @value: The value to set.
 *
 * Sets the #%s:%s D-Bus property to @value.
 *
 * %s
s'void
%s_set_%s (%s *object, %svalue)
{
s7  g_object_set (G_OBJECT (object), "%s", value, NULL);
(R5R]R^RR!R'RRRNR`R)R*R,R6R=R>RaR2RR(R?R\(RR@RGRu((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_property_accessors�s`					/#&	8,					/#cCsyxr|jD]g}|jj|jjd|j|j|jft��x(|jD]}|jjd|j	�qOW|jj|jjd|j	|j	ft��|j
||jd�|jjd|j|j|jf�x1|jD]&}|jjd|j|j	f�q�W|jjd|j�x(|jD]}|jjd|j	�q0W|jjd	�|jjd
�q
WdS(Ns&/**
 * %s_emit_%s:
 * @object: A #%s.
s. * @arg_%s: Argument to pass with the signal.
s& *
 * Emits the #%s::%s D-Bus signal.
is void
%s_emit_%s (
    %s *objects,
    %sarg_%ss))
{
  g_signal_emit_by_name (object, "%s"s, arg_%ss);
s}

(
R3RRRNR`R)R*R,R4R'RaR2R\(RR@RFRE((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_signal_emitters8s( $c
Cs�x�|jD]�}t}tj|jd�r4t}n|jjd|j|j|j	f�x(|j
D]}|jjd|j�qdW|r�|jjd�n|jj|jj
d|j|j|j|j|j|jft��|j||jd�|jjd|j|j|j	f�x1|j
D]&}|jjd|j|jf�q+W|rn|jjd	�n|jjd
�|r�|jjd�n|jjd�|jjd
|j�x(|j
D]}|jjd|j�q�W|jjd�x(|j
D]}|jjd|j�qW|jjd�|rM|jjd�n|jjd�|jjd�|jjd|j|j|j	f�xD|jD]9}|jjd|j|jr�d|jndf�q�W|r�|jjd�n|jj|jj
d|j|j|j|jft��|j||jd�|jjd|j|j|j	f�x1|jD]&}|jjd|j|jf�qtW|r�|jjd�n|jjd�|r�|jjd�n|jjd �|jjd!�|jjd"�x(|jD]}|jjd|j�qW|jjd�x(|jD]}|jjd#|j�qUW|jjd$�|jjd%�|jjd&|j|j|j	f�x(|j
D]}|jjd|j�q�W|r|jjd�nxD|jD]9}|jjd|j|jr8d|jndf�q
W|r`|jjd�n|jj|jj
d'|j|j|j|jft��|j||jd�|jjd(|j|j|j	f�x1|j
D]&}|jjd|j|jf�q�W|r$|jjd)�nx1|jD]&}|jjd|j|jf�q.W|rq|jjd�n|jjd*�|r�|jjd+�n|jjd,�|jjd
|j�x(|j
D]}|jjd|j�q�W|jjd�x(|j
D]}|jjd|j�qW|jjd�|rP|jjd-�n|jjd.�|jjd"�x(|jD]}|jjd|j�qzW|jjd�x(|jD]}|jjd#|j�q�W|jjd$�|jjd%�q
WdS(/Nsorg.gtk.GDBus.C.UnixFDs*/**
 * %s_call_%s:
 * @proxy: A #%sProxy.
s9 * @arg_%s: Argument to pass with the method invocation.
s2 * @fd_list: (nullable): A #GUnixFDList or %NULL.
sd * @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 %s.%s() D-Bus method on @proxy.
 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 * You can then call %s_call_%s_finish() to get the result of the operation.
 *
 * See %s_call_%s_sync() for the synchronous, blocking version of this method.
isvoid
%s_call_%s (
    %s *proxys,
    %sarg_%ss,
    GUnixFDList *fd_lists],
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data)
{
s=  g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy),
s+  g_dbus_proxy_call (G_DBUS_PROXY (proxy),
s    "%s",
    g_variant_new ("(s%ss)"s,
                   arg_%ss'),
    G_DBUS_CALL_FLAGS_NONE,
    -1,
s
    fd_list,
s/    cancellable,
    callback,
    user_data);
s}

s1/**
 * %s_call_%s_finish:
 * @proxy: A #%sProxy.
sO * @out_%s: (out)%s: Return location for return parameter or %%NULL to ignore.
t RsE * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL.
s * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %s_call_%s().
 * @error: Return location for error or %%NULL.
 *
 * Finishes an operation started with %s_call_%s().
 *
 * Returns: (skip): %%TRUE if the call succeded, %%FALSE if @error is set.
s*gboolean
%s_call_%s_finish (
    %s *proxys,
    %sout_%ss,
    GUnixFDList **out_fd_listsA,
    GAsyncResult *res,
    GError **error)
{
  GVariant *_ret;
se  _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error);
sF  _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
s#  if (_ret == NULL)
    goto _out;
s*  g_variant_get (_ret,
                 "(s,
                 out_%ss);
  g_variant_unref (_ret);
s _out:
  return _ret != NULL;
}

s//**
 * %s_call_%s_sync:
 * @proxy: A #%sProxy.
ss * @cancellable: (nullable): A #GCancellable or %%NULL.
 * @error: Return location for error or %%NULL.
 *
 * Synchronously invokes the %s.%s() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
 *
 * See %s_call_%s() for the asynchronous version of this method.
 *
 * Returns: (skip): %%TRUE if the call succeded, %%FALSE if @error is set.
s(gboolean
%s_call_%s_sync (
    %s *proxys,
    GUnixFDList  *fd_listsI,
    GCancellable *cancellable,
    GError **error)
{
  GVariant *_ret;
sI  _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy),
s7  _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
s    fd_list,
    out_fd_list,
s@    cancellable,
    error);
  if (_ret == NULL)
    goto _out;
(R+R,RR-R.R/RRR)R*R1R'RNR`RaR2t	format_inR;tarray_annotationR<t
format_out(RR@RBRCRE((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_method_callsVs�		2$7&$7&$$cCs6x/|jD]$}t}tj|jd�r4t}n|jjd|j|j|j	f�|rs|jjd�nx(|j
D]}|jjd|j�q}W|jj|jj
d|j|jft��|j||jd�|jjd|j|j|j	f�|r"|jjd�nx1|j
D]&}|jjd	|j|jf�q,W|jjd
�|r|jjd�n|jjd�x(|j
D]}|jjd
|j�q�W|jjd�x(|j
D]}|jjd|j�q�W|r|jjd�n|jjd�|jjd�q
WdS(Nsorg.gtk.GDBus.C.UnixFDse/**
 * %s_complete_%s:
 * @object: A #%s.
 * @invocation: (transfer full): A #GDBusMethodInvocation.
s2 * @fd_list: (nullable): A #GUnixFDList or %NULL.
s * @%s: Parameter to return.
s= *
 * Helper function used in service implementations to finish handling invocations of the %s.%s() 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.
isKvoid
%s_complete_%s (
    %s *object,
    GDBusMethodInvocation *invocations,
    GUnixFDList *fd_lists
,
    %s%ss)
{
s\  g_dbus_method_invocation_return_value_with_unix_fd_list (invocation,
    g_variant_new ("(sJ  g_dbus_method_invocation_return_value (invocation,
    g_variant_new ("(s%ss)"s,
                   %ss),
    fd_list);
s));
s}

(R+R,RR-R.R/RRR)R*R;R'RNR`RaR2Rz(RR@RBRCRE((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_method_completerssB	$cCs�
|jjd�|jj|jjd|j|jft��|j||jd�|jjd�|jj|jjd|j|jft��|j||jd�|jjd�|jjd|j�|jjd|j|jf�|jjd�|jjd	|j|jf�|jjd
|j�|jjd|j|j	|jf�|jjd�|jjd	|j|jf�|jjd|j|j	|jf�|jjd
�|jjd|j�|jjd|j|j|j	f�|jjd�|jjd|j�|jjd|j�t
|j�dkr}|jjdt
|j�|jf�n|jjd�t
|j�dkr�|jjd|j�|jjd|j�|jjd�n|jjd|j�t
|j�dkrD|jjdt
|j�|j|j|jf�n|jjd�|jjd|j�|jjd�|jjd|j�|jjd|j|j	f�|jjd�|jjd|j|j	f�|jjd�|jjd �|jjd�|jjd!|j�|jjd"|j|j|j	|j|jf�x7|jD],}d#}|j
jdkr�d$}n|jjd%|j
j|j|j|j|j|j|j	|j
j|f	�t}|j
jd&ks|j
jd'ks|j
jd(krt}n|r>|jjd)|j�n|jjd*|j�|j
jd+kr�|jjd,�|jjd-�|jjd.�n�|jjd/�d0}|j
jd1ks�|j
jd&ks�|j
jd'ks�|j
jd(krd2}n|jjd3|j
j|f�|rA|jjd4|j�n|jjd5�|jjd6�|jjd7�|jjd8�|jjd�qeW|jjd9|j|j|j|j|j	|j|jf�|jjd:|j|j|j|j|j|j|jf�t
|j�dkr@|jjd;|j�n|jjd<|j�|jjd�|jjd=|j|jf�x7|jD],}|jjd>|j|j|jf�q�W|jjd�|jj|jjd?|j|j|j|jft��|j||jd�|jjd@|j|j|j	|jf�|jjdA|j|j|j|jf�|j||jd�|jjdB|j|j|j|j	f�|jj|jjdC|j|j|j|jft��|j||jd�|jjdD|j|j|j|j	|j|j|j	f�|jjd�|jj|jjdE|j|j|j|jft��|j||jd�|jjdF|j|j|j	|jf�|jjdG|j|j|j|jf�|j||jd�|jjdH|j|j|j|j	f�|jj|jjdI|j|j|j|jft��|j||jd�|jjdJ|j|j|j|j	|j|j|j	f�|jjd�dS(KNsP/* ------------------------------------------------------------------------ */

s|/**
 * %sProxy:
 *
 * The #%sProxy structure contains only private data and should only be accessed using the provided API.
is
s]/**
 * %sProxyClass:
 * @parent_class: The parent class.
 *
 * Class structure for #%sProxy.
s-struct _%sProxyPrivate
{
  GData *qdata;
};

s3static void %s_proxy_iface_init (%sIface *iface);

s2#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
s?G_DEFINE_TYPE_WITH_CODE (%sProxy, %s_proxy, G_TYPE_DBUS_PROXY,
s1                         G_ADD_PRIVATE (%sProxy)
sR                         G_IMPLEMENT_INTERFACE (%sTYPE_%s, %s_proxy_iface_init))

s#else
s#endif
s2static void
%s_proxy_finalize (GObject *object)
{
s(  %sProxy *proxy = %s%s_PROXY (object);
s*  g_datalist_clear (&proxy->priv->qdata);
s@  G_OBJECT_CLASS (%s_proxy_parent_class)->finalize (object);
}

s�static void
%s_proxy_get_property (GObject      *object,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec G_GNUC_UNUSED)
{
s  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);
s}

skstatic void
%s_proxy_set_property_cb (GDBusProxy *proxy,
  GAsyncResult *res,
  gpointer      user_data)
{
s�  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);
    }
s�static void
%s_proxy_set_property (GObject      *object,
  guint         prop_id,
  const GValue *value,
  GParamSpec   *pspec G_GNUC_UNUSED)
{
si  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);
s�static void
%s_proxy_g_signal (GDBusProxy *proxy,
  const gchar *sender_name G_GNUC_UNUSED,
  const gchar *signal_name,
  GVariant *parameters)
{
s�  _ExtendedGDBusSignalInfo *info;
  GVariantIter iter;
  GVariant *child;
  GValue *paramv;
  gsize num_params;
  gsize n;
  guint signal_id;
s�  info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, signal_name);
  if (info == NULL)
    return;
s�  num_params = g_variant_n_children (parameters);
  paramv = g_new0 (GValue, num_params + 1);
  g_value_init (&paramv[0], %sTYPE_%s);
  g_value_set_object (&paramv[0], proxy);
s�  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);
    }
s>  signal_id = g_signal_lookup (info->signal_name, %sTYPE_%s);
s/  g_signal_emitv (paramv, signal_id, 0, NULL);
sZ  for (n = 0; n < num_params + 1; n++)
    g_value_unset (&paramv[n]);
  g_free (paramv);
s�static void
%s_proxy_g_properties_changed (GDBusProxy *_proxy,
  GVariant *changed_properties,
  const gchar *const *invalidated_properties)
{
s�  %sProxy *proxy = %s%s_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 *) &_%s_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 *) &_%s_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);
    }
}

t0tNULLsvstatic %s
%s_proxy_get_%s (%s *object)
{
  %sProxy *proxy = %s%s_PROXY (object);
  GVariant *variant;
  %svalue = %s;
tg_variant_get_strvtg_variant_get_objvtg_variant_get_bytestring_arraysb  value = g_datalist_get_data (&proxy->priv->qdata, "%s");
  if (value != NULL)
    return value;
sK  variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "%s");
Rds  value = variant;
s  if (variant != NULL)
s    g_variant_unref (variant);
s  if (variant != NULL)
    {
Rtg_variant_get_strings, NULLs      value = %s (variant%s);
sV      g_datalist_set_data_full (&proxy->priv->qdata, "%s", (gpointer) value, g_free);
s!      g_variant_unref (variant);
s    }
s  return value;
s}
sMstatic void
%s_proxy_init (%sProxy *proxy)
{
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
  proxy->priv = %s_proxy_get_instance_private (proxy);
#else
  proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, %sTYPE_%s_PROXY, %sProxyPrivate);
#endif

  g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), %s_interface_info ());
}

s�static void
%s_proxy_class_init (%sProxyClass *klass)
{
  GObjectClass *gobject_class;
  GDBusProxyClass *proxy_class;

  gobject_class = G_OBJECT_CLASS (klass);
  gobject_class->finalize     = %s_proxy_finalize;
  gobject_class->get_property = %s_proxy_get_property;
  gobject_class->set_property = %s_proxy_set_property;

  proxy_class = G_DBUS_PROXY_CLASS (klass);
  proxy_class->g_signal = %s_proxy_g_signal;
  proxy_class->g_properties_changed = %s_proxy_g_properties_changed;

s.  %s_override_properties (gobject_class, 1);

su#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
  g_type_class_add_private (klass, sizeof (%sProxyPrivate));
#endif
s3static void
%s_proxy_iface_init (%sIface *iface)
{
s#  iface->get_%s = %s_proxy_get_%s;
s�/**
 * %s_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 #%s. See g_dbus_proxy_new() for more details.
 *
 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 * You can then call %s_proxy_new_finish() to get the result of the operation.
 *
 * See %s_proxy_new_sync() for the synchronous, blocking version of this constructor.
s�void
%s_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 (%sTYPE_%s_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", "%s", NULL);
}

sH/**
 * %s_proxy_new_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %s_proxy_new().
 * @error: Return location for error or %%NULL
 *
 * Finishes an operation started with %s_proxy_new().
 *
 * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.
sz%s *
%s_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 %s%s (ret);
  else
    return NULL;
}

s�/**
 * %s_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 #%s. See g_dbus_proxy_new_sync() for more details.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See %s_proxy_new() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.
s�%s *
%s_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error)
{
  GInitable *ret;
  ret = g_initable_new (%sTYPE_%s_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "%s", NULL);
  if (ret != NULL)
    return %s%s (ret);
  else
    return NULL;
}

sB/**
 * %s_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 %s_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
 *
 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 * You can then call %s_proxy_new_for_bus_finish() to get the result of the operation.
 *
 * See %s_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
s�void
%s_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data)
{
  g_async_initable_new_async (%sTYPE_%s_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", "%s", NULL);
}

s`/**
 * %s_proxy_new_for_bus_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %s_proxy_new_for_bus().
 * @error: Return location for error or %%NULL
 *
 * Finishes an operation started with %s_proxy_new_for_bus().
 *
 * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.
s�%s *
%s_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 %s%s (ret);
  else
    return NULL;
}

sx/**
 * %s_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 %s_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See %s_proxy_new_for_bus() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.
s�%s *
%s_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 (%sTYPE_%s_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "%s", NULL);
  if (ret != NULL)
    return %s%s (ret);
  else
    return NULL;
}

(RRRNR`R*R,RaR)RR(RR5R'R6R=R>R2tgvariant_getR/Rr(RR@RGt	nul_valuetfree_containert	extra_len((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_proxyEs. & &&)	6	H	 &*&
   &2&
   &2cCs�|jjd�|jj|jjd|j|jft��|j||jd�|jjd�|jj|jjd|j|jft��|j||jd�|jjd�|jjd|j�|jjd|j|j|j|j	f�|jjdd\�|jjd	|j|j	f�|jjd
�|jjd|j|j	f�|jjd�|jjd
�|jjd�|jjd|j|j|j|j	f�|jjd|j�|jjd|j|j|j|j	f�|jjd|j�|jjd|j|j|j|jf�|jjd|j|jf�|jjd�|jjd|j|jf�|jjd�|jjd|j|j|j|j	f�|jjd|j|j|j|j|j
f�t|j�dkr0|jjd|j�n|jjd|j�t|j�dkr�|jjd|j|j|j	|jf�n|jjd�xg|j
D]\}|jjd|j|j|jf�x1|jD]&}|jjd|j|j
f�q�W|jjd|j|j|j	f�|jjd�x(|jD]}|jjd|j�qEW|jjd �x(|jD]}|jjd!|j
�q�W|jjd"�|jjd#|j
|j
f�|jjd$�|jjd%�|jjd�q�W|jjd&|j|jf�|jjd'�|jjd(|j|jf�|jjd)|j�|jjd*|j|j	|jf�|jjd+�|jjd(|j|jf�|jjd*|j|j	|jf�|jjd,�|jjd-|j�|jjd.|j|j|j	f�t|j�dkrz|jjd/t|j��|jjd0�n|jjd1�|jjd2�|jjd3�|jjd4�|jjd5�|jjd6|j�t|j�dkr�|jjd7|j�|jjd8|j|j|j	t|j�f�|jjd�|jjd9|j|j|j|j	f�|jjd:|j
�|jjd1�|jjd;�|jjd<�|jjd=�|jjd>�|jjd?|j|jf�|jjd@d]�|jjdA|j|j|j|j	|j|jf�|jjdB|j�|jjdC|j|j|j	t|j�|j|jf�|jjd�n|jjdD|j|j|j|j|j	|jf�|jjdE�|jjdF�t|j�dkr�	|jjdGt|j��d}x>|jD]0}|jjdH||jjf�|dI7}qP	Wn|jjd�d}x�|jD]�}|jjdJ|jj|j|j|jf�|jjd.|j|j|j	f�|jjdK|jj|jj|f�|jjdL�|jjdM�|jjd�|dI7}q�	W|jjdN|j|j|jf�t|j�dkr�
|jjdO|j|j|jf�|jjdP|j�n|jjdQ�|jjdR|j�|jjdS|j�|jjdT|j�|jjdU|j�|jjdV|j�|jjd�|jjdW|j|jf�x7|j
D],}|jjdX|j|j|jf�q�Wx7|jD],}|jjdY|j|j|jf�q�W|jjd�|jj|jjdZ|j|j
|jft��|j||jd�|jjd[|j|j|j|j	|j|j	f�dS(^NsP/* ------------------------------------------------------------------------ */

s�/**
 * %sSkeleton:
 *
 * The #%sSkeleton structure contains only private data and should only be accessed using the provided API.
is
sc/**
 * %sSkeletonClass:
 * @parent_class: The parent class.
 *
 * Class structure for #%sSkeleton.
s�struct _%sSkeletonPrivate
{
  GValue *properties;
  GList *changed_properties;
  GSource *changed_properties_idle_source;
  GMainContext *context;
  GMutex lock;
};

s5static void
_%s_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)
{
  %sSkeleton *skeleton = %s%s_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;
sx  info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
  g_assert (info != NULL);
sq  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], %sTYPE_%s);
  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
    }
s�  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);
    }
s>  signal_id = g_signal_lookup (info->signal_name, %sTYPE_%s);
se  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);
sb  for (n = 0; n < num_params + num_extra; n++)
    g_value_unset (&paramv[n]);
  g_free (paramv);
s}

s�static GVariant *
_%s_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)
{
  %sSkeleton *skeleton = %s%s_SKELETON (user_data);
  GValue value = G_VALUE_INIT;
  GParamSpec *pspec;
  _ExtendedGDBusPropertyInfo *info;
  GVariant *ret;
s�  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;
}

s�static gboolean
_%s_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)
{
  %sSkeleton *skeleton = %s%s_SKELETON (user_data);
  GValue value = G_VALUE_INIT;
  GParamSpec *pspec;
  _ExtendedGDBusPropertyInfo *info;
  gboolean ret;
s�  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;
}

s�static const GDBusInterfaceVTable _%s_skeleton_vtable =
{
  _%s_skeleton_handle_method_call,
  _%s_skeleton_handle_get_property,
  _%s_skeleton_handle_set_property,
  {NULL}
};

s�static GDBusInterfaceInfo *
%s_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
{
  return %s_interface_info ();
s�static GDBusInterfaceVTable *
%s_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
{
  return (GDBusInterfaceVTable *) &_%s_skeleton_vtable;
s�static GVariant *
%s_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
{
  %sSkeleton *skeleton = %s%s_SKELETON (_skeleton);
s�
  GVariantBuilder builder;
  guint n;
  g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
  if (_%s_interface_info.parent_struct.properties == NULL)
    goto out;
  for (n = 0; _%s_interface_info.parent_struct.properties[n] != NULL; n++)
    {
      GDBusPropertyInfo *info = _%s_interface_info.parent_struct.properties[n];
      if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
        {
          GVariant *value;
          value = _%s_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)), "%s", 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);
}

s8static gboolean _%s_emit_changed (gpointer user_data);

sSstatic void
%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
{
s�  %sSkeleton *skeleton = %s%s_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)
    _%s_emit_changed (skeleton);
s-static void
_%s_on_signal_%s (
    %s *objects,
    %sarg_%ss�)
{
  %sSkeleton *skeleton = %s%s_SKELETON (object);

  GList      *connections, *l;
  GVariant   *signal_variant;
  connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
s9
  signal_variant = g_variant_ref_sink (g_variant_new ("(s%ss)"s,
                   arg_%ss));
s%  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)), "%s", "%s",
        signal_variant, NULL);
    }
s$  g_variant_unref (signal_variant);
s2  g_list_free_full (connections, g_object_unref);
s5static void %s_skeleton_iface_init (%sIface *iface);
s2#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
sRG_DEFINE_TYPE_WITH_CODE (%sSkeleton, %s_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
s4                         G_ADD_PRIVATE (%sSkeleton)
sU                         G_IMPLEMENT_INTERFACE (%sTYPE_%s, %s_skeleton_iface_init))

s#else
s#endif
s5static void
%s_skeleton_finalize (GObject *object)
{
s1  %sSkeleton *skeleton = %s%s_SKELETON (object);
sZ  guint n;
  for (n = 0; n < %d; n++)
    g_value_unset (&skeleton->priv->properties[n]);
s'  g_free (skeleton->priv->properties);
sb  g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
s>  if (skeleton->priv->changed_properties_idle_source != NULL)
sG    g_source_destroy (skeleton->priv->changed_properties_idle_source);
s2  g_main_context_unref (skeleton->priv->context);
s)  g_mutex_clear (&skeleton->priv->lock);
sC  G_OBJECT_CLASS (%s_skeleton_parent_class)->finalize (object);
}

s�static void
%s_skeleton_get_property (GObject      *object,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec G_GNUC_UNUSED)
{
s�  %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);
slstatic gboolean
_%s_emit_changed (gpointer user_data)
{
  %sSkeleton *skeleton = %s%s_SKELETON (user_data);
s�  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);
    }
s-  skeleton->priv->changed_properties = NULL;
s9  skeleton->priv->changed_properties_idle_source = NULL;
s*  g_mutex_unlock (&skeleton->priv->lock);
s  return FALSE;
}

s�static void
_%s_schedule_emit_changed (%sSkeleton *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;
        }
    }
sT  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);
    }
}

s�static void
%s_skeleton_notify (GObject      *object,
  GParamSpec *pspec G_GNUC_UNUSED)
{
  %sSkeleton *skeleton = %s%s_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, _%s_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
      g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _%s_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);
}

s�static void
%s_skeleton_set_property (GObject      *object,
  guint         prop_id,
  const GValue *value,
  GParamSpec   *pspec)
{
s4  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);
sstatic void
%s_skeleton_init (%sSkeleton *skeleton)
{
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
  skeleton->priv = %s_skeleton_get_instance_private (skeleton);
#else
  skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, %sTYPE_%s_SKELETON, %sSkeletonPrivate);
#endif

s(  g_mutex_init (&skeleton->priv->lock);
sB  skeleton->priv->context = g_main_context_ref_thread_default ();
s4  skeleton->priv->properties = g_new0 (GValue, %d);
s6  g_value_init (&skeleton->priv->properties[%d], %s);
is,static %s
%s_skeleton_get_%s (%s *object)
{
s�  %svalue;
  g_mutex_lock (&skeleton->priv->lock);
  value = %s (&(skeleton->priv->properties[%d]));
  g_mutex_unlock (&skeleton->priv->lock);
s  return value;
s}
s�static void
%s_skeleton_class_init (%sSkeletonClass *klass)
{
  GObjectClass *gobject_class;
  GDBusInterfaceSkeletonClass *skeleton_class;

  gobject_class = G_OBJECT_CLASS (klass);
  gobject_class->finalize = %s_skeleton_finalize;
s�  gobject_class->get_property = %s_skeleton_get_property;
  gobject_class->set_property = %s_skeleton_set_property;
  gobject_class->notify       = %s_skeleton_notify;

s.
  %s_override_properties (gobject_class, 1);
s=
  skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
sB  skeleton_class->get_info = %s_skeleton_dbus_interface_get_info;
sN  skeleton_class->get_properties = %s_skeleton_dbus_interface_get_properties;
s<  skeleton_class->flush = %s_skeleton_dbus_interface_flush;
sF  skeleton_class->get_vtable = %s_skeleton_dbus_interface_get_vtable;
sy
#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
  g_type_class_add_private (klass, sizeof (%sSkeletonPrivate));
#endif
s6static void
%s_skeleton_iface_init (%sIface *iface)
{
s   iface->%s = _%s_on_signal_%s;
s&  iface->get_%s = %s_skeleton_get_%s;
s�/**
 * %s_skeleton_new:
 *
 * Creates a skeleton object for the D-Bus interface #%s.
 *
 * Returns: (transfer full) (type %sSkeleton): The skeleton object.
sZ%s *
%s_skeleton_new (void)
{
  return %s%s (g_object_new (%sTYPE_%s_SKELETON, NULL));
}

(((RRRNR`R*R,RaR)RR(R'RR5R3R4R2RzR6Rrt
ctype_in_gt
gvalue_get(RR@RFRERRRG((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_skeletonFs`     &#$ & &&& 2,2 #&* c
Cs�
|jjd�|jj|jjd|j|j|j|j|jft��|jjd�|jj|jjd|j|jft��|jjd�|jj|jjd|j|jft��|jjd�|jjd|j|jf�|jjd|j|jf�|jjd�|jjd|j|jf�x�|jD]�}|jj|jjd	|j|j|j	|j
ft��|j||jd
�|jjd|j|j|j|j|j
f�qYW|jjd�x�|jD]�}|jj|jjd
|j|j
j�|j|j	|j
|j	ft��|j||jd�|jjd|j	|j|j
j�|jf�|jjd|j
|j|j
f�qW|jjd�x�|jD]�}|jj|jjd|j|j
j�|j|j|j
j�|j	ft��|j||jd�|jjd|j	|j|j
j�|jf�|jjd|j
|j|j
f�q�W|jjd�|jjd|j�|jj|jjd|j|jft��|jjd�|jjd�|jj|jjd|j|jft��|jjd�|jjd�|jjd|j|j|jf�|jjd|j|j|jf�|jjd�|jjd|j|j|j|j|j|jf�|jjd|j|jf�|jjd|j�|jjdd4�|jjd|j|j|jf�d}x8|jD]-}|jjd||j
f�|d7}q�W|jjd d5�|jjd!|j|j|j|jf�d}x8|jD]-}|jjd"||jf�|d7}qW|jjd�|jj|jjd#|jt��|jjd$|j|j|j|jf�|jj|jjd%|j|jft��|jjd�|jjd�|jj|jjd&|j|jft��|jjd�|jjd�|jjd'|j|j|jf�|jjd�|jjd(|j|j|jf�|jjd)|j|j|j|j|j|jf�|jjd*|j|jf�|jjd+|j|j|jf�d}xD|jD]9}|jjd,||j|j
|j
f�|d7}q W|jjd d6�|jjd-|j|j|jf�d}x8|jD]-}|jjd||j
f�|d7}q�W|jjd d7�|jjd.|j|j|j|jf�d}x8|jD]-}|jjd"||jf�|d7}q(	W|jjd�|jj|jjd/|jt��|jjd0|j|j|j|jf�x�|jD]�}|jj|jjd1|j|j
j�|j|j	|j	|j
ft��|j||jd�|jjd2|j|j
j�|j|j	f�|jjd3|j�q�	W|jjd�dS(8Ns�/* ------------------------------------------------------------------------
 * Code for Object, ObjectProxy and ObjectSkeleton
 * ------------------------------------------------------------------------
 */

s/**
 * SECTION:%sObject
 * @title: %sObject
 * @short_description: Specialized GDBusObject types
 *
 * This section contains the #%sObject, #%sObjectProxy, and #%sObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.
 */
s
sX/**
 * %sObject:
 *
 * The #%sObject type is a specialized container of interfaces.
 */
ss/**
 * %sObjectIface:
 * @parent_iface: The parent interface.
 *
 * Virtual table for the #%sObject interface.
 */
s)typedef %sObjectIface %sObjectInterface;
s�G_DEFINE_INTERFACE_WITH_CODE (%sObject, %sobject, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT);)
s;static void
%sobject_default_init (%sObjectIface *iface)
{
s�  /**
   * %sObject:%s:
   *
   * The #%s instance corresponding to the D-Bus interface #%s, if any.
   *
   * Connect to the #GObject::notify signal to get informed of property changes.
is�  g_object_interface_install_property (iface, g_param_spec_object ("%s", "%s", "%s", %sTYPE_%s, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS));

s}

s/**
 * %sobject_get_%s:
 * @object: A #%sObject.
 *
 * Gets the #%s instance for the D-Bus interface #%s on @object, if any.
 *
 * Returns: (transfer full): A #%s that must be freed with g_object_unref() or %%NULL if @object does not implement the interface.
is'%s *%sobject_get_%s (%sObject *object)
s�{
  GDBusInterface *ret;
  ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");
  if (ret == NULL)
    return NULL;
  return %s%s (ret);
}

s�/**
 * %sobject_peek_%s: (skip)
 * @object: A #%sObject.
 *
 * Like %sobject_get_%s() but doesn't increase the reference count on the returned object.
 *
 * <warning>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.</warning>
 *
 * Returns: (transfer none): A #%s or %%NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object.
s(%s *%sobject_peek_%s (%sObject *object)
s�{
  GDBusInterface *ret;
  ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");
  if (ret == NULL)
    return NULL;
  g_object_unref (ret);
  return %s%s (ret);
}

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

s�/**
 * %sObjectProxy:
 *
 * The #%sObjectProxy structure contains only private data and should only be accessed using the provided API.
s */
si/**
 * %sObjectProxyClass:
 * @parent_class: The parent class.
 *
 * Class structure for #%sObjectProxy.
sZstatic void
%sobject_proxy__%sobject_iface_init (%sObjectIface *iface G_GNUC_UNUSED)
{
}

s�static void
%sobject_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface)
{
  iface->interface_added = %sobject_notify;
  iface->interface_removed = %sobject_notify;
}

s&G_DEFINE_TYPE_WITH_CODE (%sObjectProxy, %sobject_proxy, G_TYPE_DBUS_OBJECT_PROXY,
                         G_IMPLEMENT_INTERFACE (%sTYPE_OBJECT, %sobject_proxy__%sobject_iface_init)
                         G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, %sobject_proxy__g_dbus_object_iface_init))

sKstatic void
%sobject_proxy_init (%sObjectProxy *object G_GNUC_UNUSED)
{
}

s�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);
s�static void
%sobject_proxy_get_property (GObject      *gobject,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec)
{
  %sObjectProxy *object = %sOBJECT_PROXY (gobject);
  GDBusInterface *interface;

  switch (prop_id)
    {
is�    case %d:
      interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");
      g_value_take_object (value, interface);
      break;

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

s�static void
%sobject_proxy_class_init (%sObjectProxyClass *klass)
{
  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);

  gobject_class->set_property = %sobject_proxy_set_property;
  gobject_class->get_property = %sobject_proxy_get_property;

s>  g_object_class_override_property (gobject_class, %d, "%s");
s�/**
 * %sobject_proxy_new:
 * @connection: A #GDBusConnection.
 * @object_path: An object path.
 *
 * Creates a new proxy object.
 *
 * Returns: (transfer full): The proxy object.
 */
si%sObjectProxy *
%sobject_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 %sOBJECT_PROXY (g_object_new (%sTYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL));
}

s�/**
 * %sObjectSkeleton:
 *
 * The #%sObjectSkeleton structure contains only private data and should only be accessed using the provided API.
so/**
 * %sObjectSkeletonClass:
 * @parent_class: The parent class.
 *
 * Class structure for #%sObjectSkeleton.
s]static void
%sobject_skeleton__%sobject_iface_init (%sObjectIface *iface G_GNUC_UNUSED)
{
}

s�static void
%sobject_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface)
{
  iface->interface_added = %sobject_notify;
  iface->interface_removed = %sobject_notify;
}

s5G_DEFINE_TYPE_WITH_CODE (%sObjectSkeleton, %sobject_skeleton, G_TYPE_DBUS_OBJECT_SKELETON,
                         G_IMPLEMENT_INTERFACE (%sTYPE_OBJECT, %sobject_skeleton__%sobject_iface_init)
                         G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, %sobject_skeleton__g_dbus_object_iface_init))

sQstatic void
%sobject_skeleton_init (%sObjectSkeleton *object G_GNUC_UNUSED)
{
}

sstatic void
%sobject_skeleton_set_property (GObject      *gobject,
  guint         prop_id,
  const GValue *value,
  GParamSpec   *pspec)
{
  %sObjectSkeleton *object = %sOBJECT_SKELETON (gobject);
  GDBusInterfaceSkeleton *interface;

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

s�static void
%sobject_skeleton_get_property (GObject      *gobject,
  guint         prop_id,
  GValue       *value,
  GParamSpec   *pspec)
{
  %sObjectSkeleton *object = %sOBJECT_SKELETON (gobject);
  GDBusInterface *interface;

  switch (prop_id)
    {
sstatic void
%sobject_skeleton_class_init (%sObjectSkeletonClass *klass)
{
  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);

  gobject_class->set_property = %sobject_skeleton_set_property;
  gobject_class->get_property = %sobject_skeleton_get_property;

s�/**
 * %sobject_skeleton_new:
 * @object_path: An object path.
 *
 * Creates a new skeleton object.
 *
 * Returns: (transfer full): The skeleton object.
 */
s�%sObjectSkeleton *
%sobject_skeleton_new (const gchar *object_path)
{
  g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
  return %sOBJECT_SKELETON (g_object_new (%sTYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL));
}

s�/**
 * %sobject_skeleton_set_%s:
 * @object: A #%sObjectSkeleton.
 * @interface_: (nullable): A #%s or %%NULL to clear the interface.
 *
 * Sets the #%s instance for the D-Bus interface #%s on @object.
sIvoid %sobject_skeleton_set_%s (%sObjectSkeleton *object, %s *interface_)
sA{
  g_object_set (G_OBJECT (object), "%s", interface_, NULL);
}

(((((RRRNR`RR,RRR\R*R'RaRR(R
(RR@RR((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_object�
s2,  &*8&	>&	, 	 ,
  8&cCs�|jjd�|jj|jjd|j|j|jft��|jjd�|jj|jjd|j|jft��|jjd�|jjd�|jj|jjd|j|jft��|jjd�|jjd�|jjd|j|jf�|jjd|j|jf�|jjd	|j|jf�|jj|jjd
|j|jft��|jjd�|jjd|j�|jjd|j�x7|jD],}|jjd
|j	|j|j
f�q�W|jjd�|jjd�|jjd�|jj|jjd|j|j|j|jft��|jjd�|jjd|j|j|jf�|jjd|j|j|j|jf�|jjd�|jjd|j�|jj|jjd|j|j|j|jft��|jjd�|jjd|j|j|jf�|jjd�|jj|jjd|j|j|j|jft��|jjd�|jjd|j|j|jf�|jjd|j|j|j|jf�|jjd�|jjd|j�|jj|jjd|j|j|j|jft��|jjd�|jjd|j|j|jf�|jjd�dS(Ns�/* ------------------------------------------------------------------------
 * Code for ObjectManager client
 * ------------------------------------------------------------------------
 */

s/**
 * SECTION:%sObjectManagerClient
 * @title: %sObjectManagerClient
 * @short_description: Generated GDBusObjectManagerClient type
 *
 * This section contains a #GDBusObjectManagerClient that uses %sobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc.
 */
s
s�/**
 * %sObjectManagerClient:
 *
 * The #%sObjectManagerClient structure contains only private data and should only be accessed using the provided API.
s */
sy/**
 * %sObjectManagerClientClass:
 * @parent_class: The parent class.
 *
 * Class structure for #%sObjectManagerClient.
scG_DEFINE_TYPE (%sObjectManagerClient, %sobject_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT)

s]static void
%sobject_manager_client_init (%sObjectManagerClient *manager G_GNUC_UNUSED)
{
}

sfstatic void
%sobject_manager_client_class_init (%sObjectManagerClientClass *klass G_GNUC_UNUSED)
{
}

s!/**
 * %sobject_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 #%sObjectProxy.
s�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)
{
s  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);
s^      g_hash_table_insert (lookup_hash, (gpointer) "%s", GSIZE_TO_POINTER (%sTYPE_%s_PROXY));
s5      g_once_init_leave (&once_init_value, 1);
    }
s�  ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name));
  if (ret == (GType) 0)
    ret = G_TYPE_DBUS_PROXY;
s  return ret;
}

s/**
 * %sobject_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 %sobject_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 <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 * You can then call %sobject_manager_client_new_finish() to get the result of the operation.
 *
 * See %sobject_manager_client_new_sync() for the synchronous, blocking version of this constructor.
sGvoid
%sobject_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 (%sTYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);
}

s�/**
 * %sobject_manager_client_new_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %sobject_manager_client_new().
 * @error: Return location for error or %%NULL
 *
 * Finishes an operation started with %sobject_manager_client_new().
 *
 * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.
s�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;
}

sd/**
 * %sobject_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 %sobject_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 %sobject_manager_client_new() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.
soGDBusObjectManager *
%sobject_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 (%sTYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);
  if (ret != NULL)
    return G_DBUS_OBJECT_MANAGER (ret);
  else
    return NULL;
}

s�/**
 * %sobject_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 %sobject_manager_client_new() but takes a #GBusType instead of a #GDBusConnection.
 *
 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
 * You can then call %sobject_manager_client_new_for_bus_finish() to get the result of the operation.
 *
 * See %sobject_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor.
sIvoid
%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)
{
  g_async_initable_new_async (%sTYPE_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", %sobject_manager_client_get_proxy_type, NULL);
}

s�/**
 * %sobject_manager_client_new_for_bus_finish:
 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %sobject_manager_client_new_for_bus().
 * @error: Return location for error or %%NULL
 *
 * Finishes an operation started with %sobject_manager_client_new_for_bus().
 *
 * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.
s�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;
}

s�/**
 * %sobject_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 %sobject_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection.
 *
 * The calling thread is blocked until a reply is received.
 *
 * See %sobject_manager_client_new_for_bus() for the asynchronous version of this constructor.
 *
 * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.
sqGDBusObjectManager *
%sobject_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 (%sTYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);
  if (ret != NULL)
    return G_DBUS_OBJECT_MANAGER (ret);
  else
    return NULL;
}

(RRRNR`RRR,RRR'R((RR@((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_object_manager_client8s� 
	&
 &&
 &cCst|j�dkr;|jd|d|d|jf�n|jr�t|tj�r_d}ndt|tj�rzd}nIt|tj�r�d}n.t|tj	�r�d}nt
dj|��|j|jj
d	|d|d|ft��n|jd
|df�dS(Nis%*s *
%*s * Since: %s
RsThe D-Bus interfacesThe D-Bus methodsThe D-Bus signalsThe D-Bus propertysCannot handle object "{}"s0%*s *
%*s * Deprecated: %s has been deprecated.
s%*s */
(RR0RR:t
isinstanceRt	InterfacetMethodtSignaltPropertyRR!RNR`R,(Rtobjtftindenttthing((s&/usr/share/glib-2.0/codegen/codegen.pyRa]
s"						 cCsf|jjd|j�|jj|jjd|j|j|j|jft��|jjd�dS(Ns�/* ------------------------------------------------------------------------
 * Code for interface %s
 * ------------------------------------------------------------------------
 */

s�/**
 * SECTION:%s
 * @title: %s
 * @short_description: Generated C code for the %s D-Bus interface
 *
 * This section contains code for working with the #%s D-Bus interface in C.
 */
s
(RRR'RNR`R*R,(RR@((s&/usr/share/glib-2.0/codegen/codegen.pytgenerate_interface_introu
s&cCs�|j�x�|jD]{}|j|�|j|�|j|�|j|�|j|�|j|�|j|�|j	|�|j
|�qW|jr�|j�|j
�ndS(N(RORR�RcRvRwRxR}R~R�R�RR�R�(RR@((s&/usr/share/glib-2.0/codegen/codegen.pyRJ�
s








	
(RKRLRRORSRVRcRvRwRxR}R~R�R�R�R�RaR�RJ(((s&/usr/share/glib-2.0/codegen/codegen.pyRMes.		�	'		�	�	W		�	4	��	��a	��	�&		(
tsysRRRRRR RRRM(((s&/usr/share/glib-2.0/codegen/codegen.pyt<module>s	��1