OEParseCommandLine is designed for moderately to highly complex interfaces. It expects the command line to consist of key-value pairs, where the key is the name of a parameter and the value is the parameters setting. Given following example program
Chapter 32 - Example 4: cpp file
#include "oeplatform.h"
#include "oesystem.h"
//Defines static const unsigned char* array InterfaceData
#include "ch32-4.itf"
using namespace OEPlatform;
using namespace OESystem;
int main(int argc, char** argv)
{
OEInterface itf;
OEConfigure(itf,InterfaceData);
OEParseCommandLine(itf,argc,argv);
OEWriteSettings(itf,oeout,true);
return 0;
}
and text configuration file
Chapter 32 - Example 4: txt file
!PARAMETER -x !TYPE float !END !PARAMETER -y !TYPE float !END !PARAMETER -op !TYPE string !END
Here is some example output with proper command lines
> ch32-4 -op add #Interface settings -op add #-x (Not set, no default) #-y (Not set, no default) > ch32-4 -op add -x 5 -y -4.5 #Interface settings -op add -x 5.000000 -y -4.500000 > ch32-4 -y -4.5 -op add -x 5 #Interface settings -op add -x 5.000000 -y -4.500000 >
and improper command lines
> ch32-4 -op add -x 9d Fatal: 9d is not a legal setting for parameter -x (specified on command line) > ch32-4 -op add -x 5 -yy -4.5 Fatal: Unknown argument on command line -yy > ch32-4 -op add -x 5 -y Fatal: Parameter -y on the command line is not followed by a value
This function is described in detail in the API documentation.