diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-01-04 09:16:00 +0000 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-01-04 09:16:00 +0000 |
commit | fcd8739f49ce231f002604d31068087daa6e2fb7 (patch) | |
tree | b5503fe3e7ebe5e336be5553b187e4bceade2902 /bindings/php5/wrapper_source.py | |
parent | 914a176d99e7686cb3d0207a4d1429bf6c944cc5 (diff) | |
download | lasso-fcd8739f49ce231f002604d31068087daa6e2fb7.tar.gz lasso-fcd8739f49ce231f002604d31068087daa6e2fb7.tar.xz lasso-fcd8739f49ce231f002604d31068087daa6e2fb7.zip |
Bindings: simplify GList handling
Diffstat (limited to 'bindings/php5/wrapper_source.py')
-rw-r--r-- | bindings/php5/wrapper_source.py | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/bindings/php5/wrapper_source.py b/bindings/php5/wrapper_source.py index 0045cf6e..0f0b7bcd 100644 --- a/bindings/php5/wrapper_source.py +++ b/bindings/php5/wrapper_source.py @@ -134,7 +134,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) elif arg_type(type) == 'GList*': elem_type = make_arg(element_type(type)) if not arg_type(elem_type): - raise Exception('unknown elem_type: ' + repr(type)) + raise Exception('unknown element-type: ' + repr(type)) if is_cstring(elem_type): function = 'set_array_from_list_of_strings' free_function = 'free_glist(%(c_variable)s, (GFunc)free);' @@ -145,7 +145,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) function = 'set_array_from_list_of_objects' free_function = 'g_list_free(%(c_variable)s);' else: - raise Exception('unknown elem_type: ' + repr(type)) + raise Exception('unknown element-type: ' + repr(type)) print >> self.fd, ' %s(%s, &%s);' % (function, c_variable, zval_name) if free: print >> self.fd, ' ', free_function % q @@ -205,13 +205,13 @@ PHP_MSHUTDOWN_FUNCTION(lasso) } ''' elif vtype == 'GList*': - if options.get('elem_type') == 'char*': + if options.get('element-type') == 'char*': print >> self.fd, '''\ set_array_from_list_of_strings(return_c_value, &return_value); ''' if free: print >> self.fd, ' free_glist(&return_c_value, (GFunc)free);' - elif options.get('elem_type') == 'xmlNode*': + elif options.get('element-type') == 'xmlNode*': print >> self.fd, '''\ set_array_from_list_of_xmlnodes(return_c_value, &return_value); ''' @@ -224,7 +224,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) if free: print >> self.fd, ' free_glist(&return_c_value, NULL);' elif vtype == 'GHashTable*': - if options.get('elem_type') not in ('char*', 'xmlNode*'): + if options.get('element-type') not in ('char*', 'xmlNode*'): print >> self.fd, '''\ set_array_from_hashtable_of_objects(return_c_value, &return_value); ''' @@ -267,7 +267,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) print >> self.fd, ' %s %s = NULL;' % ('char*', arg_name) print >> self.fd, ' %s %s_str = NULL;' % ('char*', arg_name) print >> self.fd, ' %s %s_len = 0;' % ('int', arg_name) - elif arg_type in ['int', 'gint', 'gboolean', 'const gboolean'] + self.binding_data.enums: + elif arg_type in ['int', 'gint', 'GType', 'gboolean', 'const gboolean'] + self.binding_data.enums: parse_tuple_format.append('l') parse_tuple_args.append('&%s' % arg_name) print >> self.fd, ' %s %s;' % ('long', arg_name) @@ -318,11 +318,11 @@ PHP_MSHUTDOWN_FUNCTION(lasso) print >> self.fd, ' ZEND_FETCH_RESOURCE(cvt_%s, PhpGObjectPtr *, &zval_%s, -1, PHP_LASSO_SERVER_RES_NAME, le_lasso_server);' % (arg[1], arg[1]) print >> self.fd, ' %s = (%s)cvt_%s->obj;' % (arg[1], arg[0], arg[1]) elif f.startswith('a'): - elem_type = arg[2].get('elem_type') - if elem_type == 'char*': + element_type = arg[2].get('element-type') + if element_type == 'char*': print >> self.fd, ' %(name)s = get_list_from_array_of_strings(zval_%(name)s);' % {'name': arg[1]} else: - print >> sys.stderr, 'E: In %(function)s arg %(name)s is of type GList<%(elem)s>' % { 'function': m.name, 'name': arg[1], 'elem': elem_type } + print >> sys.stderr, 'E: In %(function)s arg %(name)s is of type GList<%(elem)s>' % { 'function': m.name, 'name': arg[1], 'elem': element_type } elif f == 'l': pass else: @@ -348,8 +348,8 @@ PHP_MSHUTDOWN_FUNCTION(lasso) elif argtype == 'xmlNode*': print >> self.fd, ' xmlFree(%s);' % argname elif f.startswith('a'): - elem_type = arg[2].get('elem_type') - if elem_type == 'char*': + element_type = arg[2].get('element-type') + if element_type == 'char*': print >> self.fd, ' if (%(name)s) {' % { 'name': arg[1] } print >> self.fd, ' free_glist(&%(name)s,(GFunc)free);' % { 'name': arg[1] } print >> self.fd, ' }' @@ -365,9 +365,9 @@ PHP_MSHUTDOWN_FUNCTION(lasso) self.generate_setter(c.name, m_type, m_name, m_options) def generate_getter(self, klassname, m_type, m_name, m_options): - if m_type == 'GList*' and m_options.get('elem_type') not in ('char*', 'xmlNode*') \ - and not self.is_object(m_options.get('elem_type')): - print >> sys.stderr, 'E: GList argument : %s of %s, with type : %s' % (m_name, klassname, m_options.get('elem_type')) + if m_type == 'GList*' and m_options.get('element-type') not in ('char*', 'xmlNode*') \ + and not self.is_object(m_options.get('element-type')): + print >> sys.stderr, 'E: GList argument : %s of %s, with type : %s' % (m_name, klassname, m_options.get('element-type')) return function_name = '%s_%s_get' % (klassname, format_as_camelcase(m_name)) @@ -409,9 +409,9 @@ PHP_MSHUTDOWN_FUNCTION(lasso) def generate_setter(self, klassname, m_type, m_name, m_options): - if m_type == 'GList*' and m_options.get('elem_type') not in ('char*', 'xmlNode*') \ - and not self.is_object(m_options.get('elem_type')): - print >> sys.stderr, 'E: GList argument : %s of %s, with type : %s' % (m_name, klassname, m_options.get('elem_type')) + if m_type == 'GList*' and m_options.get('element-type') not in ('char*', 'xmlNode*') \ + and not self.is_object(m_options.get('element-type')): + print >> sys.stderr, 'E: GList argument : %s of %s, with type : %s' % (m_name, klassname, m_options.get('element-type')) return function_name = '%s_%s_set' % (klassname, format_as_camelcase(m_name)) @@ -435,7 +435,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) parse_tuple_args.append('&%s_str, &%s_len' % (arg_name, arg_name)) print >> self.fd, ' %s %s_str = NULL;' % ('char*', arg_name) print >> self.fd, ' %s %s_len = 0;' % ('int', arg_name) - elif arg_type in ['int', 'gint', 'gboolean', 'const gboolean'] + self.binding_data.enums: + elif arg_type in ['int', 'gint', 'GType', 'gboolean', 'const gboolean'] + self.binding_data.enums: parse_tuple_format += 'l' parse_tuple_args.append('&%s' % arg_name) print >> self.fd, ' %s %s;' % ('long', arg_name) @@ -486,7 +486,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) print >> self.fd, ' this->%s = NULL;' % m_name print >> self.fd, ' }' elif arg_type == 'GList*': - if m_options.get('elem_type') == 'char*': + if m_options.get('element-type') == 'char*': print >> self.fd, ''' if (this->%(name)s) { /* free existing list */ @@ -495,7 +495,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) } this->%(name)s = get_list_from_array_of_strings(zval_%(name)s); ''' % { 'name': m_name } - elif m_options.get('elem_type') == 'xmlNode*': + elif m_options.get('element-type') == 'xmlNode*': print >> self.fd, ''' if (this->%(name)s) { /* free existing list */ @@ -509,7 +509,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) free_glist(&this->%(name)s, (GFunc)g_object_unref); this->%(name)s = get_list_from_array_of_objects(zval_%(name)s); ''' % { 'name': m_name } - elif arg_type == 'GHashTable*' and arg_options.get('elem_type') != 'char*': + elif arg_type == 'GHashTable*' and arg_options.get('element-type') != 'char*': print >> self.fd, '''\ { GHashTable *oldhash = this->%(name)s; |