diff options
Diffstat (limited to 'src/Tizen.WebView/Interop')
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.ChromiumEwk.Context.cs | 41 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.ChromiumEwk.CookieManager.cs | 46 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.ChromiumEwk.Error.cs | 49 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs | 60 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.ChromiumEwk.View.cs | 127 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.ChromiumEwk.cs | 29 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.Elementary.cs | 37 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.Evas.cs | 27 | ||||
-rw-r--r-- | src/Tizen.WebView/Interop/Interop.Libraries.cs | 24 |
9 files changed, 440 insertions, 0 deletions
diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Context.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Context.cs new file mode 100644 index 0000000..7930e1c --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Context.cs @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class ChromiumEwk + { + public enum CacheModel + { + DocumentViewer, + DocumentBrowser, + PrimaryWebBrowser + } + + [DllImport(Libraries.ChromiumEwk)] + internal static extern IntPtr ewk_context_cookie_manager_get(IntPtr context); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_context_cache_model_set(IntPtr context, CacheModel model); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern CacheModel ewk_context_cache_model_get(IntPtr context); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.CookieManager.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.CookieManager.cs new file mode 100644 index 0000000..23fb70e --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.CookieManager.cs @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class ChromiumEwk + { + public enum CookieAcceptPolicy + { + Always, + Never, + NoThirdParty + } + + public enum CookiePersistentStorage + { + Text, + SqlLite + } + + [DllImport(Libraries.ChromiumEwk)] + internal static extern void ewk_cookie_manager_accept_policy_set(IntPtr manager, CookieAcceptPolicy policy); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern void ewk_cookie_manager_cookies_clear(IntPtr manager); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern void ewk_cookie_manager_persistent_storage_set(IntPtr manager, string path, CookiePersistentStorage storage); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Error.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Error.cs new file mode 100644 index 0000000..7d22a3d --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Error.cs @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class ChromiumEwk + { + [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_error_url_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _ewk_error_url_get(IntPtr error); + + internal static string ewk_error_url_get(IntPtr error) + { + IntPtr ptr = _ewk_error_url_get(error); + return Marshal.PtrToStringAnsi(ptr); + } + + [DllImport(Libraries.ChromiumEwk)] + internal static extern int ewk_error_code_get(IntPtr error); + + [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_error_description_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _ewk_error_description_get(IntPtr error); + + internal static string ewk_error_description_get(IntPtr error) + { + IntPtr ptr = _ewk_error_description_get(error); + return Marshal.PtrToStringAnsi(ptr); + } + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_error_cancellation_get(IntPtr error); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs new file mode 100644 index 0000000..ab7a5ef --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class ChromiumEwk + { + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_javascript_enabled_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_javascript_enabled_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_loads_images_automatically_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_loads_images_automatically_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_default_text_encoding_name_set(IntPtr settings, string encoding); + + [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_settings_default_text_encoding_name_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _ewk_settings_default_text_encoding_name_get(IntPtr settings); + + internal static string ewk_settings_default_text_encoding_name_get(IntPtr settings) + { + IntPtr ptr = _ewk_settings_default_text_encoding_name_get(settings); + return Marshal.PtrToStringAnsi(ptr); + } + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_default_font_size_set(IntPtr settings, int size); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern int ewk_settings_default_font_size_get(IntPtr settings); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.View.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.View.cs new file mode 100644 index 0000000..0f8a17c --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.View.cs @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class ChromiumEwk + { + [DllImport(Libraries.ChromiumEwk)] + internal static extern IntPtr ewk_view_add(IntPtr evas); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern IntPtr ewk_view_context_get(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern IntPtr ewk_view_settings_get(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_url_set(IntPtr obj, string url); + + [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_url_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _ewk_view_url_get(IntPtr obj); + + internal static string ewk_view_url_get(IntPtr obj) + { + IntPtr ptr = _ewk_view_url_get(obj); + return Marshal.PtrToStringAnsi(ptr); + } + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_html_string_load(IntPtr obj, string html, string baseUrl, string unreachableUrl); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_reload(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_stop(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_back(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_forward(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_back_possible(IntPtr obj); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_forward_possible(IntPtr obj); + + internal delegate void ScriptExcuteCallback(IntPtr obj, IntPtr resultValue, IntPtr userData); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_script_execute(IntPtr obj, string script, ScriptExcuteCallback callback, IntPtr userData); + + [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_title_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _ewk_view_title_get(IntPtr obj); + + internal static string ewk_view_title_get(IntPtr obj) + { + IntPtr ptr = _ewk_view_url_get(obj); + return Marshal.PtrToStringAnsi(ptr); + } + + [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_user_agent_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _ewk_view_user_agent_get(IntPtr obj); + + internal static string ewk_view_user_agent_get(IntPtr obj) + { + IntPtr ptr = _ewk_view_user_agent_get(obj); + return Marshal.PtrToStringAnsi(ptr); + } + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_user_agent_set(IntPtr obj, string userAgent); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_focus_set(IntPtr obj, bool focused); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_focus_get(IntPtr obj); + + [StructLayout(LayoutKind.Sequential, CharSet =CharSet.Ansi)] + internal struct ScriptMessage + { + public IntPtr name; + public IntPtr body; + } + + internal delegate void ScriptMessageCallback(IntPtr obj, ScriptMessage message); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_javascript_message_handler_add(IntPtr obj, ScriptMessageCallback callback, string name); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_view_evaluate_javascript(IntPtr obj, string name, string result); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.cs new file mode 100644 index 0000000..cd9ca31 --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.cs @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class ChromiumEwk + { + [DllImport(Libraries.ChromiumEwk)] + internal static extern int ewk_init(); + + [DllImport(Libraries.ChromiumEwk)] + internal static extern int ewk_shutdown(); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.Elementary.cs b/src/Tizen.WebView/Interop/Interop.Elementary.cs new file mode 100644 index 0000000..e981fe2 --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.Elementary.cs @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class Elementary + { + [DllImport(Libraries.Elementary)] + internal static extern IntPtr elm_layout_add(IntPtr obj); + + [DllImport(Libraries.Elementary)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool elm_layout_theme_set(IntPtr obj, string klass, string group, string style); + + [DllImport(Libraries.Elementary)] + internal static extern void elm_object_part_content_set(IntPtr obj, string part, IntPtr content); + + [DllImport(Libraries.Elementary)] + internal static extern void elm_object_focus_allow_set(IntPtr obj, bool enable); + } +}
\ No newline at end of file diff --git a/src/Tizen.WebView/Interop/Interop.Evas.cs b/src/Tizen.WebView/Interop/Interop.Evas.cs new file mode 100644 index 0000000..52eef2c --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.Evas.cs @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class Evas + { + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_evas_get(IntPtr obj); + } +} diff --git a/src/Tizen.WebView/Interop/Interop.Libraries.cs b/src/Tizen.WebView/Interop/Interop.Libraries.cs new file mode 100644 index 0000000..7dab1c4 --- /dev/null +++ b/src/Tizen.WebView/Interop/Interop.Libraries.cs @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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. + */ +internal static partial class Interop +{ + private static class Libraries + { + internal const string ChromiumEwk = "libchromium-ewk.so"; + internal const string Elementary = "libelementary.so.1"; + internal const string Evas = "libevas.so.1"; + } +} |