diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2009-03-17 02:38:35 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-03-17 02:38:35 +0800 |
commit | 89c57232e6091d86ed79f7a5c2010011f0e2bb11 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /gnome-2-26/tools/glib-interfaces-gen.py | |
parent | 2baaa7ae3c3ac983a8019cd93a73426c7e081735 (diff) | |
download | gsoc2013-empathy-EMPATHY_2_26_0_svn2702.tar gsoc2013-empathy-EMPATHY_2_26_0_svn2702.tar.gz gsoc2013-empathy-EMPATHY_2_26_0_svn2702.tar.bz2 gsoc2013-empathy-EMPATHY_2_26_0_svn2702.tar.lz gsoc2013-empathy-EMPATHY_2_26_0_svn2702.tar.xz gsoc2013-empathy-EMPATHY_2_26_0_svn2702.tar.zst gsoc2013-empathy-EMPATHY_2_26_0_svn2702.zip |
Wrongly createdEMPATHY_2_26_0_svn2702
svn path=/tags/EMPATHY_2_26_0; revision=2701
Diffstat (limited to 'gnome-2-26/tools/glib-interfaces-gen.py')
-rw-r--r-- | gnome-2-26/tools/glib-interfaces-gen.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/gnome-2-26/tools/glib-interfaces-gen.py b/gnome-2-26/tools/glib-interfaces-gen.py deleted file mode 100644 index 741626ceb..000000000 --- a/gnome-2-26/tools/glib-interfaces-gen.py +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -from sys import argv, stdout, stderr -import xml.dom.minidom - -from libglibcodegen import NS_TP, camelcase_to_upper, get_docstring, \ - get_descendant_text, get_by_path - -class Generator(object): - def __init__(self, prefix, implfile, declfile, dom): - self.prefix = prefix + '_' - self.impls = open(implfile, 'w') - self.decls = open(declfile, 'w') - self.spec = get_by_path(dom, "spec")[0] - - def __call__(self): - for file in self.decls, self.impls: - self.do_header(file) - self.do_body() - - # Header - def do_header(self, file): - file.write('/* Generated from: ') - file.write(get_descendant_text(get_by_path(self.spec, 'title'))) - version = get_by_path(self.spec, "version") - if version: - file.write(' version ' + get_descendant_text(version)) - file.write('\n\n') - for copyright in get_by_path(self.spec, 'copyright'): - stdout.write(get_descendant_text(copyright)) - stdout.write('\n') - file.write('\n') - file.write(get_descendant_text(get_by_path(self.spec, 'license'))) - file.write(get_descendant_text(get_by_path(self.spec, 'docstring'))) - file.write(""" - */ - -""") - - # Body - def do_body(self): - for iface in self.spec.getElementsByTagName('interface'): - self.do_iface(iface) - - def do_iface(self, iface): - parent_name = get_by_path(iface, '../@name') - self.decls.write("""\ -/** - * %(IFACE_DEFINE)s: - * - * The interface name "%(name)s" - */ -#define %(IFACE_DEFINE)s \\ -"%(name)s" -""" % {'IFACE_DEFINE' : (self.prefix + 'IFACE_' + \ - parent_name).upper().replace('/', ''), - 'name' : iface.getAttribute('name')}) - - self.decls.write(""" -/** - * %(IFACE_QUARK_DEFINE)s: - * - * Expands to a call to a function that returns a quark for the interface \ -name "%(name)s" - */ -#define %(IFACE_QUARK_DEFINE)s \\ - (%(iface_quark_func)s ()) - -GQuark %(iface_quark_func)s (void); - -""" % {'IFACE_QUARK_DEFINE' : (self.prefix + 'IFACE_QUARK_' + \ - parent_name).upper().replace('/', ''), - 'iface_quark_func' : (self.prefix + 'iface_quark_' + \ - parent_name).lower().replace('/', ''), - 'name' : iface.getAttribute('name')}) - - self.impls.write("""\ -GQuark -%(iface_quark_func)s (void) -{ - static GQuark quark = 0; - - if (G_UNLIKELY (quark == 0)) - { - quark = g_quark_from_static_string ("%(name)s"); - } - - return quark; -} - -""" % {'iface_quark_func' : (self.prefix + 'iface_quark_' + \ - parent_name).lower().replace('/', ''), - 'name' : iface.getAttribute('name')}) - -if __name__ == '__main__': - argv = argv[1:] - Generator(argv[0], argv[1], argv[2], xml.dom.minidom.parse(argv[3]))() |