summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-01-12 15:40:21 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-01-12 15:40:21 +0000
commitb77c9cf2e8b3e631a09baf319117a8cf215bc0c2 (patch)
treebd08b1fd7a3c4befd82b3231223ff4944676bdd8
parent7142d50d16981d69db575e30e7d9883896802294 (diff)
downloadlasso-b77c9cf2e8b3e631a09baf319117a8cf215bc0c2.tar.gz
lasso-b77c9cf2e8b3e631a09baf319117a8cf215bc0c2.tar.xz
lasso-b77c9cf2e8b3e631a09baf319117a8cf215bc0c2.zip
Bindings: add support for time_t to bindings, add support for 'string' type for list in java binding
-rw-r--r--bindings/java/lang.py4
-rw-r--r--bindings/php5/wrapper_source.py2
-rw-r--r--bindings/python/lang.py2
-rw-r--r--bindings/utils.py2
4 files changed, 5 insertions, 5 deletions
diff --git a/bindings/java/lang.py b/bindings/java/lang.py
index 6b470699..7d413ab5 100644
--- a/bindings/java/lang.py
+++ b/bindings/java/lang.py
@@ -108,7 +108,7 @@ def is_collection(type):
return type in ('const GList*','GList*','GHashTable*')
def is_string_type(type):
- return type in ['char*', 'const char*', 'gchar*', 'const gchar*']
+ return type in ['string', 'char*', 'const char*', 'gchar*', 'const gchar*']
class Binding:
def __init__(self, binding_data):
@@ -538,7 +538,7 @@ protected static native void destroy(long cptr);
print >> fd, ' if (%s)' % arg_name
print >> fd, ' g_free(%s);' % arg_name
elif arg_type == 'GList*' or arg_type == 'const GList*':
- if arg_options.get('element-type') == 'char*':
+ if is_string_type(arg_options.get('element-type')):
print >> fd, ' free_glist(&%s, (GFunc)free);' % arg_name
elif is_object(element_type(arg)):
print >> fd, ' free_glist(&%s, (GFunc)g_object_unref);' % arg_name
diff --git a/bindings/php5/wrapper_source.py b/bindings/php5/wrapper_source.py
index 0f0b7bcd..a937a6cb 100644
--- a/bindings/php5/wrapper_source.py
+++ b/bindings/php5/wrapper_source.py
@@ -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', 'GType', 'gboolean', 'const gboolean'] + self.binding_data.enums:
+ elif arg_type in ['time_t', '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)
diff --git a/bindings/python/lang.py b/bindings/python/lang.py
index 5d87df6a..417a59da 100644
--- a/bindings/python/lang.py
+++ b/bindings/python/lang.py
@@ -819,7 +819,7 @@ register_constants(PyObject *d)
parse_tuple_format.append('s')
parse_tuple_args.append('&%s' % arg_name)
arg_def = ' %s %s = NULL;' % (arg[0], arg[1])
- elif arg_type in ['GType', 'int', 'gint', 'gboolean', 'const gboolean'] + self.binding_data.enums:
+ elif arg_type in ['GType', 'int', 'gint', 'gboolean', 'const gboolean', 'time_t'] + self.binding_data.enums:
parse_tuple_format.append('i')
parse_tuple_args.append('&%s' % arg_name)
if arg_options.get('default'):
diff --git a/bindings/utils.py b/bindings/utils.py
index 86594cd3..b355f28a 100644
--- a/bindings/utils.py
+++ b/bindings/utils.py
@@ -197,7 +197,7 @@ def is_int(arg, binding_data):
return arg_type(arg) in [ 'int', 'gint', 'long', 'glong'] + binding_data.enums
def is_time_t_pointer(arg):
- return re.match(r'\btime_t*', unconstify(arg_type(arg)))
+ return re.match(r'\btime_t\*', unconstify(arg_type(arg)))
def is_transfer_full(arg):
transfer = arg[2].get('transfer')