CEF4Delphi/source/uCEFBeforeDownloadCallback.pas

48 lines
1.0 KiB
ObjectPascal
Raw Normal View History

2017-01-27 17:29:37 +01:00
unit uCEFBeforeDownloadCallback;
{$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 17:29:37 +01:00
interface
uses
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
2017-01-27 17:29:37 +01:00
type
TCefBeforeDownloadCallbackRef = class(TCefBaseRefCountedRef, ICefBeforeDownloadCallback)
2017-01-27 17:29:37 +01:00
protected
procedure Cont(const downloadPath: ustring; showDialog: Boolean);
public
class function UnWrap(data: Pointer): ICefBeforeDownloadCallback;
end;
implementation
uses
uCEFMiscFunctions, uCEFLibFunctions;
procedure TCefBeforeDownloadCallbackRef.Cont(const downloadPath: ustring; showDialog: Boolean);
2017-01-27 17:29:37 +01:00
var
TempPath : TCefString;
2017-01-27 17:29:37 +01:00
begin
TempPath := CefString(downloadPath);
PCefBeforeDownloadCallback(FData)^.cont(PCefBeforeDownloadCallback(FData), @TempPath, Ord(showDialog));
2017-01-27 17:29:37 +01:00
end;
class function TCefBeforeDownloadCallbackRef.UnWrap(data: Pointer): ICefBeforeDownloadCallback;
2017-01-27 17:29:37 +01:00
begin
if (data <> nil) then
Result := Create(data) as ICefBeforeDownloadCallback
else
2017-01-27 17:29:37 +01:00
Result := nil;
end;
end.