Masks: introduce the possibility for a MaskListClass factory.

This commit is contained in:
Bart 2023-01-14 13:56:13 +01:00
parent d35defa41c
commit 408f319004

View File

@ -319,7 +319,7 @@ type
aOpcodesAllowed: TMaskOpCodes); virtual;
public
constructor Create(const aValue: String; aSeparator: Char=';'; CaseSensitive: Boolean=False;
aOpcodesAllowed: TMaskOpCodes=DefaultMaskOpCodes);
aOpcodesAllowed: TMaskOpCodes=DefaultMaskOpCodes); virtual;
//Remove in 2.5
constructor Create(const aValue: String; aSeparator: Char; aOptions: TMaskOptions); virtual;
@ -353,9 +353,12 @@ type
procedure AddMasksToList(const aValue: String; aSeparator: Char; aCaseSensitive: Boolean;
aOpcodesAllowed: TMaskOpCodes); override;
public
constructor Create(const aValue: String; aSeparator: Char=';'; aCaseSensitive: Boolean=False;
aOpcodesAllowed: TMaskOpCodes=DefaultMaskOpCodes;
aWindowsQuirksAllowed: TWindowsQuirks=DefaultWindowsQuirks); reintroduce;
constructor Create(const aValue: String; aSeparator: Char=';'; aCaseSensitive: Boolean=False;
aOpcodesAllowed: TMaskOpCodes=DefaultMaskOpCodes); override;
constructor Create(const aValue: String; aSeparator: Char{=';'}; aCaseSensitive: Boolean{=False};
aOpcodesAllowed: TMaskOpCodes{=DefaultMaskOpCodes};
aWindowsQuirksAllowed: TWindowsQuirks{=DefaultWindowsQuirks}); overload; //reintroduce;
//Remove in 2.5
constructor Create(const aValue: String; aSeparator: Char; aOptions: TMaskOptions); override;
@ -369,6 +372,9 @@ type
property Quirks: TWindowsQuirks read fWindowsQuirks write SetQuirks;
end;
TMaskListClass = class of TMaskList;
function MatchesMask(const FileName, Mask: String; CaseSensitive: Boolean=False;
aOpcodesAllowed: TMaskOpCodes=DefaultMaskOpCodes): Boolean;
function MatchesMask(const FileName, Mask: String; Options: TMaskOptions): Boolean;
@ -562,6 +568,12 @@ begin
end;
end;
constructor TWindowsMaskList.Create(const aValue: String; aSeparator: Char;
aCaseSensitive: Boolean; aOpcodesAllowed: TMaskOpCodes);
begin
Create(aValue, aSeparator, aCaseSensitive, aOpcodesAllowed, DefaultWindowsQuirks);
end;
constructor TWindowsMaskList.Create(const aValue: String; aSeparator: Char;
aCaseSensitive: Boolean; aOpcodesAllowed: TMaskOpCodes;
aWindowsQuirksAllowed: TWindowsQuirks);