/** * 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"); } }
/** 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; } }
public static Iterator<installStep> getUninstallSteps() { return pkg.getInstallSteps(); }