atspi: add pause / resume reading functionality 51/209651/4
authorRadoslaw Cybulski <r.cybulski@partner.samsung.com>
Tue, 9 Jul 2019 14:33:27 +0000 (16:33 +0200)
committerRadoslaw Cybulski <r.cybulski@partner.samsung.com>
Fri, 2 Aug 2019 08:04:24 +0000 (08:04 +0000)
@tizen_only

Change-Id: I00dd618dcbed153eb4cf7783f3da5ba6d6b8c0af

src/lib/elementary/elm_atspi_bridge.c
src/lib/elementary/elm_atspi_bridge.h

index b717126..757231a 100644 (file)
@@ -7500,6 +7500,33 @@ _on_read_command_call(void *data, const Eldbus_Message *msg, Eldbus_Pending *pen
 }
 
 EAPI void
+elm_atspi_bridge_utils_pause_resume(Eina_Bool pause)
+{
+   Eldbus_Message *msg;
+   Eldbus_Message_Iter *iter;
+   Eo *bridge = _elm_atspi_bridge_get();
+   if (!bridge)
+     {
+        ERR("AT-SPI: Atspi bridge is not enabled.");
+        return;
+     }
+   ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd);
+   if (!pd->a11y_bus)
+     {
+        ERR("AT-SPI: a11y bus is not set.");
+        return;
+     }
+
+   msg = eldbus_message_method_call_new(ELM_ATSPI_DIRECT_READ_BUS,
+                                        ELM_ATSPI_DIRECT_READ_PATH,
+                                        ELM_ATSPI_DIRECT_READ_INTERFACE,
+                                        "PauseResume");
+   iter = eldbus_message_iter_get(msg);
+   eldbus_message_iter_arguments_append(iter, "b", pause);
+   eldbus_connection_send(pd->a11y_bus, msg, NULL, NULL, -1);
+}
+
+EAPI void
 elm_atspi_bridge_utils_say(const char* text,
                            Eina_Bool discardable,
                            const Elm_Atspi_Say_Signal_Cb func,
index c1025b2..f4b0e4a 100644 (file)
@@ -29,6 +29,8 @@ typedef void (*Elm_Atspi_Say_Signal_Cb)(void *data, const char *say_signal);
  * “ReadingCancelled”
  * “ReadingStopped”
  * “ReadingSkipped”
+ * “ReadingPaused”
+ * “ReadingResumed”
  * @param data The user data to be passed to the callback function
  *
  * @ingroup Elm_Atspi_Bridge
@@ -41,6 +43,14 @@ EAPI void elm_atspi_bridge_utils_say(const char* text,
                                      Eina_Bool discardable,
                                      const Elm_Atspi_Say_Signal_Cb func,
                                      const void *data);
+
+/**
+ * @brief Pause / resume screen-reader reading
+ *
+ * @param pause True, when reading should be paused, otherwise reading will be resumed.
+ */
+EAPI void elm_atspi_bridge_utils_pause_resume(Eina_Bool pause);
+
 //
 //TIZEN_ONLY(20161027) - Export elm_atspi_bridge_utils_is_screen_reader_enabled
 /**