urn:schemas-cosylab-com:Component:1.0
complexType ComponentInfo

Super Types
{http://www.w3.org/2001/XMLSchema}anyType
|
+--{urn:schemas-cosylab-com:Component:1.0}ComponentInfo (restriction)

Documentation
Specification for a Component to be instantiated in the system.
Properties
This component is not nillable.

Model
<...
  Autostart = xs:boolean : false
  Code = xs:string
  Container = xs:string
  Default = xs:boolean : false
  ImplLang = xs:string
  KeepAliveTime = xs:int : 0
  Name = xs:string
  Type = xs:string>
ComponentLogger?
</...>


Nested Element Summary
log:UnnamedLoggerComponentLogger
          See the description of the identical element in Components.xsd 

Attribute Summary
 xs:booleanAutostart
          'true' if the component has to be started automatically whenever its container become alive. 
 xs:stringCode
          Code with the implementation of the Component. 
 xs:stringContainer
          This is the name of the Container where the component will be instantiated on request. 
 xs:booleanDefault
          'true' if the Component shall be the default Component for the specified IDL interface. 
 xs:stringImplLang
          The programming language the component is implemented in. 
 xs:intKeepAliveTime
          Time in seconds the Manager should wait to deactivate a Component after all clients have released it. 
 xs:stringName
          Name of the component being defined. 
 xs:stringType
          This is the complete IDL specification for the interface implemented by the component. 

Attribute Detail

Autostart

'true' if the component has to be started automatically whenever its container become alive. This is a 'Component centric' way to specify autostrart components. Another alternative way, more "Manager-centric' is to list the component by name in the startup section of the Manager CDB.

Type:
xs:boolean
Default:
false
Use:
optional
Form:
unqualified

Code

Code with the implementation of the Component. What code means depends on the implementation language: in CPP it is the name of a Dynamically Linked Library (DLL) containing the implementation, in Java it is the name of a class ocntaining the implementation and in Python it is the name of a Python module.

Type:
xs:string
Use:
required
Form:
unqualified

Container

This is the name of the Container where the component will be instantiated on request.

Type:
xs:string
Use:
required
Form:
unqualified

Default

'true' if the Component shall be the default Component for the specified IDL interface. ACS allows to ask for a component just by the IDL interface. With such a request the Manager will look for a component marked as default and declaring to implement the requested interfaces.

Type:
xs:boolean
Default:
false
Use:
optional
Form:
unqualified

ImplLang

The programming language the component is implemented in.

Type:
based on
with :
Use:
required
Form:
unqualified

KeepAliveTime

Time in seconds the Manager should wait to deactivate a Component after all clients have released it. If the time is bigger than 0, the Manager will wait the specified number of seconds, giving therefore the system another chance to request again the component before it is de-activated, avoiding activation/deactivation that would make the system oscillate beween activating and deactivating components. A value = 0 means that the Manager should not wait and deactivate the Component immediately. This is the default and is backward compatible. A value lowed than 0 means that the Component will never be de-activated after the first activation. This implements the concept of immortal component,

Type:
xs:int
Default:
0
Use:
optional
Form:
unqualified

Name

Name of the component being defined. The hierarchical name of the component can be build using the / separator or nodes hierarchy in the XML file. The hierarchical name of a component must be unituqe in the system.

Type:
xs:string
Use:
required
Form:
unqualified

Type

This is the complete IDL specification for the interface implemented by the component. For example: IDL:alma/TestDevice:1.0

Type:
xs:string
Use:
required
Form:
unqualified

Source
<xs:complexType name="ComponentInfo">
<xs:sequence>
<xs:element minOccurs="0" name="ComponentLogger" type="log:UnnamedLogger">
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="Code" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="Type" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="Container" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="ImplLang" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="java"/>
<xs:enumeration value="cpp"/>
<xs:enumeration value="py"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute default="false" name="Default" type="xs:boolean" use="optional">
</xs:attribute>
<xs:attribute default="false" name="Autostart" type="xs:boolean" use="optional">
</xs:attribute>
<xs:attribute default="0" name="KeepAliveTime" type="xs:int" use="optional">
</xs:attribute>
</xs:complexType>


Submit a bug or a feature.
Created by xsddoc, a sub project of xframe, hosted at http://xframe.sourceforge.net.