Fractal | Fractal ADL | Cecilia Examples | Minus
 

fractal.api.Component

package fractal.api;

/**
 * A component interface to introspect the external interfaces of the component
 * to which it belongs.
 */
public interface Component extends ErrorConst {

  /**
   * Returns an external interface of the component to which this interface
   * belongs.
   *
   * @param interfaceName the name of the external interface that must be
   *      returned.
   * @param interfaceReference (out parameter) the external interface of the
   *      component to which this interface belongs, whose name is equal to the
   *      given name.
   * @return <code>0</code> if the interface exist and as been returned
   *      correctly or {@link ErrorConst#NO_SUCH_INTERFACE} if there is no such
   *      interface.
   */
  int getFcInterface(const in string interfaceName, out any interfaceReference);
  
  /**
   * Returns the external interfaces of the component to which this interface
   * belongs. More precisely, if the given <code>interfaceReferences</code> is
   * <code>null</code>, this method returns the number of external interfaces.
   * If it is not <code>null</code>, this method assumes that the given array is
   * big enough to contain all the external interfaces.
   * 
   * @param interfaceReferences an array into which references of the external
   *      interfaces are copied. Can be <code>null</code>.
   * @return the number of interface references; or
   *      {@link ErrorConst#OPERATION_NOT_SUPPORTED} if this operation is not
   *      supported.
   */
  int getFcInterfaces(in any[] interfaceReferences);
}
 
2007-2009 © ObjectWeb Consortium  | Last Published: 2009-04-21 13:33  | Version: 2.1.0