Revert "Revert "(ATSPI) Add ATSPI for Say(), Pause(), Resume(), SetForcefully(),...
authorSeungho, Baek <sbsh.baek@samsung.com>
Tue, 21 Jan 2020 08:36:29 +0000 (17:36 +0900)
committerSeungho, Baek <sbsh.baek@samsung.com>
Tue, 21 Jan 2020 08:36:29 +0000 (17:36 +0900)
This reverts commit 1865e04474d3a0a8988442efb8edfef9541dfd0b.

dali-csharp-binder/file.list
dali-csharp-binder/src/atspi.cpp [new file with mode: 0755]

index 1068aaf..87995ed 100755 (executable)
@@ -38,7 +38,8 @@ dali_csharp_binder_tizen_src_files = \
   ${dali_csharp_binder_dir}/src/widget_view_manager.cpp \
   ${dali_csharp_binder_dir}/src/font-client.cpp \
   ${dali_csharp_binder_dir}/src/transition-effects.cpp \
-  ${dali_csharp_binder_dir}/src/actor-devel.cpp
+  ${dali_csharp_binder_dir}/src/actor-devel.cpp \
+  ${dali_csharp_binder_dir}/src/atspi.cpp
 
 # module: csharp-binder, backend: tizen-wearable
 dali_csharp_binder_tizen_wearable_src_files = \
diff --git a/dali-csharp-binder/src/atspi.cpp b/dali-csharp-binder/src/atspi.cpp
new file mode 100755 (executable)
index 0000000..a30b47e
--- /dev/null
@@ -0,0 +1,125 @@
+/** Copyright (c) 2019 Samsung Electronics Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef CSHARP_ATSPI
+#define CSHARP_ATSPI
+#endif
+
+#include "common.h"
+#include <dali/devel-api/adaptor-framework/atspi-accessibility.h>
+#include <dali/integration-api/debug.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SWIGEXPORT int SWIGSTDCALL csharp_dali_accessibility_GetStatus(void *jarg1)
+{
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *)jarg1;
+  if (!arg1)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control is null", 0);
+    return -1;
+  }
+  return Dali::AtspiAccessibility::GetStatus();
+}
+
+using callbackFuncType = void(*)(int);
+callbackFuncType callBack;
+void sayTestCallback(std::string result)
+{
+  DALI_LOG_ERROR("sayTestCallback() result=%s ", result.c_str());
+
+  if(callBack)
+  {
+    if(result == "ReadingCancelled")
+    {
+      callBack(1);
+    }
+    else if(result == "ReadingStopped")
+    {
+      callBack(2);
+    }
+    else if(result == "ReadingSkipped")
+    {
+      callBack(3);
+    }
+    else
+    {
+      callBack(-1);
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL csharp_dali_accessibility_say(void *jarg1, char* jarg2, bool jarg3, void *jarg4)
+{
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *)jarg1;
+  std::string arg2(jarg2);
+  bool arg3 = jarg3;
+  callBack = (callbackFuncType)jarg4;
+
+  if (!arg1)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control is null", 0);
+    return;
+  }
+
+  Dali::AtspiAccessibility::Say(arg2, jarg3, sayTestCallback);
+
+  DALI_LOG_ERROR("csharp_dali_accessibility_say() arg3=%d", arg3);
+}
+
+SWIGEXPORT void SWIGSTDCALL csharp_dali_accessibility_pause_resume(void *jarg1, bool jarg2)
+{
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *)jarg1;
+  bool arg2 = jarg2;
+
+  if (!arg1)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control is null", 0);
+    return;
+  }
+
+  if(arg2 == true)
+  {
+    Dali::AtspiAccessibility::Pause();
+  }
+  else
+  {
+    Dali::AtspiAccessibility::Resume();
+  }
+
+  DALI_LOG_ERROR("csharp_dali_accessibility_pause_resume() arg2=%d", arg2);
+}
+
+SWIGEXPORT void SWIGSTDCALL csharp_dali_accessibility_Enable(void *jarg1, bool jarg2)
+{
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *)jarg1;
+
+  if (!arg1)
+  {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control is null", 0);
+    return;
+  }
+
+  Dali::AtspiAccessibility::SetForcefully(jarg2);
+
+  DALI_LOG_ERROR("csharp_dali_accessibility_Enable() jarg2=%d \n", jarg2);
+}
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file