예제 #1
0
 /**
  * called by the install thread class, performs the real install in the background and keeps
  * providing feedback using the steps interfaces
  */
 public static void performUninstall() {
   try {
     if (bnd != null) {
       bnd.uninstall();
       state = "waiting";
       active = false;
       bnd = null;
     } else if (pkg != null) {
       pkg.uninstall();
       state = "waiting";
       active = false;
       pkg = null;
     }
   } catch (Exception e) {
     log.error("performInstall problem");
   }
 }
예제 #2
0
  /** uninstall a package */
  public static synchronized boolean uninstallPackage(PackageInterface p) {
    if (!active) {
      // turn the uninstallManager to active
      active = true;

      // signal we are a package only install
      bundle = false;

      // set the package
      pkg = p;
      state = "uninstalling";
      p.clearInstallSteps();
      runner = new uninstallThread();
      return true;
    } else {
      // returning false _allways_ means we where busy
      // error feedback is provided by the processsteps
      return false;
    }
  }
예제 #3
0
 public static Iterator<installStep> getUninstallSteps() {
   return pkg.getInstallSteps();
 }