CEF4Delphi/source/uCEFSSLStatus.pas

74 lines
1.7 KiB
ObjectPascal
Raw Normal View History

2017-01-27 16:37:51 +01:00
unit uCEFSSLStatus;
{$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
TCefSSLStatusRef = class(TCefBaseRefCountedRef, ICefSSLStatus)
2017-01-27 16:37:51 +01:00
protected
function IsSecureConnection: boolean;
function GetCertStatus: TCefCertStatus;
function GetSSLVersion: TCefSSLVersion;
function GetContentStatus: TCefSSLContentStatus;
function GetX509Certificate: ICefX509Certificate;
public
class function UnWrap(data: Pointer): ICefSSLStatus;
end;
implementation
uses
uCEFMiscFunctions, uCEFLibFunctions, uCEFBinaryValue, uCEFX509Certificate;
function TCefSSLStatusRef.IsSecureConnection: boolean;
begin
Result := (PCefSSLStatus(FData)^.is_secure_connection(PCefSSLStatus(FData)) <> 0);
2017-01-27 16:37:51 +01:00
end;
function TCefSSLStatusRef.GetCertStatus: TCefCertStatus;
begin
Result := PCefSSLStatus(FData)^.get_cert_status(PCefSSLStatus(FData));
2017-01-27 16:37:51 +01:00
end;
function TCefSSLStatusRef.GetSSLVersion: TCefSSLVersion;
begin
Result := PCefSSLStatus(FData)^.get_sslversion(PCefSSLStatus(FData));
2017-01-27 16:37:51 +01:00
end;
function TCefSSLStatusRef.GetContentStatus: TCefSSLContentStatus;
begin
Result := PCefSSLStatus(FData)^.get_content_status(PCefSSLStatus(FData));
2017-01-27 16:37:51 +01:00
end;
function TCefSSLStatusRef.GetX509Certificate: ICefX509Certificate;
begin
Result := TCEFX509CertificateRef.UnWrap(PCefSSLStatus(FData)^.get_x509certificate(PCefSSLStatus(FData)));
2017-01-27 16:37:51 +01:00
end;
class function TCefSSLStatusRef.UnWrap(data: Pointer): ICefSSLStatus;
begin
if (data <> nil) then
Result := Create(data) as ICefSSLStatus
else
Result := nil;
end;
end.