Ejemplo n.º 1
0
        public void ValidateCallbacks()
        {
            if (_wakeUp == null)
            {
                throw new ArgumentNullException(nameof(_wakeUp));
            }
            if (_flush == null)
            {
                throw new ArgumentNullException(nameof(_flush));
            }
            if (_log == null)
            {
                throw new ArgumentNullException(nameof(_log));
            }
            if (_loadStarted == null)
            {
                throw new ArgumentNullException(nameof(_loadStarted));
            }
            if (_loadEnded == null)
            {
                throw new ArgumentNullException(nameof(_loadEnded));
            }
            if (_titleChanged == null)
            {
                throw new ArgumentNullException(nameof(_titleChanged));
            }
            if (_historyChanged == null)
            {
                throw new ArgumentNullException(nameof(_historyChanged));
            }
            if (_urlChanged == null)
            {
                throw new ArgumentNullException(nameof(_urlChanged));
            }
            if (_executeInServoThread == null)
            {
                throw new ArgumentNullException(nameof(_executeInServoThread));
            }
            if (string.IsNullOrEmpty(_resourcePath))
            {
                throw new ArgumentNullException(nameof(_resourcePath));
            }

            HostCallbacks = new HostCallbacks
            {
                wakeup             = Marshal.GetFunctionPointerForDelegate(_wakeUp),
                flush              = Marshal.GetFunctionPointerForDelegate(_flush),
                log                = Marshal.GetFunctionPointerForDelegate(_log),
                on_load_started    = Marshal.GetFunctionPointerForDelegate(_loadStarted),
                on_load_ended      = Marshal.GetFunctionPointerForDelegate(_loadEnded),
                on_title_changed   = Marshal.GetFunctionPointerForDelegate(_titleChanged),
                on_url_changed     = Marshal.GetFunctionPointerForDelegate(_urlChanged),
                on_history_changed = Marshal.GetFunctionPointerForDelegate(_historyChanged)
            };
        }
Ejemplo n.º 2
0
 internal static extern ServoResult InitWithGL(byte *url, byte *resources_path, HostCallbacks callbacks, ViewLayout.__Internal layout);