summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2005-07-09 17:52:52 +0000
committerColin Walters <walters@verbum.org>2005-07-09 17:52:52 +0000
commitb1ae5399f82a88ba397d55f224d00f437564bac5 (patch)
tree5318877a5a8dffa85d2fa9e624e80fb9e9715dc4 /test
parent0ccef79d7e9d1b19cdb10b3a147b64b41686905d (diff)
2005-07-09 Colin Walters <walters@verbum.org>
* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST): Define. * glib/dbus-binding-tool-glib.c (generate_glue): Handle Const annotation. * glib/dbus-gobject.c (arg_iterate): Update to parse constval too. (method_dir_signature_from_object_info): Handle arg_iterate change. (write_interface): Ditto. (lookup_object_info): Don't barf if format_version is > 0. (invoke_object_method): Handle arg constness. * glib/dbus-gidl.c (struct ArgInfo): Add annotations. (arg_info_new): Create. (arg_info_unref): Destroy. (arg_info_get_annotations, arg_info_get_annotation) (arg_info_add_annotation): New functions. * glib/dbus-gidl.h: Prototype them. * glib/dbus-gparser.c (parse_annotation): Allow annotations in args, disallow them in properties. (parse_annotation): Handle arg annotations. * test/glib/test-service-glib.xml: * test/glib/test-service-glib.c: Update to make some methods const.
Diffstat (limited to 'test')
-rw-r--r--test/glib/test-service-glib.c12
-rw-r--r--test/glib/test-service-glib.xml8
2 files changed, 12 insertions, 8 deletions
diff --git a/test/glib/test-service-glib.c b/test/glib/test-service-glib.c
index 580eb107..853b401a 100644
--- a/test/glib/test-service-glib.c
+++ b/test/glib/test-service-glib.c
@@ -58,14 +58,14 @@ gboolean my_object_uppercase (MyObject *obj, const char *str, char **ret, GError
gboolean my_object_many_args (MyObject *obj, guint32 x, const char *str, double trouble, double *d_ret, char **str_ret, GError **error);
-gboolean my_object_many_return (MyObject *obj, guint32 *arg0, char **arg1, gint32 *arg2, guint32 *arg3, guint32 *arg4, char **arg5, GError **error);
+gboolean my_object_many_return (MyObject *obj, guint32 *arg0, char **arg1, gint32 *arg2, guint32 *arg3, guint32 *arg4, const char **arg5, GError **error);
gboolean my_object_recursive1 (MyObject *obj, GArray *array, guint32 *len_ret, GError **error);
gboolean my_object_recursive2 (MyObject *obj, guint32 reqlen, GArray **array, GError **error);
gboolean my_object_many_stringify (MyObject *obj, GHashTable *vals, GHashTable **ret, GError **error);
-gboolean my_object_objpath (MyObject *obj, const char *in, char **arg1, GError **error);
+gboolean my_object_objpath (MyObject *obj, const char *in, const char **arg1, GError **error);
gboolean my_object_get_objs (MyObject *obj, GPtrArray **objs, GError **error);
@@ -310,14 +310,14 @@ my_object_many_args (MyObject *obj, guint32 x, const char *str, double trouble,
}
gboolean
-my_object_many_return (MyObject *obj, guint32 *arg0, char **arg1, gint32 *arg2, guint32 *arg3, guint32 *arg4, char **arg5, GError **error)
+my_object_many_return (MyObject *obj, guint32 *arg0, char **arg1, gint32 *arg2, guint32 *arg3, guint32 *arg4, const char **arg5, GError **error)
{
*arg0 = 42;
*arg1 = g_strdup ("42");
*arg2 = -67;
*arg3 = 2;
*arg4 = 26;
- *arg5 = g_strdup ("hello world");
+ *arg5 = "hello world"; /* Annotation specifies as const */
return TRUE;
}
@@ -432,7 +432,7 @@ my_object_many_stringify (MyObject *obj, GHashTable /* char * -> GValue * */ *va
}
gboolean
-my_object_objpath (MyObject *obj, const char *incoming, char **outgoing, GError **error)
+my_object_objpath (MyObject *obj, const char *incoming, const char **outgoing, GError **error)
{
if (strcmp (incoming, "/org/freedesktop/DBus/Tests/MyTestObject"))
{
@@ -442,7 +442,7 @@ my_object_objpath (MyObject *obj, const char *incoming, char **outgoing, GError
"invalid incoming object");
return FALSE;
}
- *outgoing = g_strdup ("/org/freedesktop/DBus/Tests/MyTestObject2");
+ *outgoing = "/org/freedesktop/DBus/Tests/MyTestObject2";
return TRUE;
}
diff --git a/test/glib/test-service-glib.xml b/test/glib/test-service-glib.xml
index c299a80c..84524a10 100644
--- a/test/glib/test-service-glib.xml
+++ b/test/glib/test-service-glib.xml
@@ -32,7 +32,9 @@
<arg type="i" direction="out" />
<arg type="u" direction="out" />
<arg type="u" direction="out" />
- <arg type="s" direction="out" />
+ <arg type="s" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.Const" value=""/>
+ </arg>
</method>
<method name="Stringify">
@@ -71,7 +73,9 @@
<method name="Objpath">
<arg type="o" direction="in"/>
- <arg type="o" direction="out"/>
+ <arg type="o" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.Const" value=""/>
+ </arg>
</method>
<method name="GetObjs">