Skip to content
This repository has been archived by the owner on Jan 5, 2023. It is now read-only.

Commit

Permalink
Added template units for creating cross-platform features
Browse files Browse the repository at this point in the history
  • Loading branch information
DelphiWorlds committed Aug 19, 2018
1 parent 2bbda06 commit 2986e3f
Show file tree
Hide file tree
Showing 3 changed files with 167 additions and 0 deletions.
45 changes: 45 additions & 0 deletions UnitTemplates/DW.Template.Android.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
unit DW.Template.Android;

{*******************************************************}
{ }
{ Kastri Free }
{ }
{ DelphiWorlds Cross-Platform Library }
{ }
{*******************************************************}

{$I DW.GlobalDefines.inc}

interface

uses
DW.Template.CustomPlatform;

type
TPlatformTemplate = class(TCustomPlatformTemplate)
private
//
protected
//
public
constructor Create(const ATemplate: TTemplate); override;
destructor Destroy; override;
end;

implementation

{ TPlatformTemplate }

constructor TPlatformTemplate.Create(const ATemplate: TTemplate);
begin
inherited;
//
end;

destructor TPlatformTemplate.Destroy;
begin
//
inherited;
end;

end.
77 changes: 77 additions & 0 deletions UnitTemplates/DW.Template.CustomPlatform.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
unit DW.Template.CustomPlatform;

{*******************************************************}
{ }
{ Kastri Free }
{ }
{ DelphiWorlds Cross-Platform Library }
{ }
{*******************************************************}

{$I DW.GlobalDefines.inc}

interface

type
TTemplate = class;

TCustomPlatformTemplate = class(TObject)
private
FTemplate: TTemplate;
protected
property Template: TTemplate read FTemplate;
public
constructor Create(const ATemplate: TTemplate); virtual;
destructor Destroy; override;
end;

TTemplate = class(TObject)
private
FPlatformTemplate: TCustomPlatformTemplate;
protected
//
public
constructor Create;
destructor Destroy; override;
end;

implementation

uses
{$IF Defined(IOS)}
DW.Template.iOS;
{$ELSEIF Defined(ANDROID)}
DW.Template.Android;
{$ELSE}
DW.Template.Default;
{$ENDIF}

{ TCustomPlatformTemplate }

constructor TCustomPlatformTemplate.Create(const ATemplate: TTemplate);
begin
inherited Create;
FTemplate := ATemplate;
end;

destructor TCustomPlatformTemplate.Destroy;
begin
//
inherited;
end;

{ TTemplate }

constructor TTemplate.Create;
begin
inherited;
FPlatformTemplate := TPlatformTemplate.Create(Self);
end;

destructor TTemplate.Destroy;
begin
FPlatformTemplate.Free;
inherited;
end;

end.
45 changes: 45 additions & 0 deletions UnitTemplates/DW.Template.iOS.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
unit DW.Template.iOS;

{*******************************************************}
{ }
{ Kastri Free }
{ }
{ DelphiWorlds Cross-Platform Library }
{ }
{*******************************************************}

{$I DW.GlobalDefines.inc}

interface

uses
DW.Template.CustomPlatform;

type
TPlatformTemplate = class(TCustomPlatformTemplate)
private
//
protected
//
public
constructor Create(const ATemplate: TTemplate); override;
destructor Destroy; override;
end;

implementation

{ TPlatformTemplate }

constructor TPlatformTemplate.Create(const ATemplate: TTemplate);
begin
inherited;
//
end;

destructor TPlatformTemplate.Destroy;
begin
//
inherited;
end;

end.

0 comments on commit 2986e3f

Please sign in to comment.