When OEConfigure encounters a parameter record, it adds an OEParameter object to the OEInterface. A parameter record takes the following form.
!PARAMETER <name> [order priority] !TYPE <type> !ALIAS <alias> !BRIEF <brief description> !DEFAULT <default value> !REQUIRED <true or false> !VISIBILITY <visibility> !KEYLESS <keyless setting> !LEGAL_VALUE <value> !ILLEGAL_VALUE <value> !LEGAL_RANGE <hi value> <low value> !ILLEGAL_RANGE <hi_value> <low_value> !DETAIL <detailed description line 1> <detailed description line 2> <detailed description line 3> . . . !END
The order individual fields appear within the parameter record is unimportant.
Each parameter record must begin with !PARAMETER
and end with
!END
, and each record must have a !TYPE
field. All
other fields within the parameter record are optional. So the simplest
possible parameter record is.
!PARAMETER <name> [order priority] !TYPE <type> !END
When OEConfigure parses this record it does the equivilant of the following C++ code.
OEParameter* param = itf.AddParameter(<type>); param->SetName(<name>); param->SetOrderPriority([order priority]);
If [order priority] isn't specified, zero is assumed.
Legitamate values of <type> are
string
std::string
parameter
double
double
parameter
float
float
parameter
bool
bool
parameter
int
int
parameter
file
OEPlatform::oeisstream
parameter
param_file
OEPlatform::oeisstream
parameter
that is recognized as a text file holding parameter settings, by
OEParseCommandLine.
The remaining fields in a parameter record are optional have do the following.
!ALIAS
<alias>
param->AddAlias(<alias>);
This field can appear multiple times.
!BRIEF
<brief description>
param->SetBrief(<brief description>);
This field can only appear once.
!DEFAULT
<default value>
param->SetStringDefault(<default value>);
This field can only appear once.
!REQUIRED
<true or false>
param->SetRequired(<true or false>);
This field can only appear once in a parameter record.
!VISIBILITY
<visibility>
param->SetVisiblity(ParamVis::Simple); param->SetVisiblity(ParamVis::Normal); param->SetVisiblity(ParamVis::Hidden);
to be called respectively. This field can only appear once in a parameter record.
!KEYLESS
<keyless setting>
param->SetKeyless(<keyless setting>);
The <keyless setting> must be a non-negative integer. This field can only appear once in a parameter record.
!LEGAL_VALUE
<value>
param->AddLegalValue(<value>);
Parameters of type bool
cannot have a !LEGAL_VALUE
field.
This field can appear multiple times in a parameter record.
!ILLEGAL_VALUE
<value>
param->AddIllegalValue(<value>);
Parameters of type bool
cannot have an !ILLEGAL_VALUE
field.
This field can appear multiple times in a parameter record.
!LEGAL_RANGE
<hi value> <low value>
param->AddLegalRange(<hi value>, <low value>);
Parameters of type bool
, string
, file
and
file_param
cannot have a !LEGAL_RANGE
field.
This field can appear multiple times in a parameter record.
!ILLEGAL_RANGE
param->AddIllegalRange(<hi value>, <low value>);
Parameters of type bool
, string
, file
and
file_param
cannot have an !ILLEGAL_RANGE
field.
This field can appear multiple times in a parameter record.
!DETAIL
All lines following the !DETAIL keyword up until this next line begining with another parameter record keyword are added to the parameter via
param->AddDetail(<detail line>);
This field can appear once in a parameter record.