mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2024-11-24 08:02:15 +02:00
ca8bc9dff4
Added the PDS file to extract the HTML Help files using PasDoc Added more XML documentation Fixed some XML errors. Removed the license copy from the pas units. Updated the LICENSE.md file
152 lines
4.2 KiB
ObjectPascal
152 lines
4.2 KiB
ObjectPascal
unit uCEFDownLoadItem;
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE OBJFPC}{$H+}
|
|
{$ENDIF}
|
|
|
|
{$I cef.inc}
|
|
|
|
{$IFNDEF TARGET_64BITS}{$ALIGN ON}{$ENDIF}
|
|
{$MINENUMSIZE 4}
|
|
|
|
interface
|
|
|
|
uses
|
|
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
|
|
|
type
|
|
TCefDownLoadItemRef = class(TCefBaseRefCountedRef, ICefDownLoadItem)
|
|
protected
|
|
function IsValid: Boolean;
|
|
function IsInProgress: Boolean;
|
|
function IsComplete: Boolean;
|
|
function IsCanceled: Boolean;
|
|
function IsInterrupted: Boolean;
|
|
function GetInterruptReason: TCefDownloadInterruptReason;
|
|
function GetCurrentSpeed: Int64;
|
|
function GetPercentComplete: Integer;
|
|
function GetTotalBytes: Int64;
|
|
function GetReceivedBytes: Int64;
|
|
function GetStartTime: TDateTime;
|
|
function GetEndTime: TDateTime;
|
|
function GetFullPath: ustring;
|
|
function GetId: Cardinal;
|
|
function GetUrl: ustring;
|
|
function GetOriginalUrl: ustring;
|
|
function GetSuggestedFileName: ustring;
|
|
function GetContentDisposition: ustring;
|
|
function GetMimeType: ustring;
|
|
public
|
|
class function UnWrap(data: Pointer): ICefDownLoadItem;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uCEFMiscFunctions, uCEFLibFunctions;
|
|
|
|
function TCefDownLoadItemRef.GetContentDisposition: ustring;
|
|
begin
|
|
Result := CefStringFreeAndGet(PCefDownloadItem(FData)^.get_content_disposition(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetCurrentSpeed: Int64;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.get_current_speed(PCefDownloadItem(FData));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetEndTime: TDateTime;
|
|
begin
|
|
Result := CefBaseTimeToDateTime(PCefDownloadItem(FData)^.get_end_time(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetFullPath: ustring;
|
|
begin
|
|
Result := CefStringFreeAndGet(PCefDownloadItem(FData)^.get_full_path(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetId: Cardinal;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.get_id(PCefDownloadItem(FData));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetMimeType: ustring;
|
|
begin
|
|
Result := CefStringFreeAndGet(PCefDownloadItem(FData)^.get_mime_type(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetOriginalUrl: ustring;
|
|
begin
|
|
Result := CefStringFreeAndGet(PCefDownloadItem(FData)^.get_original_url(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetPercentComplete: Integer;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.get_percent_complete(PCefDownloadItem(FData));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetReceivedBytes: Int64;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.get_received_bytes(PCefDownloadItem(FData));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetStartTime: TDateTime;
|
|
begin
|
|
Result := CefBaseTimeToDateTime(PCefDownloadItem(FData)^.get_start_time(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetSuggestedFileName: ustring;
|
|
begin
|
|
Result := CefStringFreeAndGet(PCefDownloadItem(FData)^.get_suggested_file_name(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetTotalBytes: Int64;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.get_total_bytes(PCefDownloadItem(FData));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetUrl: ustring;
|
|
begin
|
|
Result := CefStringFreeAndGet(PCefDownloadItem(FData)^.get_url(PCefDownloadItem(FData)));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.IsCanceled: Boolean;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.is_canceled(PCefDownloadItem(FData)) <> 0;
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.IsInterrupted: Boolean;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.is_interrupted(PCefDownloadItem(FData)) <> 0;
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.GetInterruptReason: TCefDownloadInterruptReason;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.get_interrupt_reason(PCefDownloadItem(FData));
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.IsComplete: Boolean;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.is_complete(PCefDownloadItem(FData)) <> 0;
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.IsInProgress: Boolean;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.is_in_progress(PCefDownloadItem(FData)) <> 0;
|
|
end;
|
|
|
|
function TCefDownLoadItemRef.IsValid: Boolean;
|
|
begin
|
|
Result := PCefDownloadItem(FData)^.is_valid(PCefDownloadItem(FData)) <> 0;
|
|
end;
|
|
|
|
class function TCefDownLoadItemRef.UnWrap(data: Pointer): ICefDownLoadItem;
|
|
begin
|
|
if (data <> nil) then
|
|
Result := Create(data) as ICefDownLoadItem
|
|
else
|
|
Result := nil;
|
|
end;
|
|
|
|
end.
|