summaryrefslogtreecommitdiff
path: root/tools/glib-client-gen.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/glib-client-gen.py')
-rw-r--r--tools/glib-client-gen.py78
1 files changed, 16 insertions, 62 deletions
diff --git a/tools/glib-client-gen.py b/tools/glib-client-gen.py
index e68e1a575..a0fecf083 100644
--- a/tools/glib-client-gen.py
+++ b/tools/glib-client-gen.py
@@ -28,8 +28,8 @@ import xml.dom.minidom
from getopt import gnu_getopt
from libtpcodegen import file_set_contents, key_by_name, u
-from libglibcodegen import Signature, type_to_gtype, \
- get_docstring, xml_escape, get_deprecated
+from libglibcodegen import (Signature, type_to_gtype,
+ get_docstring, xml_escape, get_deprecated, copy_into_gvalue)
NS_TP = "http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
@@ -186,6 +186,7 @@ class Generator(object):
self.b(' TpProxySignalConnection *sc)')
self.b('{')
+ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS')
self.b(' GValueArray *args = g_value_array_new (%d);' % len(args))
self.b(' GValue blank = { 0 };')
self.b(' guint i;')
@@ -194,6 +195,7 @@ class Generator(object):
self.b('')
self.b(' for (i = 0; i < %d; i++)' % len(args))
self.b(' g_value_array_append (args, &blank);')
+ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS')
self.b('')
for i, arg in enumerate(args):
@@ -203,36 +205,8 @@ class Generator(object):
self.b(' g_value_unset (args->values + %d);' % i)
self.b(' g_value_init (args->values + %d, %s);' % (i, gtype))
- if gtype == 'G_TYPE_STRING':
- self.b(' g_value_set_string (args->values + %d, %s);'
- % (i, name))
- elif marshaller == 'BOXED':
- self.b(' g_value_set_boxed (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_UCHAR':
- self.b(' g_value_set_uchar (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_BOOLEAN':
- self.b(' g_value_set_boolean (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_INT':
- self.b(' g_value_set_int (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_UINT':
- self.b(' g_value_set_uint (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_INT64':
- self.b(' g_value_set_int (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_UINT64':
- self.b(' g_value_set_uint64 (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_DOUBLE':
- self.b(' g_value_set_double (args->values + %d, %s);'
- % (i, name))
- else:
- assert False, ("Don't know how to put %s in a GValue"
- % gtype)
+ self.b(' ' + copy_into_gvalue('args->values + %d' % i,
+ gtype, marshaller, name))
self.b('')
self.b(' tp_proxy_signal_connection_v0_take_results (sc, args);')
@@ -282,12 +256,14 @@ class Generator(object):
self.b(' weak_object);')
self.b('')
+ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS')
if len(args) > 0:
self.b(' g_value_array_free (args);')
else:
self.b(' if (args != NULL)')
self.b(' g_value_array_free (args);')
self.b('')
+ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS')
self.b(' g_object_unref (tpproxy);')
self.b('}')
@@ -553,11 +529,13 @@ class Generator(object):
self.b(' return;')
self.b(' }')
self.b('')
+ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS')
self.b(' args = g_value_array_new (%d);' % len(out_args))
self.b(' g_value_init (&blank, G_TYPE_INT);')
self.b('')
self.b(' for (i = 0; i < %d; i++)' % len(out_args))
self.b(' g_value_array_append (args, &blank);')
+ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS')
for i, arg in enumerate(out_args):
name, info, tp_type, elt = arg
@@ -567,36 +545,8 @@ class Generator(object):
self.b(' g_value_unset (args->values + %d);' % i)
self.b(' g_value_init (args->values + %d, %s);' % (i, gtype))
- if gtype == 'G_TYPE_STRING':
- self.b(' g_value_take_string (args->values + %d, %s);'
- % (i, name))
- elif marshaller == 'BOXED':
- self.b(' g_value_take_boxed (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_UCHAR':
- self.b(' g_value_set_uchar (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_BOOLEAN':
- self.b(' g_value_set_boolean (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_INT':
- self.b(' g_value_set_int (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_UINT':
- self.b(' g_value_set_uint (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_INT64':
- self.b(' g_value_set_int (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_UINT64':
- self.b(' g_value_set_uint (args->values + %d, %s);'
- % (i, name))
- elif gtype == 'G_TYPE_DOUBLE':
- self.b(' g_value_set_double (args->values + %d, %s);'
- % (i, name))
- else:
- assert False, ("Don't know how to put %s in a GValue"
- % gtype)
+ self.b(' ' + copy_into_gvalue('args->values + %d' % i,
+ gtype, marshaller, name))
self.b(' tp_proxy_pending_call_v0_take_results (user_data, '
'NULL, args);')
@@ -665,11 +615,13 @@ class Generator(object):
self.b(' error, user_data, weak_object);')
self.b('')
+ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS')
if len(out_args) > 0:
self.b(' g_value_array_free (args);')
else:
self.b(' if (args != NULL)')
self.b(' g_value_array_free (args);')
+ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS')
self.b('}')
self.b('')
@@ -942,11 +894,13 @@ class Generator(object):
self.b('')
+ self.b(' G_GNUC_BEGIN_IGNORE_DEPRECATIONS')
if len(out_args) > 0:
self.b(' g_value_array_free (args);')
else:
self.b(' if (args != NULL)')
self.b(' g_value_array_free (args);')
+ self.b(' G_GNUC_END_IGNORE_DEPRECATIONS')
self.b('}')
self.b('')