CEF4Delphi/source/uCEFSchemeRegistrar.pas

56 lines
1.8 KiB
ObjectPascal
Raw Normal View History

2017-01-27 16:37:51 +01:00
unit uCEFSchemeRegistrar;
{$IFDEF FPC}
{$MODE OBJFPC}{$H+}
{$ENDIF}
2017-02-05 20:56:46 +01:00
{$I cef.inc}
{$IFNDEF TARGET_64BITS}{$ALIGN ON}{$ENDIF}
{$MINENUMSIZE 4}
2017-01-27 16:37:51 +01:00
interface
uses
uCEFBaseScopedWrapper, uCEFTypes;
2017-01-27 16:37:51 +01:00
type
2023-11-05 16:53:22 +01:00
/// <summary>
/// Class that manages custom scheme registrations.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_scheme_capi.h">CEF source file: /include/capi/cef_scheme_capi.h (cef_scheme_registrar_t)</see></para>
/// </remarks>
TCefSchemeRegistrarRef = class(TCEFBaseScopedWrapperRef)
2017-01-27 16:37:51 +01:00
public
2023-11-05 16:53:22 +01:00
/// <summary>
/// <para>Register a custom scheme. This function should not be called for the
/// built-in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.</para>
/// <para>This function may be called on any thread. It should only be called once
/// per unique |scheme_name| value. If |scheme_name| is already registered or
/// if an error occurs this function will return false (0).</para>
/// </summary>
/// <remarks>
/// <para><see>See the CEF_SCHEME_OPTION_* constants in the uCEFConstants unit for possible values for |options|.</see></para>
/// </remarks>
2019-03-15 17:17:14 +01:00
function AddCustomScheme(const schemeName: ustring; options : TCefSchemeOptions): Boolean;
2017-01-27 16:37:51 +01:00
end;
implementation
uses
uCEFMiscFunctions;
2019-03-15 17:17:14 +01:00
function TCefSchemeRegistrarRef.AddCustomScheme(const schemeName : ustring;
options : TCefSchemeOptions): Boolean;
2017-01-27 16:37:51 +01:00
var
TempName : TCefString;
2017-01-27 16:37:51 +01:00
begin
TempName := CefString(schemeName);
Result := PCefSchemeRegistrar(FData)^.add_custom_scheme(PCefSchemeRegistrar(FData),
@TempName,
2019-03-15 17:17:14 +01:00
options) <> 0;
2017-01-27 16:37:51 +01:00
end;
end.