lazarus-ccr/applications/fpbrowser/browsermodules.pas
2011-09-08 07:05:53 +00:00

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.