CEF4Delphi/source/uCEFSslInfo.pas

57 lines
1.1 KiB
ObjectPascal
Raw Normal View History

2017-01-27 16:37:51 +01:00
unit uCEFSslInfo;
{$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
2017-02-05 20:56:46 +01:00
{$IFDEF DELPHI16_UP}
2017-01-27 16:37:51 +01:00
System.Classes,
2017-02-05 20:56:46 +01:00
{$ELSE}
Classes,
{$ENDIF}
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
2017-01-27 16:37:51 +01:00
type
TCefSslInfoRef = class(TCefBaseRefCountedRef, ICefSslInfo)
2017-01-27 16:37:51 +01:00
protected
function GetCertStatus: TCefCertStatus;
function GetX509Certificate: ICefX509Certificate;
public
class function UnWrap(data: Pointer): ICefSslInfo;
end;
implementation
uses
uCEFMiscFunctions, uCEFLibFunctions, uCEFBinaryValue, uCEFX509Certificate;
function TCefSslInfoRef.GetCertStatus: TCefCertStatus;
begin
Result := PCefSslInfo(FData)^.get_cert_status(PCefSslInfo(FData));
2017-01-27 16:37:51 +01:00
end;
function TCefSslInfoRef.GetX509Certificate: ICefX509Certificate;
begin
Result := TCEFX509CertificateRef.UnWrap(PCefSslInfo(FData)^.get_x509certificate(PCefSslInfo(FData)));
2017-01-27 16:37:51 +01:00
end;
class function TCefSslInfoRef.UnWrap(data: Pointer): ICefSslInfo;
begin
if (data <> nil) then
Result := Create(data) as ICefSslInfo
else
Result := nil;
end;
end.