home *** CD-ROM | disk | FTP | other *** search
- package netscape.softupdate;
-
- import java.text.MessageFormat;
- import netscape.security.AppletSecurity;
- import netscape.security.PrivilegeManager;
- import netscape.security.Target;
-
- class InstallExecute extends InstallObject {
- private String jarLocation;
- private String tempFile;
- private String args;
- private String cmdline;
-
- InstallExecute(SoftwareUpdate var1, String var2, String var3) {
- super(var1);
- this.jarLocation = var2;
- this.args = var3;
- PrivilegeManager var4 = AppletSecurity.getPrivilegeManager();
- Target var5 = Target.findTarget("Impersonator");
- var4.enablePrivilege(var5);
- Target var6 = Target.findTarget("SoftwareInstall");
- var4.enablePrivilege(var6, super.softUpdate.GetPrincipal());
- }
-
- protected void Prepare() throws SoftUpdateException {
- PrivilegeManager var1 = AppletSecurity.getPrivilegeManager();
- Target var2 = Target.findTarget("Impersonator");
- Target var3 = Target.findTarget("SoftwareInstall");
- var1.enablePrivilege(var2);
- var1.enablePrivilege(var3, super.softUpdate.GetPrincipal());
- this.tempFile = super.softUpdate.ExtractJARFile(this.jarLocation, (String)null);
- if (this.args != null && !System.getProperty("os.name").startsWith("Mac")) {
- this.cmdline = this.tempFile + " " + this.args;
- } else {
- this.cmdline = this.tempFile;
- }
- }
-
- protected void Complete() throws SoftUpdateException {
- PrivilegeManager var2 = AppletSecurity.getPrivilegeManager();
- Target var3 = Target.findTarget("Impersonator");
- var2.enablePrivilege(var3);
- Target var1 = Target.findTarget("SoftwareInstall");
- var2.enablePrivilege(var1, super.softUpdate.GetPrincipal());
- this.NativeComplete();
- var2.revertPrivilege(var1);
- }
-
- protected void Abort() {
- this.NativeAbort();
- }
-
- private native void NativeComplete() throws SoftUpdateException;
-
- private native void NativeAbort();
-
- public String toString() {
- Object[] var1 = new Object[]{this.jarLocation, this.tempFile};
- if (this.tempFile == null) {
- String var3 = MessageFormat.format(Strings.details_ExecuteProgress(), var1);
- return var3;
- } else {
- String var2 = MessageFormat.format(Strings.details_ExecuteProgress2(), var1);
- return var2;
- }
- }
-
- protected boolean CanUninstall() {
- return false;
- }
-
- protected boolean RegisterPackageNode() {
- return true;
- }
- }
-