You've already forked lazarus-ccr
66 lines
1.2 KiB
ObjectPascal
66 lines
1.2 KiB
ObjectPascal
![]() |
unit browsermodules;
|
||
|
|
||
|
{$mode delphi}
|
||
|
|
||
|
interface
|
||
|
|
||
|
uses
|
||
|
Classes, SysUtils;
|
||
|
|
||
|
type
|
||
|
|
||
|
{ TBrowserModule }
|
||
|
|
||
|
TBrowserModule = class
|
||
|
public
|
||
|
ShortDescription: string;
|
||
|
Activated: Boolean;
|
||
|
constructor Create; virtual;
|
||
|
function HandleOnPageLoad(APage: TStream): string; virtual;
|
||
|
end;
|
||
|
|
||
|
procedure RegisterBrowserModule(AModule: TBrowserModule);
|
||
|
function GetBrowserModule(AIndex: Integer): TBrowserModule;
|
||
|
function GetBrowserModuleCount(): Integer;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
var
|
||
|
gBrowserModules: TList;
|
||
|
|
||
|
procedure RegisterBrowserModule(AModule: TBrowserModule);
|
||
|
begin
|
||
|
if AModule = nil then raise Exception.Create('[RegisterBrowserModule] Attempted to register a nil Module');
|
||
|
gBrowserModules.Add(AModule);
|
||
|
end;
|
||
|
|
||
|
function GetBrowserModule(AIndex: Integer): TBrowserModule;
|
||
|
begin
|
||
|
if AIndex < 0 then Exit(nil);
|
||
|
Result := TBrowserModule(gBrowserModules.Items[AIndex]);
|
||
|
end;
|
||
|
|
||
|
function GetBrowserModuleCount: Integer;
|
||
|
begin
|
||
|
Result := gBrowserModules.Count;
|
||
|
end;
|
||
|
|
||
|
{ TBrowserModule }
|
||
|
|
||
|
constructor TBrowserModule.Create;
|
||
|
begin
|
||
|
|
||
|
end;
|
||
|
|
||
|
function TBrowserModule.HandleOnPageLoad(APage: TStream): string;
|
||
|
begin
|
||
|
|
||
|
end;
|
||
|
|
||
|
initialization
|
||
|
gBrowserModules := TList.Create;
|
||
|
finalization
|
||
|
gBrowserModules.Free;
|
||
|
end.
|
||
|
|