02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6<br />

Components<br />

The _CHILDREN property declares that INCLUDE_FOO is a child component of<br />

folder FOLDER_ROOT. The prepended underscore (“_”) serves to reverse the<br />

relationship declared by the property CHILDREN. You can also use _DEFAULTS in<br />

conjunction with _CHILDREN to specify a component as a default component of a<br />

folder. For more information about this CDL convention, see 6.4 Releasing<br />

Components, p.135.<br />

If you think a component is becoming too complex, you can divide it into a set of<br />

components assigned to a folder or selection object. In the following example,<br />

INCLUDE_FOO has been specified as part of a selection. You can add or remove the<br />

group from your configuration as a unit rather than by its individual components.<br />

For folders, the DEFAULTS property specifies the base set of components that are<br />

included if the group is configured without any overrides.<br />

For selections, the DEFAULTS property specifies the components that are included<br />

to satisfy the count (declared by the COUNT property), if you provide no<br />

alternative values.<br />

In a selection group, the COUNT property specifies the minimum and maximum<br />

number of included components. If the user exceeds these limits the system flags<br />

the selection as misconfigured.<br />

6<br />

Selection SELECT_FOO {<br />

NAME<br />

Foo type<br />

SYNOPSIS Select the type of desired FOO support<br />

COUNT 0-1<br />

CHILDREN INCLUDE_FOO_TYPE1 \<br />

INCLUDE_FOO_TYPE2 \<br />

INCLUDE_FOO_TYPE3<br />

DEFAULTS INCLUDE_FOO_TYPE1<br />

}<br />

Step 10:<br />

Create a Dummy Component<br />

The project facility analyzes archives only when they are associated with included<br />

components. This creates a chicken and egg problem: in order to know about a<br />

particular archive, the project facility would need to analyze components before<br />

they are actually added. In other words, if you add a component declared with an<br />

ARCHIVE property, the configuration analysis is done without knowing what the<br />

value of ARCHIVE is. So, if your component includes an archive with several object<br />

modules, you should create a dummy component that is always included, making<br />

it possible for the project facility to know that a new archive should be read. Call<br />

such a component INSTALL_FOO. It should contain only NAME, SYNOPSIS, and<br />

ARCHIVE properties. The user cannot add other components from the same<br />

archive until INSTALL_FOO is added.<br />

133

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!