+static GVariant *dbus_getrotationangle(GDBusConnection *conn,
+ const gchar *sender, const gchar *path, const gchar *iface, const gchar *name,
+ GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data)
+{
+ int ret;
+ int display_index;
+ enum hal_device_display_rotation_angle angle;
+
+ g_variant_get(param, "(i)", &display_index);
+ ret = hal_device_display_get_rotation_angle(display_index, &angle);
+ if (ret < 0)
+ angle = HAL_DEVICE_DISPLAY_ROTATION_ANGLE_UNKNOWN;
+
+ return g_variant_new("(ii)", ret, angle);
+}
+
+static GVariant *dbus_setrotationangle(GDBusConnection *conn,
+ const gchar *sender, const gchar *path, const gchar *iface, const gchar *name,
+ GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data)
+{
+ int ret;
+ int display_index;
+ enum hal_device_display_rotation_angle angle;
+ enum hal_device_display_rotation_direction direction;
+
+ g_variant_get(param, "(iii)", &display_index, &angle, &direction);
+ ret = hal_device_display_set_rotation_angle(display_index, angle, direction);
+
+ return g_variant_new("(i)", ret);
+}
+