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); } }
internal static CefSchemeRegistrar FromNativeOrNull(cef_scheme_registrar_t *ptr) { if (ptr == null) { return(null); } return(new CefSchemeRegistrar(ptr)); }
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); }
/// <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); } }
// 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)); }
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; }
internal static CefSchemeRegistrar FromNative(cef_scheme_registrar_t *ptr) { return(new CefSchemeRegistrar(ptr)); }
public unsafe extern void OnRegisterCustomSchemes(cef_scheme_registrar_t *registrar);
public CefSchemeRegistrar(cef_scheme_registrar_t *instance) : base((cef_base_scoped_t *)instance) { }