FIX: Add appropriate TFiles object for VfsFileSource and WfxPluginFileSource

This commit is contained in:
Alexander Koblov 2009-12-16 13:27:40 +00:00
commit 5299ff064e
4 changed files with 56 additions and 2 deletions

View file

@ -43,6 +43,15 @@ type
property ModificationTime: TDateTime read GetModificationTime write SetModificationTime;
end;
{ TVfsFiles }
TVfsFiles = class(TFiles)
public
function CreateObjectOfSameType: TFiles; override;
function CreateFileObject: TFile; override;
function Clone: TVfsFiles; override;
end;
implementation
constructor TVfsFile.Create;
@ -126,5 +135,23 @@ begin
FModificationTime.Value := NewTime;
end;
{ TVfsFiles }
function TVfsFiles.CreateObjectOfSameType: TFiles;
begin
Result:= TVfsFiles.Create;
end;
function TVfsFiles.CreateFileObject: TFile;
begin
Result:= TVfsFile.Create;
end;
function TVfsFiles.Clone: TVfsFiles;
begin
Result:= TVfsFiles.Create;
CloneTo(Result);
end;
end.

View file

@ -27,7 +27,7 @@ uses
constructor TVfsListOperation.Create(aFileSource: IFileSource; aPath: String);
begin
FFiles := TFiles.Create;
FFiles := TVfsFiles.Create;
FVfsFileSource := aFileSource as IVfsFileSource;
inherited Create(aFileSource, aPath);
end;

View file

@ -56,6 +56,15 @@ type
property ModificationTime: TDateTime read GetModificationTime write SetModificationTime;
end;
{ TWfxPluginFiles }
TWfxPluginFiles = class(TFiles)
public
function CreateObjectOfSameType: TFiles; override;
function CreateFileObject: TFile; override;
function Clone: TWfxPluginFiles; override;
end;
implementation
uses
@ -207,5 +216,23 @@ begin
Result := FIsLinkToDirectory;
end;
{ TWfxPluginFiles }
function TWfxPluginFiles.CreateObjectOfSameType: TFiles;
begin
Result:= TWfxPluginFiles.Create;
end;
function TWfxPluginFiles.CreateFileObject: TFile;
begin
Result:= TWfxPluginFile.Create;
end;
function TWfxPluginFiles.Clone: TWfxPluginFiles;
begin
Result:= TWfxPluginFiles.Create;
CloneTo(Result);
end;
end.

View file

@ -37,7 +37,7 @@ uses
constructor TWfxPluginListOperation.Create(aFileSource: IFileSource; aPath: String);
begin
FFiles := TFiles.Create;
FFiles := TWfxPluginFiles.Create;
FWfxPluginFileSource := aFileSource as IWfxPluginFileSource;
FCallbackDataClass:= TCallbackDataClass.Create;
FCurrentPath:= ExcludeBackPathDelimiter(aPath);