Introduce Tizen.WebView
[platform/core/csapi/webview.git] / Tizen.WebView / Interop / Interop.ChromiumEwk.View.cs
1 /*\r
2  * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the License);\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an AS IS BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 using System;\r
18 using System.Runtime.InteropServices;\r
19 \r
20 internal static partial class Interop\r
21 {\r
22     internal static partial class ChromiumEwk\r
23     {\r
24         [DllImport(Libraries.ChromiumEwk)]\r
25         internal static extern IntPtr ewk_view_add(IntPtr evas);\r
26 \r
27         [DllImport(Libraries.ChromiumEwk)]\r
28         internal static extern IntPtr ewk_view_context_get(IntPtr obj);\r
29 \r
30         [DllImport(Libraries.ChromiumEwk)]\r
31         internal static extern IntPtr ewk_view_settings_get(IntPtr obj);\r
32 \r
33         [DllImport(Libraries.ChromiumEwk)]\r
34         [return: MarshalAs(UnmanagedType.U1)]\r
35         internal static extern bool ewk_view_url_set(IntPtr obj, string url);\r
36 \r
37         [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_url_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]\r
38         internal static extern IntPtr _ewk_view_url_get(IntPtr obj);\r
39 \r
40         internal static string ewk_view_url_get(IntPtr obj)\r
41         {\r
42             IntPtr ptr = _ewk_view_url_get(obj);\r
43             return Marshal.PtrToStringAnsi(ptr);\r
44         }\r
45 \r
46         [DllImport(Libraries.ChromiumEwk)]\r
47         [return: MarshalAs(UnmanagedType.U1)]\r
48         internal static extern bool ewk_view_html_string_load(IntPtr obj, string html, string baseUrl, string unreachableUrl);\r
49 \r
50         [DllImport(Libraries.ChromiumEwk)]\r
51         [return: MarshalAs(UnmanagedType.U1)]\r
52         internal static extern bool ewk_view_reload(IntPtr obj);\r
53 \r
54         [DllImport(Libraries.ChromiumEwk)]\r
55         [return: MarshalAs(UnmanagedType.U1)]\r
56         internal static extern bool ewk_view_stop(IntPtr obj);\r
57 \r
58         [DllImport(Libraries.ChromiumEwk)]\r
59         [return: MarshalAs(UnmanagedType.U1)]\r
60         internal static extern bool ewk_view_back(IntPtr obj);\r
61 \r
62         [DllImport(Libraries.ChromiumEwk)]\r
63         [return: MarshalAs(UnmanagedType.U1)]\r
64         internal static extern bool ewk_view_forward(IntPtr obj);\r
65 \r
66         [DllImport(Libraries.ChromiumEwk)]\r
67         [return: MarshalAs(UnmanagedType.U1)]\r
68         internal static extern bool ewk_view_back_possible(IntPtr obj);\r
69 \r
70         [DllImport(Libraries.ChromiumEwk)]\r
71         [return: MarshalAs(UnmanagedType.U1)]\r
72         internal static extern bool ewk_view_forward_possible(IntPtr obj);\r
73 \r
74         internal delegate void ScriptExcuteCallback(IntPtr obj, IntPtr resultValue, IntPtr userData);\r
75 \r
76         [DllImport(Libraries.ChromiumEwk)]\r
77         [return: MarshalAs(UnmanagedType.U1)]\r
78         internal static extern bool ewk_view_script_execute(IntPtr obj, string script, ScriptExcuteCallback callback, IntPtr userData);\r
79 \r
80         [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_title_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]\r
81         internal static extern IntPtr _ewk_view_title_get(IntPtr obj);\r
82 \r
83         internal static string ewk_view_title_get(IntPtr obj)\r
84         {\r
85             IntPtr ptr = _ewk_view_url_get(obj);\r
86             return Marshal.PtrToStringAnsi(ptr);\r
87         }\r
88 \r
89         [DllImport(Libraries.ChromiumEwk, EntryPoint = "ewk_view_user_agent_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)]\r
90         internal static extern IntPtr _ewk_view_user_agent_get(IntPtr obj);\r
91 \r
92         internal static string ewk_view_user_agent_get(IntPtr obj)\r
93         {\r
94             IntPtr ptr = _ewk_view_user_agent_get(obj);\r
95             return Marshal.PtrToStringAnsi(ptr);\r
96         }\r
97 \r
98         [DllImport(Libraries.ChromiumEwk)]\r
99         [return: MarshalAs(UnmanagedType.U1)]\r
100         internal static extern bool ewk_view_user_agent_set(IntPtr obj, string userAgent);\r
101 \r
102         [DllImport(Libraries.ChromiumEwk)]\r
103         [return: MarshalAs(UnmanagedType.U1)]\r
104         internal static extern bool ewk_view_focus_set(IntPtr obj, bool focused);\r
105 \r
106         [DllImport(Libraries.ChromiumEwk)]\r
107         [return: MarshalAs(UnmanagedType.U1)]\r
108         internal static extern bool ewk_view_focus_get(IntPtr obj);\r
109 \r
110         [StructLayout(LayoutKind.Sequential, CharSet =CharSet.Ansi)]\r
111         internal struct ScriptMessage\r
112         {\r
113             public IntPtr name;\r
114             public IntPtr body;\r
115         }\r
116 \r
117         internal delegate void ScriptMessageCallback(IntPtr obj, ScriptMessage message);\r
118 \r
119         [DllImport(Libraries.ChromiumEwk)]\r
120         [return: MarshalAs(UnmanagedType.U1)]\r
121         internal static extern bool ewk_view_javascript_message_handler_add(IntPtr obj, ScriptMessageCallback callback, string name);\r
122 \r
123         [DllImport(Libraries.ChromiumEwk)]\r
124         [return: MarshalAs(UnmanagedType.U1)]\r
125         internal static extern bool ewk_view_evaluate_javascript(IntPtr obj, string name, string result);\r
126     }\r
127 }\r