home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / java40.jar / netscape / softupdate / InstallFile.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  2.6 KB  |  67 lines

  1. package netscape.softupdate;
  2.  
  3. import netscape.security.AppletSecurity;
  4. import netscape.security.PrivilegeManager;
  5. import netscape.security.Target;
  6.  
  7. final class InstallFile extends InstallObject {
  8.    private String vrName;
  9.    private VersionInfo versionInfo;
  10.    private String jarLocation;
  11.    private String tempFile = null;
  12.    private String finalFile;
  13.    private Target target;
  14.    private boolean force;
  15.  
  16.    InstallFile(SoftwareUpdate var1, String var2, VersionInfo var3, String var4, FolderSpec var5, String var6, boolean var7) throws SoftUpdateException {
  17.       super(var1);
  18.       this.vrName = var2;
  19.       this.versionInfo = var3;
  20.       this.jarLocation = var4;
  21.       this.force = var7;
  22.       this.finalFile = var5.MakeFullPath(var6);
  23.       PrivilegeManager var8 = AppletSecurity.getPrivilegeManager();
  24.       Target var9 = Target.findTarget("Impersonator");
  25.       var8.enablePrivilege(var9);
  26.       this.target = var5.GetSecurityTarget();
  27.       var8.enablePrivilege(this.target, super.softUpdate.GetPrincipal());
  28.    }
  29.  
  30.    protected void ExtractFile() throws SoftUpdateException {
  31.       PrivilegeManager var1 = AppletSecurity.getPrivilegeManager();
  32.       Target var2 = Target.findTarget("Impersonator");
  33.       var1.enablePrivilege(var2);
  34.       var1.enablePrivilege(this.target, super.softUpdate.GetPrincipal());
  35.       this.tempFile = super.softUpdate.ExtractJARFile(this.jarLocation);
  36.    }
  37.  
  38.    protected void Complete() throws SoftUpdateException {
  39.       PrivilegeManager var2 = AppletSecurity.getPrivilegeManager();
  40.       Target var3 = Target.findTarget("Impersonator");
  41.       var2.enablePrivilege(var3);
  42.       var2.enablePrivilege(this.target, super.softUpdate.GetPrincipal());
  43.       int var1 = this.NativeComplete();
  44.       var2.revertPrivilege(this.target);
  45.       if (var1 != 0 && var1 != 999) {
  46.          throw new SoftUpdateException(Strings.error_InstallFileUnexpected() + this.finalFile, var1);
  47.       } else {
  48.          VersionRegistry.installComponent(this.vrName, this.finalFile, this.versionInfo);
  49.          if (var1 != 0) {
  50.             throw new SoftUpdateException(this.finalFile, var1);
  51.          }
  52.       }
  53.    }
  54.  
  55.    protected void Abort() {
  56.       this.NativeAbort();
  57.    }
  58.  
  59.    private native void NativeAbort();
  60.  
  61.    private native int NativeComplete();
  62.  
  63.    public String toString() {
  64.       return "Copy file to " + this.finalFile;
  65.    }
  66. }
  67.