diff options
Diffstat (limited to 'vfs/UVFSCore.pas')
| -rw-r--r-- | vfs/UVFSCore.pas | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/vfs/UVFSCore.pas b/vfs/UVFSCore.pas index 475730c..a0ada8f 100644 --- a/vfs/UVFSCore.pas +++ b/vfs/UVFSCore.pas @@ -63,11 +63,13 @@ type FVFSCopyIn: TVFSCopyIn; FVFSIsOnSameFS: TVFSIsOnSameFS; FVFSTwoSameFiles: TVFSTwoSameFiles; - FVFSGetExts: TVFSGetExts; - FVFSGetServices: TVFSGetServices; + FVFSGetArchiveExts: TVFSGetArchiveExts; + FVFSGetNetworkServices: TVFSGetNetworkServices; FVFSGetPasswordRequired: TVFSGetPasswordRequired; FVFSSetCallbacks: TVFSSetCallbacks; FVFSResetPassword: TVFSResetPassword; + function GetHandlesArchives: boolean; + function GetHandlesNetwork: boolean; public ModuleHandle: Pointer; FullPath: string; // module path @@ -80,6 +82,9 @@ type function ModuleName: string; function ModuleAbout: string; function ModuleCopyright: string; + published + property HandlesArchives: boolean read GetHandlesArchives; + property HandlesNetwork: boolean read GetHandlesNetwork; end; @@ -231,8 +236,8 @@ begin @FVFSSetBlockSize := dlsym(ModuleHandle, 'VFSSetBlockSize'); @FVFSIsOnSameFS := dlsym(ModuleHandle, 'VFSIsOnSameFS'); @FVFSTwoSameFiles := dlsym(ModuleHandle, 'VFSTwoSameFiles'); - @FVFSGetExts := dlsym(ModuleHandle, 'VFSGetExts'); - @FVFSGetServices := dlsym(ModuleHandle, 'VFSGetServices'); + @FVFSGetArchiveExts := dlsym(ModuleHandle, 'VFSGetArchiveExts'); + @FVFSGetNetworkServices := dlsym(ModuleHandle, 'VFSGetNetworkServices'); @FVFSGetPasswordRequired := dlsym(ModuleHandle, 'VFSGetPasswordRequired'); @FVFSSetCallbacks := dlsym(ModuleHandle, 'VFSSetCallbacks'); @FVFSResetPassword := dlsym(ModuleHandle, 'VFSResetPassword'); @@ -240,15 +245,15 @@ begin // Initialize the extensions list SetLength(Extensions, 0); SetLength(Services, 0); - if @FVFSGetExts <> nil then begin - s := FVFSGetExts; + if @FVFSGetArchiveExts <> nil then begin + s := FVFSGetArchiveExts; if s <> nil then begin ParseString(String(s), ';', Extensions); real_libc_free(s); end; end; - if @FVFSGetServices <> nil then begin - s := FVFSGetServices; + if @FVFSGetNetworkServices <> nil then begin + s := FVFSGetNetworkServices; if s <> nil then begin ParseString(String(s), ';', Services); real_libc_free(s); @@ -321,6 +326,16 @@ begin end else Result := ''; end; +function TVFSPlugin.GetHandlesArchives: boolean; +begin + Result := Length(Extensions) > 0; +end; + +function TVFSPlugin.GetHandlesNetwork: boolean; +begin + Result := Length(Services) > 0; +end; + (********************************************************************************************************************************) (********************************************************************************************************************************) constructor TVFSEngine.Create(SourcePlugin: TVFSPlugin); |
