Merge branch 'master' into mgorse
[platform/core/uifw/at-spi2-atk.git] / atk-adaptor / value-adaptor.c
index 4c0c8d8..5002627 100644 (file)
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
-impl_get_minimumValue (DBusMessageIter * iter,
+impl_get_MinimumValue (DBusMessageIter * iter,
                        void *user_data)
 {
   AtkValue *value = (AtkValue *) user_data;
@@ -46,8 +46,7 @@ impl_get_minimumValue (DBusMessageIter * iter,
   if (g_value_transform (&src, &dest))
     {
       dub = g_value_get_double (&dest);
-      dbus_message_iter_append_basic (iter, DBUS_TYPE_DOUBLE, &dub);
-      return TRUE;
+      return droute_return_v_double (iter, dub);
     }
   else
     {
@@ -56,7 +55,7 @@ impl_get_minimumValue (DBusMessageIter * iter,
 }
 
 static dbus_bool_t
-impl_get_maximumValue (DBusMessageIter * iter,
+impl_get_MaximumValue (DBusMessageIter * iter,
                        void *user_data)
 {
   AtkValue *value = (AtkValue *) user_data;
@@ -72,8 +71,7 @@ impl_get_maximumValue (DBusMessageIter * iter,
   if (g_value_transform (&src, &dest))
     {
       dub = g_value_get_double (&dest);
-      dbus_message_iter_append_basic (iter, DBUS_TYPE_DOUBLE, &dub);
-      return TRUE;
+      return droute_return_v_double (iter, dub);
     }
   else
     {
@@ -82,7 +80,7 @@ impl_get_maximumValue (DBusMessageIter * iter,
 }
 
 static dbus_bool_t
-impl_get_minimumIncrement (DBusMessageIter * iter,
+impl_get_MinimumIncrement (DBusMessageIter * iter,
                            void *user_data)
 {
   AtkValue *value = (AtkValue *) user_data;
@@ -98,8 +96,7 @@ impl_get_minimumIncrement (DBusMessageIter * iter,
   if (g_value_transform (&src, &dest))
     {
       dub = g_value_get_double (&dest);
-      dbus_message_iter_append_basic (iter, DBUS_TYPE_DOUBLE, &dub);
-      return TRUE;
+      return droute_return_v_double (iter, dub);
     }
   else
     {
@@ -108,7 +105,7 @@ impl_get_minimumIncrement (DBusMessageIter * iter,
 }
 
 static dbus_bool_t
-impl_get_currentValue (DBusMessageIter * iter,
+impl_get_CurrentValue (DBusMessageIter * iter,
                        void *user_data)
 {
   AtkValue *value = (AtkValue *) user_data;
@@ -124,8 +121,7 @@ impl_get_currentValue (DBusMessageIter * iter,
   if (g_value_transform (&src, &dest))
     {
       dub = g_value_get_double (&dest);
-      dbus_message_iter_append_basic (iter, DBUS_TYPE_DOUBLE, &dub);
-      return TRUE;
+      return droute_return_v_double (iter, dub);
     }
   else
     {
@@ -141,10 +137,17 @@ impl_set_currentValue (DBusMessageIter * iter,
   GValue src = {0};
   GValue dest = {0};
   gdouble dub;
+  DBusMessageIter iter_variant;
 
   g_return_val_if_fail (ATK_IS_VALUE (user_data), FALSE);
 
-  dbus_message_iter_get_basic (iter, &dub);
+  dbus_message_iter_recurse (iter, &iter_variant);
+  if (dbus_message_iter_get_arg_type (&iter_variant) != DBUS_TYPE_DOUBLE)
+  {
+    G_WARNING ("TODO: Support setting value from a non-double");
+    return FALSE;
+  }
+  dbus_message_iter_get_basic (&iter_variant, &dub);
   g_value_init (&src, G_TYPE_DOUBLE);
   g_value_set_double (&src, dub);
 
@@ -162,10 +165,10 @@ impl_set_currentValue (DBusMessageIter * iter,
 }
 
 static DRouteProperty properties[] = {
-  {impl_get_minimumValue, NULL, "minimumValue"},
-  {impl_get_maximumValue, NULL, "maximumValue"},
-  {impl_get_minimumIncrement, NULL, "minimumIncrement"},
-  {impl_get_currentValue, impl_set_currentValue, "currentValue"},
+  {impl_get_MinimumValue, NULL, "MinimumValue"},
+  {impl_get_MaximumValue, NULL, "MaximumValue"},
+  {impl_get_MinimumIncrement, NULL, "MinimumIncrement"},
+  {impl_get_CurrentValue, impl_set_currentValue, "CurrentValue"},
   {NULL, NULL, NULL}
 };