diff options
Diffstat (limited to 'test/glib/test-service-glib.c')
| -rw-r--r-- | test/glib/test-service-glib.c | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/test/glib/test-service-glib.c b/test/glib/test-service-glib.c index e44310f3..b0043e80 100644 --- a/test/glib/test-service-glib.c +++ b/test/glib/test-service-glib.c @@ -80,6 +80,8 @@ gboolean my_object_many_uppercase (MyObject *obj, const char * const *in, char *  gboolean my_object_str_hash_len (MyObject *obj, GHashTable *table, guint *len, GError **error); +gboolean my_object_send_car (MyObject *obj, GValueArray *invals, GValueArray **outvals, GError **error); +  gboolean my_object_get_hash (MyObject *obj, GHashTable **table, GError **error);  gboolean my_object_increment_val (MyObject *obj, GError **error); @@ -502,6 +504,32 @@ my_object_str_hash_len (MyObject *obj, GHashTable *table, guint *len, GError **e  }  gboolean +my_object_send_car (MyObject *obj, GValueArray *invals, GValueArray **outvals, GError **error) +{ +  if (invals->n_values != 3 +      || G_VALUE_TYPE (g_value_array_get_nth (invals, 0)) != G_TYPE_STRING +      || G_VALUE_TYPE (g_value_array_get_nth (invals, 1)) != G_TYPE_UINT +      || G_VALUE_TYPE (g_value_array_get_nth (invals, 2)) != G_TYPE_VALUE) +    { +      g_set_error (error, +		   MY_OBJECT_ERROR, +		   MY_OBJECT_ERROR_FOO, +		   "invalid incoming values"); +      return FALSE; +    } +  *outvals = g_value_array_new (2); +  g_value_array_append (*outvals, NULL); +  g_value_init (g_value_array_get_nth (*outvals, (*outvals)->n_values - 1), G_TYPE_UINT); +  g_value_set_uint (g_value_array_get_nth (*outvals, (*outvals)->n_values - 1), +		    g_value_get_uint (g_value_array_get_nth (invals, 1)) + 1); +  g_value_array_append (*outvals, NULL); +  g_value_init (g_value_array_get_nth (*outvals, (*outvals)->n_values - 1), DBUS_TYPE_G_OBJECT_PATH); +  g_value_set_boxed (g_value_array_get_nth (*outvals, (*outvals)->n_values - 1), +		     g_strdup ("/org/freedesktop/DBus/Tests/MyTestObject2")); +  return TRUE; +} + +gboolean  my_object_get_hash (MyObject *obj, GHashTable **ret, GError **error)  {    GHashTable *table;  | 
