1 /*==================================================================== 2 3 OpenCCM: The Open CORBA Component Model Platform 4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL 5 Contact: openccm@objectweb.org 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with this library; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20 USA 21 22 Initial developer(s): Briclet Frédéric. 23 Contributor(s): ______________________________________. 24 25 ====================================================================*/ 26 27 package org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.installer; 28 29 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.Deployer; 30 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.FatalDeploymentException; 31 import org.omg.Components.CCMHome; 32 import org.omg.Components.Deployment.ComponentInstallation; 33 34 /** 35 * This DestinationDeployer interface defines all the methods that a DestinationDeployer 36 * must implement to be used in the deployment machine such as the deployer in charge 37 * of a specific destination kind. 38 * 39 * @author <a HREF="mailto:briclet@lifl.fr">Briclet Frédéric</a> 40 * 41 * @version 0.1 42 */ 43 public interface DestinationDeployer extends Deployer{ 44 45 /** 46 * Make the target destination deployer process all the dependencies 47 * of the implementation. 48 * 49 * @throws FatalDeploymentException if a problem occured 50 * during processing of dependencies 51 */ 52 public void 53 resolveDependency() 54 throws FatalDeploymentException; 55 56 /** 57 * InstallHome install the home on the precised destination according 58 * to the host requirements, such as dependencies and event factory. 59 * 60 * @return The home installed 61 * @throws FatalDeploymentException 62 */ 63 public CCMHome 64 installHome() 65 throws FatalDeploymentException; 66 67 /** 68 * Return the component installation of the target host used 69 * to install the home. 70 * 71 * @return The component installation of the target host 72 * @throws FatalDeploymentException if a fatal problem occured during installation 73 */ 74 public ComponentInstallation 75 getComponentInstallation() 76 throws FatalDeploymentException; 77 78 /** 79 * Remove a previously installed CCMHome 80 * 81 * @param home the home to remove 82 * @throws FatalDeploymentException if a fatal problem occured during uninstallation 83 */ 84 public void 85 removeHome(CCMHome home) 86 throws FatalDeploymentException; 87 88 } 89