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
stringstd::string parameter
doubledouble parameter
floatfloat parameter
boolbool parameter
intint parameter
fileOEPlatform::oeisstream parameter
param_fileOEPlatform::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.
!DETAILAll 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.