�
X5�Uc�����������@���s����d��d�l��Z��d��d�l�Z�d�d�l�m�Z�d�d�l�m�Z�d�d�l�m�Z�d�d�l�m�Z�d�d�l�m�Z�d�d�l�m�Z�d	����Z	�d
����Z
�d����Z�d����Z�d
����Z
�d����Z�d����Z�e�d�k�r��e����n��d�S(���i����Ni���(���t���config(���t���utils(���t	���dbustypes(���t���parser(���t���codegen(���t���codegen_docbookc���������C���s(���x!�|��D]�}�|�j��|�k�r�|�Sq�Wd��S(���N(���t���namet���None(���t���arg_listt���arg_namet���a(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���find_arg ���s����
c���������C���s+���x$�|��j��D]�}�|�j�|�k�r
�|�Sq
�Wd��S(���N(���t���methodsR���R���(���t���ifacet���methodt���m(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���find_method&���s����c���������C���s+���x$�|��j��D]�}�|�j�|�k�r
�|�Sq
�Wd��S(���N(���t���signalsR���R���(���R
���t���signalR���(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���find_signal,���s����c���������C���s+���x$�|��j��D]�}�|�j�|�k�r
�|�Sq
�Wd��S(���N(���t
���propertiesR���R���(���R
���t���propR���(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt	���find_prop2���s����c���������C���s���d��}�x'�|��D]�}	�|	�j�|�k�r
�|	�}�Pq
�q
�W|�d��k�rO�t�d�|�����n��d��}
�|�rt�|�|���}�|�d��k�r��t�d�|�|�f�����n��|�r��t�|�j�|���}�|�d��k�r��t�|�j�|���}�|�d��k�r��t�d�|�|�|�f�����q��n��|�}
�q�|�}
�n��|�r�t�|�|���}
�|
�d��k�r<t�d�|�|�f�����n��|�r�t�|
�j�|���}�|�d��k�r|t�d�|�|�|�f�����n��|�}
�q�|
�}
�nI�|�r�t	�|�|���}�|�d��k�r�t�d�|�|�f�����n��|�}
�n�|�}
�|
�j
�j�d�t�j
�|�|�����d��S(���Ns���No interface %ss���No method %s on interface %ss&���No arg %s on method %s on interface %ss���No signal %s on interface %ss&���No arg %s on signal %s on interface %ss���No property %s on interface %si����(���R���R���t���RuntimeErrorR���R���t���in_argst���out_argsR���t���argsR���t���annotationst���insertR���t
���Annotation(���t
���iface_listR
���R���R���R���t���argt���keyt���valuet	���iface_objt���it
���target_objt
���method_objt���arg_objt
���signal_objt���prop_obj(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���apply_annotation8���sJ����
					c������
���C���sB��x;|�D]3\�}�}�}�|�j��d���}�|�d�k�r��|�d�|�!}�|�|�d�}�|�j��d���}�|�d�k�r��|�|�d�}�|�d�|�!}�|�j��d���}�|�d�|�!}�t�|��|�d��|�d��|�|�|���q:t�|��|�d��|�d��d��|�|���q�|�j��d���}�|�d�k�r:|�d�|�!}�|�|�d�}	�t�|��|�d��d��|	�d��|�|���q�|�j��d	���}�|�d�k�r|�d�|�!}
�|
�j�d
���}�|
�d�|�!}�|
�|�d�}�|�j��d���}�|�d�k�r�|�|�d�}�|�j��d���}�|�d�|�!}�t�|��|�|�d��d��|�|�|���q:t�|��|�|�d��d��d��|�|���q�|�}�t�|��|�d��d��d��d��|�|���q�Wd��S(���Ns���::i����i����i���t���[i���t���]t���:s���()t���.(���t���findR)���R���t���rfind(���R���t���annotation_listt���whatR ���R!���t���posR
���R���R���R���t���combinedR���(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���apply_annotationsf���sB����


""
"


""c����������C���sg��t��j�d���}��|��j�d�d�d�d�d�d�d�d	��|��j�d�d
�d�d�d�d�d�d
��|��j�d�d�d�d�d�d�d�d��|��j�d�d�d�d�d�d��|��j�d�d�d�d�d�d��|��j�d�d�d�d�d�d��|��j�d�d�d�d�d�d�d�d�d�d��|��j����\�}�}�g��}�xO�|�D]G�}�t�|�d���}�|�j����}�|�j����t�j�|���}�|�j	�|���qW|�j
�d��k�r}t�|�|�j
���n��x$�|�D]�}�|�j
�|�j�|�j���q�W|�j�}	�t�j�|�|	���}
�|	�r�|
�j����}�n��|�j�}�|�rVt�|�d�d ���}
�t�|�d!�d ���}�t�j�|�|�j�|�j�|�j�|
�|
�|���}�|�j����}�|
�j����|�j����n��t�j�d"���d��S(#���Ns���%prog [options]t����s���--xml-filest���metavart���FILEt���actiont���appendt���helps���D-Bus introspection XML files���--interface-prefixt���PREFIXt���defaults<���String to strip from D-Bus interface names for code and docss
���--c-namespacet	���NAMESPACEs)���The namespace to use for generated C codes���--c-generate-object-managert
���store_truesC���Generate a GDBusObjectManagerClient subclass when generating C codes���--generate-c-codet���OUTFILESs ���Generate C code in OUTFILES.[ch]s���--generate-docbooks2���Generate Docbook in OUTFILES-org.Project.IFace.xmls
���--annotatet���nargsi���s���WHAT KEY VALUEs*���Add annotation (may be used several times)t���rbs���.ht���ws���.ci����(���t���optparset���OptionParsert
���add_optiont
���parse_argst���opent���readt���closeR���t���parse_dbus_xmlt���extendt���annotateR���R4���t���post_processt���interface_prefixt���c_namespacet���generate_docbookR���t���DocbookCodeGeneratort���generatet���generate_c_codeR���t
���CodeGeneratort���c_generate_object_managert���syst���exit(���t
���arg_parsert���optsR���t
���all_ifacest���fnamet���ft���xml_datat
���parsed_ifacesR#���t���docbookt���docbook_gent���rett���c_codet���ht���ct���gen(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���codegen_main����sZ����!


			

t���__main__(���RV���RC���R5���R����R���R���R���R���R���R���R���R���R���R)���R4���Rf���t���__name__(����(����(����sY���/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/glib-2.0/codegen/codegen_main.pyt���<module>���s ���					.	-	5