Support dbus IPC 37/262137/1
authorInHong Han <inhong1.han@samsung.com>
Fri, 4 Jun 2021 08:11:56 +0000 (17:11 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 3 Aug 2021 05:18:34 +0000 (14:18 +0900)
Change-Id: Ic0b2d09229987fba9d94df0437c161e0d6feda8a

ISEDefaultNUI/ISEDefaultNUI.cs
ISEDefaultNUI/Interop/Interop.SclNui.cs

index b612639..f642e40 100644 (file)
@@ -5,6 +5,9 @@ using Tizen.NUI.Components;
 using Tizen;
 using System.Collections.Generic;
 using Tizen.Applications;
+using System.Threading;
+using System.Threading.Tasks;
+using static Interop.SclNuiCSharp;
 
 namespace ISEDefaultNUI
 {
@@ -14,11 +17,13 @@ namespace ISEDefaultNUI
         {
             base.OnCreate();
             Initialize();
+            Task.Run(() => DbusInitialize());
         }
 
         protected override void OnTerminate()
         {            
-            base.OnTerminate();           
+            base.OnTerminate();
+            SclDbusShutdown();
         }
 
         void Initialize()
@@ -92,6 +97,16 @@ namespace ISEDefaultNUI
             }
         }
 
+        static async void DbusInitialize()
+        {
+            await Task.Run(() =>
+            {
+                int ret = SclDbusInit();
+                if (ret != 0)
+                    Log.Info("NUIIME", "Failed to initialize dbus");
+            });
+        }
+
         static void Main(string[] args)
         {
             var app = new Program();
index a78389f..26e69b4 100644 (file)
@@ -33,6 +33,7 @@ namespace NUITemplate1.Interop
  */
 
 using System;
+using System.Collections.Generic;
 using System.Runtime.InteropServices;
 using Tizen;
 using Tizen.Internals;
@@ -226,5 +227,92 @@ internal static partial class Interop
 
         [DllImport(Libraries.SclNui, EntryPoint = "scl_nui_set_drag_state_changed_cb")]
         internal static extern int SclNuiDragStateChangedCb(DragStateChangedCallback callbackFunction);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_init")]
+        internal static extern int SclDbusInit();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_shutdown")]
+        internal static extern int SclDbusShutdown();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_imengine")]
+        internal static extern void SclDbusSetImengine(string engineId, string moduleName);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_unset_imengine")]
+        internal static extern void SclDbusUnsetImengine();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_flush_imengine")]
+        internal static extern void SclDbusFlushImengine();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_reset_imengine")]
+        internal static extern void SclDbusResetImengine();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_send_imengine_event")]
+        internal static extern void SclDbusSendImengineEvent(int command, UInt32 value);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_process_key_event")]
+        internal static extern void SclDbusProcessKeyEvent(UInt32 code, UInt32 mask, UInt32 layout, UInt32 devClass, UInt32 devSubclass, string devName, UInt32 serial, bool needSurroundingText);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_focus_in")]
+        internal static extern void SclDbusFocusIn();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_focus_out")]
+        internal static extern void SclDbusFocusOut();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_update_cursor_position")]
+        internal static extern void SclDbusUpdateCursorPosition(int position);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_autocapital_type")]
+        internal static extern void SclDbusSetAutocapitalType(UInt32 type);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_prediction_allow")]
+        internal static extern void SclDbusSetPredictionAllow(UInt32 predictionAllow);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_reset_input_context")]
+        internal static extern void SclDbusResetInputContext();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_layout")]
+        internal static extern void SclDbusSetLayout(UInt32 layout);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_imdata")]
+        internal static extern void SclDbusSetImdata(string imdata, UInt32 len);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_input_hint")]
+        internal static extern void SclDbusSetInputHint(UInt32 hint);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_update_bidi_direction")]
+        internal static extern void SclDbusUpdateBidiDirection(UInt32 direction);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_trigger_property")]
+        internal static extern void SclDbusTriggerProperty(string property);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_show_candidate_more_window")]
+        internal static extern void SclDbusShowCandidateMoreWindow();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_hide_candidate_more_window")]
+        internal static extern void SclDbusHideCandidateMoreWindow();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_select_aux")]
+        internal static extern void SclDbusSelectAux(UInt32 item);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_select_candidate")]
+        internal static extern void SclDbusSelectCandidate(UInt32 item);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_candidate_table_page_up")]
+        internal static extern void SclDbusCandidateTablePageUp();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_candidate_table_page_down")]
+        internal static extern void SclDbusCandidateTablePageDown();
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_change_candidate_page_size")]
+        internal static extern void SclDbusChangeCandidatePageSize(UInt32 size);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_set_candidate_item_layout")]
+        internal static extern void SclDbusSetCandidateItemLayout(List<UInt32> item);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_change_candidate_number")]
+        internal static extern void SclDbusChangeCandidateNumber(UInt32 pageNum);
+
+        [DllImport(Libraries.SclNui, EntryPoint = "scl_dbus_long_press_candidate_item")]
+        internal static extern void SclDbusLongPressCandidateItem(UInt32 index);
     }
 }