123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840 |
- //
- // UniWebViewInterface.cs
- // Created by Wang Wei(@onevcat) on 2017-04-11.
- //
- // This file is a part of UniWebView Project (https://uniwebview.com)
- // By purchasing the asset, you are allowed to use this code in as many as projects
- // you want, only if you publish the final products under the name of the same account
- // used for the purchase.
- //
- // This asset and all corresponding files (such as source code) are provided on an
- // “as is” basis, without warranty of any kind, express of implied, including but not
- // limited to the warranties of merchantability, fitness for a particular purpose, and
- // noninfringement. In no event shall the authors or copyright holders be liable for any
- // claim, damages or other liability, whether in action of contract, tort or otherwise,
- // arising from, out of or in connection with the software or the use of other dealing in the software.
- //
- #if (UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX || UNITY_IOS) && !UNITY_EDITOR_WIN && !UNITY_EDITOR_LINUX
-
- using UnityEngine;
- using System;
- using System.Runtime.InteropServices;
- using AOT;
- using System.Reflection;
-
- public class UniWebViewInterface {
- static UniWebViewInterface() {
- ConnectMessageSender();
- RegisterChannel();
- }
-
- delegate void UnitySendMessageDelegate(IntPtr objectName, IntPtr methodName, IntPtr parameter);
-
- private const string DllLib =
- #if UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX
- "UniWebView";
- #else
- "__Internal";
- #endif
-
- private static bool correctPlatform =
- #if UNITY_EDITOR_OSX
- Application.platform == RuntimePlatform.OSXEditor ||
- Application.platform == RuntimePlatform.IPhonePlayer || // Support for Device Simulator package
- Application.platform == RuntimePlatform.Android; // Support for Device Simulator package
- #elif UNITY_STANDALONE_OSX
- Application.platform == RuntimePlatform.OSXPlayer;
- #else
- Application.platform == RuntimePlatform.IPhonePlayer;
- #endif
-
- [DllImport(DllLib)]
- private static extern void uv_connectMessageSender(
- [MarshalAs(UnmanagedType.FunctionPtr)] UnitySendMessageDelegate sendMessageDelegate
- );
- static void ConnectMessageSender() {
- UniWebViewLogger.Instance.Info("Connecting to native side message sender.");
- CheckPlatform();
- uv_connectMessageSender(SendMessage);
- }
-
- [MonoPInvokeCallback(typeof(UnitySendMessageDelegate))]
- private static void SendMessage(IntPtr namePtr, IntPtr methodPtr, IntPtr parameterPtr) {
- string name = Marshal.PtrToStringAuto(namePtr);
- string method = Marshal.PtrToStringAuto(methodPtr);
- string parameters = Marshal.PtrToStringAuto(parameterPtr);
-
- UniWebViewLogger.Instance.Verbose(
- "Received message sent from native. Name: " + name + " Method: " + method + " Params: " + parameters
- );
-
- var listener = UniWebViewNativeListener.GetListener(name);
- if (listener) {
- MethodInfo methodInfo = typeof(UniWebViewNativeListener).GetMethod(method);
- if (methodInfo != null) {
- methodInfo.Invoke(listener, new object[] { parameters });
- }
- }
- }
-
- delegate string ChannelMethodDelegate(IntPtr namePtr, IntPtr methodPtr, IntPtr parameterPtr);
-
- [DllImport(DllLib)]
- private static extern void uv_registerChannel([MarshalAs(UnmanagedType.FunctionPtr)] ChannelMethodDelegate channel);
- public static void RegisterChannel() {
- UniWebViewLogger.Instance.Info("Connecting to native side method channel.");
- CheckPlatform();
- uv_registerChannel(ChannelFunc);
- }
-
- [MonoPInvokeCallback(typeof(ChannelMethodDelegate))]
- private static string ChannelFunc(IntPtr namePtr, IntPtr methodPtr, IntPtr parameterPtr) {
- string name = Marshal.PtrToStringAuto(namePtr);
- string method = Marshal.PtrToStringAuto(methodPtr);
- string parameters = Marshal.PtrToStringAuto(parameterPtr);
-
- UniWebViewLogger.Instance.Verbose("ChannelFunc invoked by native side. Name: " + name + " Method: "
- + method + " Params: " + parameters);
- return UniWebViewChannelMethodManager.Instance.InvokeMethod(name, method, parameters);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setLogLevel(int level);
- public static void SetLogLevel(int level) {
- CheckPlatform();
- uv_setLogLevel(level);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_init(string name, int x, int y, int width, int height);
- public static void Init(string name, int x, int y, int width, int height) {
- CheckPlatform();
- if (String.IsNullOrEmpty(name)) {
- return;
- }
- uv_init(name, x, y, width, height);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_destroy(string name);
- public static void Destroy(string name) {
- CheckPlatform();
- uv_destroy(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_load(string name, string url, bool skipEncoding, string readAccessURL);
- public static void Load(string name, string url, bool skipEncoding, string readAccessURL) {
- CheckPlatform();
- uv_load(name, url, skipEncoding, readAccessURL);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_loadHTMLString(string name, string html, string baseUrl, bool skipEncoding);
- public static void LoadHTMLString(string name, string html, string baseUrl, bool skipEncoding) {
- CheckPlatform();
- uv_loadHTMLString(name, html, baseUrl, skipEncoding);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_reload(string name);
- public static void Reload(string name) {
- CheckPlatform();
- uv_reload(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_stop(string name);
- public static void Stop(string name) {
- CheckPlatform();
- uv_stop(name);
- }
-
- [DllImport(DllLib)]
- private static extern string uv_getUrl(string name);
- public static string GetUrl(string name) {
- CheckPlatform();
- return uv_getUrl(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setFrame(string name, int x, int y, int width, int height);
- public static void SetFrame(string name, int x, int y, int width, int height) {
- CheckPlatform();
- uv_setFrame(name, x, y, width, height);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setPosition(string name, int x, int y);
- public static void SetPosition(string name, int x, int y) {
- CheckPlatform();
- uv_setPosition(name, x, y);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setSize(string name, int width, int height);
- public static void SetSize(string name, int width, int height) {
- CheckPlatform();
- uv_setSize(name, width, height);
- }
-
- [DllImport(DllLib)]
- private static extern bool uv_show(string name, bool fade, int edge, float duration, string identifier);
- public static bool Show(string name, bool fade, int edge, float duration, bool useAsync, string identifier) {
- CheckPlatform();
- return uv_show(name, fade, edge, duration, identifier);
- }
-
- [DllImport(DllLib)]
- private static extern bool uv_hide(string name, bool fade, int edge, float duration, string identifier);
- public static bool Hide(string name, bool fade, int edge, float duration, bool useAsync, string identifier) {
- CheckPlatform();
- return uv_hide(name, fade, edge, duration, identifier);
- }
-
- [DllImport(DllLib)]
- private static extern bool uv_animateTo(
- string name, int x, int y, int width, int height, float duration, float delay, string identifier
- );
- public static bool AnimateTo(
- string name, int x, int y, int width, int height, float duration, float delay, string identifier)
- {
- CheckPlatform();
- return uv_animateTo(name, x, y, width, height, duration, delay, identifier);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_addJavaScript(string name, string jsString, string identifier);
- public static void AddJavaScript(string name, string jsString, string identifier) {
- CheckPlatform();
- uv_addJavaScript(name, jsString, identifier);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_evaluateJavaScript(string name, string jsString, string identifier);
- public static void EvaluateJavaScript(string name, string jsString, string identifier) {
- CheckPlatform();
- uv_evaluateJavaScript(name, jsString, identifier);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_addUrlScheme(string name, string scheme);
- public static void AddUrlScheme(string name, string scheme) {
- CheckPlatform();
- uv_addUrlScheme(name, scheme);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_removeUrlScheme(string name, string scheme);
- public static void RemoveUrlScheme(string name, string scheme) {
- CheckPlatform();
- uv_removeUrlScheme(name, scheme);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_addSslExceptionDomain(string name, string domain);
- public static void AddSslExceptionDomain(string name, string domain) {
- CheckPlatform();
- uv_addSslExceptionDomain(name, domain);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_removeSslExceptionDomain(string name, string domain);
- public static void RemoveSslExceptionDomain(string name, string domain) {
- CheckPlatform();
- uv_removeSslExceptionDomain(name, domain);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setHeaderField(string name, string key, string value);
- public static void SetHeaderField(string name, string key, string value) {
- CheckPlatform();
- uv_setHeaderField(name, key, value);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setUserAgent(string name, string userAgent);
- public static void SetUserAgent(string name, string userAgent) {
- CheckPlatform();
- uv_setUserAgent(name, userAgent);
- }
-
- [DllImport(DllLib)]
- private static extern string uv_getUserAgent(string name);
- public static string GetUserAgent(string name) {
- CheckPlatform();
- return uv_getUserAgent(name);
- }
-
-
- [DllImport(DllLib)]
- private static extern void uv_setContentInsetAdjustmentBehavior(string name, int behavior);
- public static void SetContentInsetAdjustmentBehavior(
- string name, UniWebViewContentInsetAdjustmentBehavior behavior
- )
- {
- CheckPlatform();
- uv_setContentInsetAdjustmentBehavior(name, (int)behavior);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowAutoPlay(bool flag);
- public static void SetAllowAutoPlay(bool flag) {
- CheckPlatform();
- uv_setAllowAutoPlay(flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowInlinePlay(bool flag);
- public static void SetAllowInlinePlay(bool flag) {
- CheckPlatform();
- uv_setAllowInlinePlay(flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowFileAccess(string name, bool flag);
- public static void SetAllowFileAccess(string name, bool flag) {
- CheckPlatform();
- uv_setAllowFileAccess(name, flag);
- }
- [DllImport(DllLib)]
- private static extern void uv_setAllowFileAccessFromFileURLs(string name, bool flag);
- public static void SetAllowFileAccessFromFileURLs(string name, bool flag) {
- CheckPlatform();
- uv_setAllowFileAccessFromFileURLs(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowUniversalAccessFromFileURLs(bool flag);
- public static void SetAllowUniversalAccessFromFileURLs(bool flag) {
- CheckPlatform();
- uv_setAllowUniversalAccessFromFileURLs(flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowJavaScriptOpenWindow(bool flag);
- public static void SetAllowJavaScriptOpenWindow(bool flag) {
- CheckPlatform();
- uv_setAllowJavaScriptOpenWindow(flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setJavaScriptEnabled(bool flag);
- public static void SetJavaScriptEnabled(bool flag) {
- CheckPlatform();
- uv_setJavaScriptEnabled(flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setLimitsNavigationsToAppBoundDomains(bool flag);
- public static void SetLimitsNavigationsToAppBoundDomains(bool flag) {
- CheckPlatform();
- uv_setLimitsNavigationsToAppBoundDomains(flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_cleanCache(string name);
- public static void CleanCache(string name) {
- CheckPlatform();
- uv_cleanCache(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_clearCookies();
- public static void ClearCookies() {
- CheckPlatform();
- uv_clearCookies();
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setCookie(string url, string cookie, bool skipEncoding);
- public static void SetCookie(string url, string cookie, bool skipEncoding) {
- CheckPlatform();
- uv_setCookie(url, cookie, skipEncoding);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_removeCookies(string url, bool skipEncoding);
- public static void RemoveCookies(string url, bool skipEncoding) {
- CheckPlatform();
- uv_removeCookies(url, skipEncoding);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_removeCookie(string url, string key, bool skipEncoding);
- public static void RemoveCookie(string url, string key, bool skipEncoding) {
- CheckPlatform();
- uv_removeCookie(url, key, skipEncoding);
- }
-
- [DllImport(DllLib)]
- private static extern string uv_getCookie(string url, string key, bool skipEncoding);
- public static string GetCookie(string url, string key, bool skipEncoding) {
- CheckPlatform();
- return uv_getCookie(url, key, skipEncoding);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_clearHttpAuthUsernamePasswordHost(string host, string realm);
- public static void ClearHttpAuthUsernamePassword(string host, string realm) {
- CheckPlatform();
- uv_clearHttpAuthUsernamePasswordHost(host, realm);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setBackgroundColor(string name, float r, float g, float b, float a);
- public static void SetBackgroundColor(string name, float r, float g, float b, float a) {
- CheckPlatform();
- uv_setBackgroundColor(name, r, g, b, a);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setWebViewAlpha(string name, float alpha);
- public static void SetWebViewAlpha(string name, float alpha) {
- CheckPlatform();
- uv_setWebViewAlpha(name, alpha);
- }
-
- [DllImport(DllLib)]
- private static extern float uv_getWebViewAlpha(string name);
- public static float GetWebViewAlpha(string name) {
- CheckPlatform();
- return uv_getWebViewAlpha(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setShowSpinnerWhileLoading(string name, bool show);
- public static void SetShowSpinnerWhileLoading(string name, bool show) {
- CheckPlatform();
- uv_setShowSpinnerWhileLoading(name, show);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setSpinnerText(string name, string text);
- public static void SetSpinnerText(string name, string text) {
- CheckPlatform();
- uv_setSpinnerText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowUserDismissSpinnerByGesture(string name, bool flag);
- public static void SetAllowUserDismissSpinnerByGesture(string name, bool flag) {
- CheckPlatform();
- uv_setAllowUserDismissSpinnerByGesture(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_showSpinner(string name);
- public static void ShowSpinner(string name) {
- CheckPlatform();
- uv_showSpinner(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_hideSpinner(string name);
- public static void HideSpinner(string name) {
- CheckPlatform();
- uv_hideSpinner(name);
- }
-
- [DllImport(DllLib)]
- private static extern bool uv_canGoBack(string name);
- public static bool CanGoBack(string name) {
- CheckPlatform();
- return uv_canGoBack(name);
- }
-
- [DllImport(DllLib)]
- private static extern bool uv_canGoForward(string name);
- public static bool CanGoForward(string name) {
- CheckPlatform();
- return uv_canGoForward(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_goBack(string name);
- public static void GoBack(string name) {
- CheckPlatform();
- uv_goBack(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_goForward(string name);
- public static void GoForward(string name) {
- CheckPlatform();
- uv_goForward(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setOpenLinksInExternalBrowser(string name, bool flag);
- public static void SetOpenLinksInExternalBrowser(string name, bool flag) {
- CheckPlatform();
- uv_setOpenLinksInExternalBrowser(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setHorizontalScrollBarEnabled(string name, bool enabled);
- public static void SetHorizontalScrollBarEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setHorizontalScrollBarEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setVerticalScrollBarEnabled(string name, bool enabled);
- public static void SetVerticalScrollBarEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setVerticalScrollBarEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setBouncesEnabled(string name, bool enabled);
- public static void SetBouncesEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setBouncesEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setZoomEnabled(string name, bool enabled);
- public static void SetZoomEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setZoomEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setWindowUserResizeEnabled(string name, bool enabled);
- public static void SetWindowUserResizeEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setWindowUserResizeEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setUserInteractionEnabled(string name, bool enabled);
- public static void SetUserInteractionEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setUserInteractionEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setTransparencyClickingThroughEnabled(string name, bool enabled);
- public static void SetTransparencyClickingThroughEnabled(string name, bool enabled) {
- CheckPlatform();
- uv_setTransparencyClickingThroughEnabled(name, enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setWebContentsDebuggingEnabled(bool enabled);
- public static void SetWebContentsDebuggingEnabled(bool enabled) {
- CheckPlatform();
- uv_setWebContentsDebuggingEnabled(enabled);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowBackForwardNavigationGestures(string name, bool flag);
- public static void SetAllowBackForwardNavigationGestures(string name, bool flag) {
- CheckPlatform();
- uv_setAllowBackForwardNavigationGestures(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowHTTPAuthPopUpWindow(string name, bool flag);
- public static void SetAllowHTTPAuthPopUpWindow(string name, bool flag) {
- CheckPlatform();
- uv_setAllowHTTPAuthPopUpWindow(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_print(string name);
- public static void Print(string name) {
- CheckPlatform();
- uv_print(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_captureSnapshot(string name, string fileName);
- public static void CaptureSnapshot(string name, string fileName) {
- CheckPlatform();
- uv_captureSnapshot(name, fileName);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_scrollTo(string name, int x, int y, bool animated);
- public static void ScrollTo(string name, int x, int y, bool animated) {
- CheckPlatform();
- uv_scrollTo(name, x, y, animated);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setCalloutEnabled(string name, bool flag);
- public static void SetCalloutEnabled(string name, bool flag) {
- CheckPlatform();
- uv_setCalloutEnabled(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setSupportMultipleWindows(string name, bool enabled, bool allowJavaScriptOpening);
- public static void SetSupportMultipleWindows(string name, bool enabled, bool allowJavaScriptOpening) {
- CheckPlatform();
- uv_setSupportMultipleWindows(name, enabled, allowJavaScriptOpening);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setDragInteractionEnabled(string name, bool flag);
- public static void SetDragInteractionEnabled(string name, bool flag) {
- CheckPlatform();
- uv_setDragInteractionEnabled(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern float uv_nativeScreenWidth();
- public static float NativeScreenWidth() {
- #if UNITY_EDITOR_OSX
- return Screen.width;
- #else
- return uv_nativeScreenWidth();
- #endif
- }
-
- [DllImport(DllLib)]
- private static extern float uv_nativeScreenHeight();
- public static float NativeScreenHeight() {
- #if UNITY_EDITOR_OSX
- return Screen.height;
- #else
- return uv_nativeScreenHeight();
- #endif
- }
-
- [DllImport(DllLib)]
- private static extern void uv_addDownloadURL(string name, string urlString, int type);
- public static void AddDownloadURL(string name, string urlString, int type) {
- CheckPlatform();
- uv_addDownloadURL(name, urlString, type);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_removeDownloadURL(string name, string urlString, int type);
- public static void RemoveDownloadURL(string name, string urlString, int type) {
- CheckPlatform();
- uv_removeDownloadURL(name, urlString, type);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_addDownloadMIMEType(string name, string MIMEType, int type);
- public static void AddDownloadMIMEType(string name, string MIMEType, int type) {
- CheckPlatform();
- uv_addDownloadMIMEType(name, MIMEType, type);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_removeDownloadMIMETypes(string name, string MIMEType, int type);
- public static void RemoveDownloadMIMETypes(string name, string MIMEType, int type) {
- CheckPlatform();
- uv_removeDownloadMIMETypes(name, MIMEType, type);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setAllowUserChooseActionAfterDownloading(string name, bool allowed);
- public static void SetAllowUserChooseActionAfterDownloading(string name, bool allowed) {
- CheckPlatform();
- uv_setAllowUserChooseActionAfterDownloading(name, allowed);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_safeBrowsingInit(string name, string url);
- public static void SafeBrowsingInit(string name, string url) {
- CheckPlatform();
- if (String.IsNullOrEmpty(name)) {
- return;
- }
- uv_safeBrowsingInit(name, url);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_safeBrowsingShow(string name);
- public static void SafeBrowsingShow(string name) {
- CheckPlatform();
- uv_safeBrowsingShow(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_safeBrowsingSetToolbarColor(string name, float r, float g, float b);
- public static void SafeBrowsingSetToolbarColor(string name, float r, float g, float b) {
- CheckPlatform();
- uv_safeBrowsingSetToolbarColor(name, r, g, b);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_safeBrowsingSetToolbarItemColor(string name, float r, float g, float b);
- public static void SafeBrowsingSetToolbarItemColor(string name, float r, float g, float b) {
- CheckPlatform();
- uv_safeBrowsingSetToolbarItemColor(name, r, g, b);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_safeBrowsingDismiss(string name);
- public static void SafeBrowsingDismiss(string name) {
- CheckPlatform();
- uv_safeBrowsingDismiss(name);
- }
-
- [DllImport(DllLib)]
- private static extern bool uv_authenticationIsSupported();
- public static bool IsAuthenticationIsSupported() {
- CheckPlatform();
- return uv_authenticationIsSupported();
- }
-
- [DllImport(DllLib)]
- private static extern void uv_authenticationInit(string name, string url, string scheme);
- public static void AuthenticationInit(string name, string url, string scheme) {
- CheckPlatform();
- uv_authenticationInit(name, url, scheme);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_authenticationStart(string name);
- public static void AuthenticationStart(string name) {
- CheckPlatform();
- uv_authenticationStart(name);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_authenticationSetPrivateMode(string name, bool flag);
- public static void AuthenticationSetPrivateMode(string name, bool flag) {
- CheckPlatform();
- uv_authenticationSetPrivateMode(name, flag);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setShowEmbeddedToolbar(string name, bool show);
- public static void SetShowEmbeddedToolbar(string name, bool show) {
- CheckPlatform();
- uv_setShowEmbeddedToolbar(name, show);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarOnTop(string name, bool top);
- public static void SetEmbeddedToolbarOnTop(string name, bool top) {
- CheckPlatform();
- uv_setEmbeddedToolbarOnTop(name, top);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarDoneButtonText(string name, string text);
- public static void SetEmbeddedToolbarDoneButtonText(string name, string text) {
- CheckPlatform();
- uv_setEmbeddedToolbarDoneButtonText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarGoBackButtonText(string name, string text);
- public static void SetEmbeddedToolbarGoBackButtonText(string name, string text) {
- CheckPlatform();
- uv_setEmbeddedToolbarGoBackButtonText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarGoForwardButtonText(string name, string text);
- public static void SetEmbeddedToolbarGoForwardButtonText(string name, string text) {
- CheckPlatform();
- uv_setEmbeddedToolbarGoForwardButtonText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarTitleText(string name, string text);
- public static void SetEmbeddedToolbarTitleText(string name, string text) {
- CheckPlatform();
- uv_setEmbeddedToolbarTitleText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarBackgroundColor(string name, float r, float g, float b, float a);
- public static void SetEmbeddedToolbarBackgroundColor(string name, Color color) {
- CheckPlatform();
- uv_setEmbeddedToolbarBackgroundColor(name, color.r, color.g, color.b, color.a);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarButtonTextColor(string name, float r, float g, float b, float a);
- public static void SetEmbeddedToolbarButtonTextColor(string name, Color color) {
- CheckPlatform();
- uv_setEmbeddedToolbarButtonTextColor(name, color.r, color.g, color.b, color.a);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarTitleTextColor(string name, float r, float g, float b, float a);
- public static void SetEmbeddedToolbarTitleTextColor(string name, Color color) {
- CheckPlatform();
- uv_setEmbeddedToolbarTitleTextColor(name, color.r, color.g, color.b, color.a);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setEmbeddedToolbarNavigationButtonsShow(string name, bool show);
- public static void SetEmeddedToolbarNavigationButtonsShow(string name, bool show) {
- CheckPlatform();
- uv_setEmbeddedToolbarNavigationButtonsShow(name, show);
- }
-
- #region Deprecated
-
- [DllImport(DllLib)]
- private static extern void uv_setShowToolbar(string name, bool show, bool animated, bool onTop, bool adjustInset);
- public static void SetShowToolbar(string name, bool show, bool animated, bool onTop, bool adjustInset) {
- CheckPlatform();
- uv_setShowToolbar(name, show, animated, onTop, adjustInset);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setShowToolbarNavigationButtons(string name, bool show);
- public static void SetShowToolbarNavigationButtons(string name, bool show) {
- CheckPlatform();
- uv_setShowToolbarNavigationButtons(name, show);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setToolbarDoneButtonText(string name, string text);
- public static void SetToolbarDoneButtonText(string name, string text) {
- CheckPlatform();
- uv_setToolbarDoneButtonText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setGoBackButtonText(string name, string text);
- public static void SetToolbarGoBackButtonText(string name, string text) {
- CheckPlatform();
- uv_setGoBackButtonText(name, text);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setGoForwardButtonText(string name, string text);
- public static void SetToolbarGoForwardButtonText(string name, string text) {
- CheckPlatform();
- uv_setGoForwardButtonText(name, text);
- }
-
-
- [DllImport(DllLib)]
- private static extern void uv_setToolbarTintColor(string name, float r, float g, float b);
- public static void SetToolbarTintColor(string name, float r, float g, float b) {
- CheckPlatform();
- uv_setToolbarTintColor(name, r, g, b);
- }
-
- [DllImport(DllLib)]
- private static extern void uv_setToolbarTextColor(string name, float r, float g, float b);
- public static void SetToolbarTextColor(string name, float r, float g, float b) {
- CheckPlatform();
- uv_setToolbarTextColor(name, r, g, b);
- }
-
- #endregion
-
- public static void CheckPlatform() {
- if (!correctPlatform) {
- throw new System.InvalidOperationException(
- "Method can only be performed on correct platform. Current: " + Application.platform
- );
- }
- }
- }
- #endif
|