1 /** 2 * Copyright (C) 2003-2005 Funambol 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 19 package sync4j.syncclient.spap.launcher; 20 21 import sync4j.syncclient.spap.AssetInstallationException; 22 import sync4j.syncclient.spap.installer.InstallationContext; 23 24 /** 25 * This interface models a generic class to be able to execute 26 * a specific programs category. 27 * 28 * @version $Id: Launcher.java,v 1.2 2005/01/19 11:18:36 fabius Exp $ 29 * @author Stefano Nichele 30 */ 31 32 public interface Launcher { 33 34 /** 35 * Executes the specified <i>programName</i> in 36 * the given <i>workingDirectory</i>. 37 * @param programName the program to execute. 38 * @param install <code>true</code> if the program is the installation program, 39 * <code>false</code> if the program is the uninstallation program 40 * @param ctx installation context information 41 * 42 * @throws AssetInstallationException if an error occurs during execution. 43 */ 44 public int execute(String programName, boolean install, InstallationContext ctx) 45 throws AssetInstallationException; 46 }