/* * Zed Attack Proxy (ZAP) and its related class files. * * ZAP is an HTTP/HTTPS proxy for assessing web application security. * * Copyright 2015 The ZAP Development Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.zaproxy.zap.control; /** * A callback that receives updates of the uninstallation progress of an {@code AddOn}. * * @since 2.4.0 * @see AddOn */ public interface AddOnUninstallationProgressCallback { /** * Called before uninstalling the add-on. * * @param addOn the add-on that will be uninstalled * @param updating {@code true} if the add-on is being uninstalled to install a new version, {@code false} otherwise */ void uninstallingAddOn(AddOn addOn, boolean updating); /** * Called before removing the active scanners of the add-on. * * @param numberOfRules the number of active scanners that will be removed */ void activeScanRulesWillBeRemoved(int numberOfRules); /** * Called after an active scanner has been removed. * * @param name the name of the active scanner that was removed * @see org.parosproxy.paros.core.scanner.Plugin#getName() */ void activeScanRuleRemoved(String name); /** * Called before removing the passive scanners of the add-on. * * @param numberOfRules the number of passive scanners that will be removed */ void passiveScanRulesWillBeRemoved(int numberOfRules); /** * Called after a passive scanner has been removed. * * @param name the name of the passive scanner that was removed * @see org.zaproxy.zap.extension.pscan.PluginPassiveScanner#getName() */ void passiveScanRuleRemoved(String name); /** * Called before removing the files of the add-on. * * @param numberOfFiles the number of files that will be removed */ void filesWillBeRemoved(int numberOfFiles); /** * Called after a file has been removed. */ void fileRemoved(); /** * Called before removing the extensions of the add-on. * * @param numberOfExtensions the number of extensions that will be removed */ void extensionsWillBeRemoved(int numberOfExtensions); /** * Called after an extension has been removed. * * @param name the (UI) name of the extension that was removed * @see org.parosproxy.paros.extension.Extension#getUIName() */ void extensionRemoved(String name); /** * Called after uninstalling the add-on. * * @param uninstalled {@code true} if the add-on was successfully uninstalled , {@code false} otherwise */ void addOnUninstalled(boolean uninstalled); }