summaryrefslogtreecommitdiffstats
path: root/bindings/php5
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2012-02-27 11:33:35 +0100
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2012-02-27 11:33:35 +0100
commit2a9d50b69dd5149c0b26450a6f1fa417c1ae538c (patch)
treece0550d3612982de815a98ef15b452d4936e74db /bindings/php5
parent8aba7d48404f3345ce65496e50f5cfec1aafb6dc (diff)
downloadlasso-2a9d50b69dd5149c0b26450a6f1fa417c1ae538c.tar.gz
lasso-2a9d50b69dd5149c0b26450a6f1fa417c1ae538c.tar.xz
lasso-2a9d50b69dd5149c0b26450a6f1fa417c1ae538c.zip
[bindings php5] improve generation of php call stubs by using type case helpers, raise exception in unknown case
Diffstat (limited to 'bindings/php5')
-rw-r--r--bindings/php5/php_code.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/bindings/php5/php_code.py b/bindings/php5/php_code.py
index 0eab9c19..27874108 100644
--- a/bindings/php5/php_code.py
+++ b/bindings/php5/php_code.py
@@ -312,12 +312,14 @@ function lassoRegisterIdWsf2DstService($prefix, $href) {
php_args.append('%s = null' % arg_name)
else:
php_args.append(arg_name)
- if arg_type in ('char*', 'const char*', 'gchar*', 'const gchar*') or \
- arg_type in ['int', 'gint', 'gboolean', 'const gboolean'] or \
- arg_type in self.binding_data.enums:
+ if is_xml_node(arg) or is_boolean(arg) or is_cstring(arg) or \
+ is_int(arg, self.binding_data) or is_glist(arg) or \
+ is_hashtable(arg) or is_time_t_pointer(arg):
c_args.append(arg_name)
+ elif is_object(arg):
+ c_args.append('%s->_cptr' % arg_name)
else:
- c_args.append('%s._cptr' % arg_name)
+ raise Exception('Does not handle argument of type: %s' % ((m, arg),))
if is_out(arg):
php_args.pop()
php_args.append(arg_name)