OSFI-Fortran  3.9.2
OpenSF Integration Library
osfi_confm Module Reference

ConFM routines Parses the XML configuration files provided by the openSF HMI formatted with the following elements: More...

Data Types

type  osfi_paramelemtype
 Type that represents a parameter element type. It is used instead of integral constants to avoid arithmetic operations on them, akin to the difference between "enum" and "enum class" in C++. They can be tested for (in)equality, and used in a Select Case construct through the publically accessible "repr" field. More...
 
type  osfi_parameter
 Type that wraps the Parameter class in OSFI-C++. More...
 
interface  osfi_paramreader
 Type that wraps the ParamReader class in OSFI-C++. More...
 

Variables

type(osfi_paramelemtype), parameter, public osfi_pet_integer = OSFI_ParamElemType(FFI_PET_INTEGER)
 
type(osfi_paramelemtype), parameter, public osfi_pet_float = OSFI_ParamElemType(FFI_PET_FLOAT)
 
type(osfi_paramelemtype), parameter, public osfi_pet_boolean = OSFI_ParamElemType(FFI_PET_BOOLEAN)
 
type(osfi_paramelemtype), parameter, public osfi_pet_string = OSFI_ParamElemType(FFI_PET_STRING)
 
type(osfi_paramelemtype), parameter, public osfi_pet_file = OSFI_ParamElemType(FFI_PET_FILE)
 
type(osfi_paramelemtype), parameter, public osfi_pet_folder = OSFI_ParamElemType(FFI_PET_FOLDER)
 
type(osfi_paramelemtype), parameter, public osfi_pet_time = OSFI_ParamElemType(FFI_PET_TIME)
 

Detailed Description

ConFM routines Parses the XML configuration files provided by the openSF HMI formatted with the following elements:

  • Element “<group_name>”. This element can create nested groups to enclose parameters and provide scope information. Optional element.
  • Element “parameter”. This element can define the following attributes:
    • Name. This is the parameter identifier. Names cannot contain spaces;
    • Description. Short definition or meaning for the parameter;
    • Type. Possible values for this attribute are: INTEGER, DOUBLE, BOOLEAN, STRING, FILE or FOLDER. These are system-independent type of values, only intended for GUI formatting validations.
    • Value. This is the numerical, string or file location value of the parameter;
    • Units. Physical units of measurements if applicable. This attribute is optional;
    • Ndims. Number of dimensions (1 for scalar variables, 2 and beyond for n-dimensional matrices). This attribute is optional but must be defined alongside “dims”;
    • Dims. Size of the dimensions. For example “1, 3” is a vector of three elements and “3, 3” is a square matrix of 3x3 elements. The first number refers to columns and the second one to rows when describing a matrix. This attribute is also optional but must be defined if “ndims” is defined. For scalar variables, the pair of “ndims” and “dims” attributes can be avoided. For variables of vector/matrix types, the “value” attribute must contain a comma-separated (or blank-separated) list of values by rows, following this example: A 3 columns by 2 rows matrix (ndims = “2” dims = “3,2”) 1 2 3 4 5 6 Will be represented as: “1,2,3,4,5,6”. String vectors must enclose each element in single quotes. For example “'a string' 'second string' 'third and last string'”.