2 * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Runtime.InteropServices;
20 internal static partial class Interop
22 internal static partial class ChromiumEwk
24 [DllImport(Libraries.ChromiumEwk)]
25 internal static extern IntPtr ewk_view_add(IntPtr evas);
27 [DllImport(Libraries.ChromiumEwk)]
28 internal static extern IntPtr ewk_view_context_get(IntPtr obj);
30 [DllImport(Libraries.ChromiumEwk)]
31 internal static extern IntPtr ewk_view_settings_get(IntPtr obj);
33 [DllImport(Libraries.ChromiumEwk)]
34 [return: MarshalAs(UnmanagedType.U1)]
35 internal static extern bool ewk_view_url_set(IntPtr obj, string url);
37 [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_url_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
38 internal static extern IntPtr _ewk_view_url_get(IntPtr obj);
40 internal static string ewk_view_url_get(IntPtr obj)
42 IntPtr ptr = _ewk_view_url_get(obj);
43 return Marshal.PtrToStringAnsi(ptr);
46 [DllImport(Libraries.ChromiumEwk)]
47 [return: MarshalAs(UnmanagedType.U1)]
48 internal static extern bool ewk_view_html_string_load(IntPtr obj, string html, string baseUrl, string unreachableUrl);
50 [DllImport(Libraries.ChromiumEwk)]
51 [return: MarshalAs(UnmanagedType.U1)]
52 internal static extern bool ewk_view_reload(IntPtr obj);
54 [DllImport(Libraries.ChromiumEwk)]
55 [return: MarshalAs(UnmanagedType.U1)]
56 internal static extern bool ewk_view_stop(IntPtr obj);
58 [DllImport(Libraries.ChromiumEwk)]
59 [return: MarshalAs(UnmanagedType.U1)]
60 internal static extern bool ewk_view_back(IntPtr obj);
62 [DllImport(Libraries.ChromiumEwk)]
63 [return: MarshalAs(UnmanagedType.U1)]
64 internal static extern bool ewk_view_forward(IntPtr obj);
66 [DllImport(Libraries.ChromiumEwk)]
67 [return: MarshalAs(UnmanagedType.U1)]
68 internal static extern bool ewk_view_back_possible(IntPtr obj);
70 [DllImport(Libraries.ChromiumEwk)]
71 [return: MarshalAs(UnmanagedType.U1)]
72 internal static extern bool ewk_view_forward_possible(IntPtr obj);
74 internal delegate void ScriptExcuteCallback(IntPtr obj, IntPtr resultValue, IntPtr userData);
76 [DllImport(Libraries.ChromiumEwk)]
77 [return: MarshalAs(UnmanagedType.U1)]
78 internal static extern bool ewk_view_script_execute(IntPtr obj, string script, ScriptExcuteCallback callback, IntPtr userData);
80 [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_title_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
81 internal static extern IntPtr _ewk_view_title_get(IntPtr obj);
83 internal static string ewk_view_title_get(IntPtr obj)
85 IntPtr ptr = _ewk_view_title_get(obj);
86 return Marshal.PtrToStringAnsi(ptr);
89 [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_user_agent_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]
90 internal static extern IntPtr _ewk_view_user_agent_get(IntPtr obj);
92 internal static string ewk_view_user_agent_get(IntPtr obj)
94 IntPtr ptr = _ewk_view_user_agent_get(obj);
95 return Marshal.PtrToStringAnsi(ptr);
98 [DllImport(Libraries.ChromiumEwk)]
99 [return: MarshalAs(UnmanagedType.U1)]
100 internal static extern bool ewk_view_user_agent_set(IntPtr obj, string userAgent);
102 [DllImport(Libraries.ChromiumEwk)]
103 [return: MarshalAs(UnmanagedType.U1)]
104 internal static extern bool ewk_view_focus_set(IntPtr obj, bool focused);
106 [DllImport(Libraries.ChromiumEwk)]
107 [return: MarshalAs(UnmanagedType.U1)]
108 internal static extern bool ewk_view_focus_get(IntPtr obj);
110 [StructLayout(LayoutKind.Sequential, CharSet =CharSet.Ansi)]
111 internal struct ScriptMessage
117 internal delegate void ScriptMessageCallback(IntPtr obj, ScriptMessage message);
119 [DllImport(Libraries.ChromiumEwk)]
120 [return: MarshalAs(UnmanagedType.U1)]
121 internal static extern bool ewk_view_javascript_message_handler_add(IntPtr obj, ScriptMessageCallback callback, string name);
123 [DllImport(Libraries.ChromiumEwk)]
124 [return: MarshalAs(UnmanagedType.U1)]
125 internal static extern bool ewk_view_evaluate_javascript(IntPtr obj, string name, string result);