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

  1. package netscape.softupdate;
  2.  
  3. import netscape.security.Principal;
  4. import netscape.security.PrivilegeManager;
  5. import netscape.security.Target;
  6. import netscape.security.UserDialogHelper;
  7. import netscape.security.UserTarget;
  8.  
  9. final class WinReg {
  10.    public final int HKEY_CLASSES_ROOT = Integer.MIN_VALUE;
  11.    public final int HKEY_CURRENT_USER = -2147483647;
  12.    public final int HKEY_LOCAL_MACHINE = -2147483646;
  13.    public final int HKEY_USERS = -2147483645;
  14.    protected final int CREATE = 1;
  15.    protected final int DELETE = 2;
  16.    protected final int DELETE_VAL = 3;
  17.    protected final int SET_VAL_STRING = 4;
  18.    protected final int SET_VAL = 5;
  19.    private int rootkey = Integer.MIN_VALUE;
  20.    private Principal principal;
  21.    private PrivilegeManager privMgr;
  22.    private Target impersonation;
  23.    // $FF: renamed from: su netscape.softupdate.SoftwareUpdate
  24.    private SoftwareUpdate field_0;
  25.    private static UserTarget target = new UserTarget("FullWindowsRegistryAccess", PrivilegeManager.getSystemPrincipal(), UserDialogHelper.targetRiskHigh(), UserDialogHelper.targetRiskColorHigh(), Strings.targetDesc_WinReg(), Strings.targetUrl_WinReg());
  26.    static final String INI_TARGET = "FullWindowsRegistryAccess";
  27.  
  28.    WinReg(SoftwareUpdate var1) {
  29.       this.field_0 = var1;
  30.       this.principal = var1.GetPrincipal();
  31.       this.privMgr = PrivilegeManager.getPrivilegeManager();
  32.       this.impersonation = Target.findTarget("Impersonator");
  33.    }
  34.  
  35.    public void setRootKey(int var1) {
  36.       this.rootkey = var1;
  37.    }
  38.  
  39.    public int createKey(String var1, String var2) {
  40.       byte var3;
  41.       try {
  42.          this.privMgr.enablePrivilege(this.impersonation);
  43.          this.privMgr.enablePrivilege(target, this.principal);
  44.          WinRegItem var4 = new WinRegItem(this, this.rootkey, 1, var1, var2, (Object)null);
  45.          this.field_0.ScheduleForInstall(var4);
  46.          var3 = 0;
  47.       } catch (Exception var5) {
  48.          ((Throwable)var5).printStackTrace(System.out);
  49.          var3 = -1;
  50.       }
  51.  
  52.       return var3;
  53.    }
  54.  
  55.    public int deleteKey(String var1) {
  56.       byte var2;
  57.       try {
  58.          this.privMgr.enablePrivilege(this.impersonation);
  59.          this.privMgr.enablePrivilege(target, this.principal);
  60.          WinRegItem var3 = new WinRegItem(this, this.rootkey, 2, var1, (String)null, (Object)null);
  61.          this.field_0.ScheduleForInstall(var3);
  62.          var2 = 0;
  63.       } catch (Exception var4) {
  64.          ((Throwable)var4).printStackTrace(System.out);
  65.          var2 = -1;
  66.       }
  67.  
  68.       return var2;
  69.    }
  70.  
  71.    public int deleteValue(String var1, String var2) {
  72.       byte var3;
  73.       try {
  74.          this.privMgr.enablePrivilege(this.impersonation);
  75.          this.privMgr.enablePrivilege(target, this.principal);
  76.          WinRegItem var4 = new WinRegItem(this, this.rootkey, 3, var1, var2, (Object)null);
  77.          this.field_0.ScheduleForInstall(var4);
  78.          var3 = 0;
  79.       } catch (Exception var5) {
  80.          ((Throwable)var5).printStackTrace(System.out);
  81.          var3 = -1;
  82.       }
  83.  
  84.       return var3;
  85.    }
  86.  
  87.    public int setValueString(String var1, String var2, String var3) {
  88.       byte var4;
  89.       try {
  90.          this.privMgr.enablePrivilege(this.impersonation);
  91.          this.privMgr.enablePrivilege(target, this.principal);
  92.          WinRegItem var5 = new WinRegItem(this, this.rootkey, 4, var1, var2, var3);
  93.          this.field_0.ScheduleForInstall(var5);
  94.          var4 = 0;
  95.       } catch (Exception var6) {
  96.          ((Throwable)var6).printStackTrace(System.out);
  97.          var4 = -1;
  98.       }
  99.  
  100.       return var4;
  101.    }
  102.  
  103.    public String getValueString(String var1, String var2) {
  104.       String var3;
  105.       try {
  106.          this.privMgr.enablePrivilege(this.impersonation);
  107.          this.privMgr.enablePrivilege(target, this.principal);
  108.          var3 = this.nativeGetValueString(var1, var2);
  109.       } catch (Exception var5) {
  110.          ((Throwable)var5).printStackTrace(System.out);
  111.          var3 = null;
  112.       }
  113.  
  114.       return var3;
  115.    }
  116.  
  117.    public int setValue(String var1, String var2, WinRegValue var3) {
  118.       byte var4;
  119.       try {
  120.          this.privMgr.enablePrivilege(this.impersonation);
  121.          this.privMgr.enablePrivilege(target, this.principal);
  122.          WinRegItem var5 = new WinRegItem(this, this.rootkey, 5, var1, var2, var3);
  123.          this.field_0.ScheduleForInstall(var5);
  124.          var4 = 0;
  125.       } catch (Exception var6) {
  126.          ((Throwable)var6).printStackTrace(System.out);
  127.          var4 = -1;
  128.       }
  129.  
  130.       return var4;
  131.    }
  132.  
  133.    public WinRegValue getValue(String var1, String var2) {
  134.       WinRegValue var3;
  135.       try {
  136.          this.privMgr.enablePrivilege(this.impersonation);
  137.          this.privMgr.enablePrivilege(target, this.principal);
  138.          var3 = this.nativeGetValue(var1, var2);
  139.       } catch (Exception var5) {
  140.          ((Throwable)var5).printStackTrace(System.out);
  141.          var3 = null;
  142.       }
  143.  
  144.       return var3;
  145.    }
  146.  
  147.    protected SoftwareUpdate softUpdate() {
  148.       return this.field_0;
  149.    }
  150.  
  151.    protected int finalCreateKey(int var1, String var2, String var3) {
  152.       this.setRootKey(var1);
  153.       return this.nativeCreateKey(var2, var3);
  154.    }
  155.  
  156.    protected int finalDeleteKey(int var1, String var2) {
  157.       this.setRootKey(var1);
  158.       return this.nativeDeleteKey(var2);
  159.    }
  160.  
  161.    protected int finalDeleteValue(int var1, String var2, String var3) {
  162.       this.setRootKey(var1);
  163.       return this.nativeDeleteValue(var2, var3);
  164.    }
  165.  
  166.    protected int finalSetValueString(int var1, String var2, String var3, String var4) {
  167.       this.setRootKey(var1);
  168.       return this.nativeSetValueString(var2, var3, var4);
  169.    }
  170.  
  171.    protected int finalSetValue(int var1, String var2, String var3, WinRegValue var4) {
  172.       this.setRootKey(var1);
  173.       return this.nativeSetValue(var2, var3, var4);
  174.    }
  175.  
  176.    private native int nativeCreateKey(String var1, String var2);
  177.  
  178.    private native int nativeDeleteKey(String var1);
  179.  
  180.    private native int nativeDeleteValue(String var1, String var2);
  181.  
  182.    private native int nativeSetValueString(String var1, String var2, String var3);
  183.  
  184.    private native String nativeGetValueString(String var1, String var2);
  185.  
  186.    private native int nativeSetValue(String var1, String var2, WinRegValue var3);
  187.  
  188.    private native WinRegValue nativeGetValue(String var1, String var2);
  189.  
  190.    static {
  191.       target = (UserTarget)target.registerTarget();
  192.    }
  193. }
  194.