<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE definition PUBLIC "-//objectweb.org//DTD Fractal ADL 2.0//EN" "classpath://org/objectweb/fractal/adl/xml/standard.dtd">

<!--
 * AOKell
 * Copyright (C) 2005 INRIA, France Telecom
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Contact: Lionel.Seinturier@lifl.fr
 *
 * Author: Lionel Seinturier
 -->

<definition
	name="org.objectweb.fractal.aokell.lib.membrane.primitive.Primitive"
	extends="org.objectweb.fractal.aokell.lib.control.logger.LoggerControllerType,org.objectweb.fractal.aokell.lib.control.lifecycle.LifeCycleControllerType,org.objectweb.fractal.aokell.lib.control.binding.BindingControllerType,org.objectweb.fractal.aokell.lib.control.component.ComponentControllerType,org.objectweb.fractal.aokell.lib.control.name.NameControllerType,org.objectweb.fractal.aokell.lib.control.superc.SuperControllerType,org.objectweb.fractal.aokell.lib.control.membrane.MembraneControllerType" >
  
	<component name="LogC"
  		definition="org.objectweb.fractal.aokell.lib.control.logger.LoggerController" />
  
	<component name="Comp"
  		definition="org.objectweb.fractal.aokell.lib.control.component.NonCompositeComponentController" />
  
	<component name="NC"
  		definition="org.objectweb.fractal.aokell.lib.control.name.NameController" />
  
	<component name="LC"
  		definition="org.objectweb.fractal.aokell.lib.control.lifecycle.NonCompositeLifeCycleController" />
  
	<component name="BC"
  		definition="org.objectweb.fractal.aokell.lib.control.binding.PrimitiveBindingController" />
	
	<component name="SC"
  		definition="org.objectweb.fractal.aokell.lib.control.superc.SuperController" />
	
	<component name="MC"
  		definition="org.objectweb.fractal.aokell.lib.control.membrane.MembraneController" />
  
	<binding client="this.//component" server="Comp.//component" />
	<binding client="this.//name-controller" server="NC.//name-controller" />
	<binding client="this.//lifecycle-controller" server="LC.//lifecycle-controller" />
	<binding client="this.//binding-controller" server="BC.//binding-controller" />
	<binding client="this.//super-controller" server="SC.//super-controller" />
	<binding client="this.///membrane-controller" server="MC.///membrane-controller" />
		
	<binding client="Comp.//binding-controller" server="BC.//binding-controller" />
	<binding client="BC.//component" server="Comp.//component" />
	<binding client="BC.//super-controller" server="SC.//super-controller" />
	<binding client="BC.//name-controller" server="NC.//name-controller" />
	<binding client="LC.//binding-controller" server="BC.//binding-controller" />
	<binding client="LC.//component" server="Comp.//component" />

	<controller desc="mComposite" />

</definition>
