Packager: Extend PackageLinkIntf with ClearOnlineLinks method.

git-svn-id: trunk@56631 -
This commit is contained in:
balazs 2017-12-05 10:15:19 +00:00
parent 8e565ad003
commit 811fbab23f
2 changed files with 21 additions and 0 deletions
components/ideintf
packager

View File

@ -100,6 +100,7 @@ type
function AddUserLink(const PkgFilename, PkgName: string): TPackageLink; virtual; abstract;
procedure RemoveUserLink(Link: TPackageLink); virtual; abstract;
procedure RemoveUserLinks(APackageID: TLazPackageID); virtual; abstract;
procedure ClearOnlineLinks; virtual; abstract;
end;
{ TOPMInterface }

View File

@ -151,6 +151,7 @@ type
function AddUserLink(const PkgFilename, PkgName: string): TPackageLink; override;
procedure RemoveUserLink(Link: TPackageLink); override;
procedure RemoveUserLinks(APackageID: TLazPackageID); override;
procedure ClearOnlineLinks; override;
public
property Modified: boolean read GetModified write SetModified;
property ChangeStamp: integer read FChangeStamp;
@ -1313,6 +1314,25 @@ begin
end;
end;
procedure TLazPackageLinks.ClearOnlineLinks;
var
Link: TPackageLink;
I: Integer;
begin
BeginUpdate;
try
for I := FOnlineLinks.Count - 1 downto 0 do
begin
Link := TPackageLink(FOnlineLinks);
Link.Release;
IncreaseChangeStamp;
end;
FOnlineLinks.Clear;
finally
EndUpdate;
end;
end;
procedure TLazPackageLinks.RemoveUserLinks(APackageID: TLazPackageID);
var
ANode: TAvlTreeNode;