Beispiel #1
0
 public unsafe void OnRegisterCustomSchemes(cef_scheme_registrar_t *registrar)
 {
     fixed(cef_app_t *self = &this)
     {
         ((delegate * unmanaged[Stdcall] < cef_app_t *, cef_scheme_registrar_t *, void >)on_register_custom_schemes)(self, registrar);
     }
 }
Beispiel #2
0
 internal static CefSchemeRegistrar FromNativeOrNull(cef_scheme_registrar_t *ptr)
 {
     if (ptr == null)
     {
         return(null);
     }
     return(new CefSchemeRegistrar(ptr));
 }
Beispiel #3
0
 private CefSchemeRegistrar(cef_scheme_registrar_t *ptr)
 {
     if (ptr == null)
     {
         throw new ArgumentNullException("ptr");
     }
     _self = ptr;
 }
 public void Dispose()
 {
     if (_self != null)
     {
         Release();
         _self = null;
     }
     GC.SuppressFinalize(this);
 }
Beispiel #5
0
        /// <summary>
        /// Provides an opportunity to register custom schemes. Do not keep a
        /// reference to the |registrar| object. This function is called on the
        /// UI thread.
        /// </summary>
        private void on_register_custom_schemes(cef_app_t *self, cef_scheme_registrar_t *registrar)
        {
            ThrowIfObjectDisposed();

            using (var m_registrar = CefSchemeRegistrar.From(registrar))
            {
                this.OnRegisterCustomSchemes(m_registrar);
            }
        }
Beispiel #6
0
 public void Dispose()
 {
     if (_self != null)
     {
         Release();
         _self = null;
     }
     GC.SuppressFinalize(this);
 }
Beispiel #7
0
        // void (*)(_cef_app_t* self, _cef_scheme_registrar_t* registrar)*
        private static unsafe void OnRegisterCustomSchemesImpl(cef_app_t *self, cef_scheme_registrar_t *registrar)
        {
            var instance = GetInstance((IntPtr)self) as CefApp;

            if (instance == null || ((ICefAppPrivate)instance).AvoidOnRegisterCustomSchemes())
            {
                return;
            }
            instance.OnRegisterCustomSchemes(CefSchemeRegistrar.Wrap(CefSchemeRegistrar.Create, registrar));
        }
Beispiel #8
0
        private void on_register_custom_schemes(cef_app_t *self, cef_scheme_registrar_t *registrar)
        {
            CheckSelf(self);

            var m_registrar = CefSchemeRegistrar.FromNative(registrar);

            OnRegisterCustomSchemes(m_registrar);

            m_registrar.Dispose();
        }
        public static int has_one_ref(cef_scheme_registrar_t *self)
        {
            has_one_ref_delegate d;
            var p = self->_base._has_one_ref;

            if (p == _p2)
            {
                d = _d2;
            }
            else
            {
                d = (has_one_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(has_one_ref_delegate));
                if (_p2 == IntPtr.Zero)
                {
                    _d2 = d; _p2 = p;
                }
            }
            return(d(self));
        }
        public static void add_ref(cef_scheme_registrar_t *self)
        {
            add_ref_delegate d;
            var p = self->_base._add_ref;

            if (p == _p0)
            {
                d = _d0;
            }
            else
            {
                d = (add_ref_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(add_ref_delegate));
                if (_p0 == IntPtr.Zero)
                {
                    _d0 = d; _p0 = p;
                }
            }
            d(self);
        }
        public static int add_custom_scheme(cef_scheme_registrar_t *self, cef_string_t *scheme_name, int is_standard, int is_local, int is_display_isolated)
        {
            add_custom_scheme_delegate d;
            var p = self->_add_custom_scheme;

            if (p == _p3)
            {
                d = _d3;
            }
            else
            {
                d = (add_custom_scheme_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(add_custom_scheme_delegate));
                if (_p3 == IntPtr.Zero)
                {
                    _d3 = d; _p3 = p;
                }
            }
            return(d(self, scheme_name, is_standard, is_local, is_display_isolated));
        }
        public static int add_custom_scheme(cef_scheme_registrar_t *self, cef_string_t *scheme_name, int options)
        {
            add_custom_scheme_delegate d;
            var p = self->_add_custom_scheme;

            if (p == _p1)
            {
                d = _d1;
            }
            else
            {
                d = (add_custom_scheme_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(add_custom_scheme_delegate));
                if (_p1 == IntPtr.Zero)
                {
                    _d1 = d; _p1 = p;
                }
            }
            return(d(self, scheme_name, options));
        }
        public static int release(cef_scheme_registrar_t *self)
        {
            release_delegate d;
            var p = self->_base._release;

            if (p == _p1)
            {
                d = _d1;
            }
            else
            {
                d = (release_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(release_delegate));
                if (_p1 == IntPtr.Zero)
                {
                    _d1 = d; _p1 = p;
                }
            }
            return(d(self));
        }
        /// <summary>
        /// Provides an opportunity to view and/or modify command-line arguments before
        /// processing by CEF and Chromium. The |process_type| value will be empty for
        /// the browser process. Do not keep a reference to the CefCommandLine object
        /// passed to this method. The CefSettings.command_line_args_disabled value
        /// can be used to start with an empty command-line object. Any values
        /// specified in CefSettings that equate to command-line arguments will be set
        /// before this method is called. Be cautious when using this method to modify
        /// command-line arguments for non-browser processes as this may result in
        /// undefined behavior including crashes.
        /// </summary>
        // protected abstract void OnBeforeCommandLineProcessing(cef_string_t* process_type, cef_command_line_t* command_line);

        private void on_register_custom_schemes(cef_app_t *self, cef_scheme_registrar_t *registrar)
        {
            CheckSelf(self);
            throw new NotImplementedException(); // TODO: CefApp.OnRegisterCustomSchemes
        }
 private CefSchemeRegistrar(cef_scheme_registrar_t* ptr)
 {
     if (ptr == null) throw new ArgumentNullException("ptr");
     _self = ptr;
 }
Beispiel #16
0
 internal static CefSchemeRegistrar FromNative(cef_scheme_registrar_t *ptr)
 {
     return(new CefSchemeRegistrar(ptr));
 }
Beispiel #17
0
 public unsafe extern void OnRegisterCustomSchemes(cef_scheme_registrar_t *registrar);
Beispiel #18
0
 public CefSchemeRegistrar(cef_scheme_registrar_t *instance)
     : base((cef_base_scoped_t *)instance)
 {
 }