home *** CD-ROM | disk | FTP | other *** search
- package netscape.softupdate;
-
- import netscape.security.AppletSecurity;
- import netscape.security.PrivilegeManager;
- import netscape.security.Target;
-
- final class InstallFile extends InstallObject {
- private String vrName;
- private VersionInfo versionInfo;
- private String jarLocation;
- private String tempFile = null;
- private String finalFile;
- private Target target;
- private boolean force;
-
- InstallFile(SoftwareUpdate var1, String var2, VersionInfo var3, String var4, FolderSpec var5, String var6, boolean var7) throws SoftUpdateException {
- super(var1);
- this.vrName = var2;
- this.versionInfo = var3;
- this.jarLocation = var4;
- this.force = var7;
- this.finalFile = var5.MakeFullPath(var6);
- PrivilegeManager var8 = AppletSecurity.getPrivilegeManager();
- Target var9 = Target.findTarget("Impersonator");
- var8.enablePrivilege(var9);
- this.target = var5.GetSecurityTarget();
- var8.enablePrivilege(this.target, super.softUpdate.GetPrincipal());
- }
-
- protected void ExtractFile() throws SoftUpdateException {
- PrivilegeManager var1 = AppletSecurity.getPrivilegeManager();
- Target var2 = Target.findTarget("Impersonator");
- var1.enablePrivilege(var2);
- var1.enablePrivilege(this.target, super.softUpdate.GetPrincipal());
- this.tempFile = super.softUpdate.ExtractJARFile(this.jarLocation);
- }
-
- protected void Complete() throws SoftUpdateException {
- PrivilegeManager var2 = AppletSecurity.getPrivilegeManager();
- Target var3 = Target.findTarget("Impersonator");
- var2.enablePrivilege(var3);
- var2.enablePrivilege(this.target, super.softUpdate.GetPrincipal());
- int var1 = this.NativeComplete();
- var2.revertPrivilege(this.target);
- if (var1 != 0 && var1 != 999) {
- throw new SoftUpdateException(Strings.error_InstallFileUnexpected() + this.finalFile, var1);
- } else {
- VersionRegistry.installComponent(this.vrName, this.finalFile, this.versionInfo);
- if (var1 != 0) {
- throw new SoftUpdateException(this.finalFile, var1);
- }
- }
- }
-
- protected void Abort() {
- this.NativeAbort();
- }
-
- private native void NativeAbort();
-
- private native int NativeComplete();
-
- public String toString() {
- return "Copy file to " + this.finalFile;
- }
- }
-