Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
Parameters Library

The datatypes and methods for dealing with parameters. More...

Data Structures

struct  NamedParameterType
 This is a datatype that stores a read-only c-style string along with a ParameterType. More...
 
struct  Parameter
 The datatype that stores all of the information about a Parameter. More...
 
struct  ParameterNode
 A datatype for storing Parameters in a LinkedList. More...
 
struct  ParameterGroup
 A datatype to tell the system that certain parameters should be grouped together in the client's user interface if possible. More...
 
struct  ParameterGroupNode
 A datatype for storing a ParameterGroup on a LinkedList. More...
 
struct  ParameterSet
 A set of Parameters along with an optional name and description. More...
 
struct  ParameterSetNode
 A datatype for storing a ParameterSet on a LinkedList. More...
 
struct  RemoteParameterDetails
 This datatype is used to denote that a Parameter is for use on a PairedService. More...
 
struct  RemoteParameterDetailsNode
 A ListItem for storing RemoteParameterDetails on a LinkedList. More...
 

Macros

#define SET_NAMED_PARAMETER_TYPE_TAGS(a, b)   ({ .npt_name_s = a, .npt_type = b})
 A macro to provide a quick way to set the name and ParameterType for NamedParameterType objects. More...
 

Enumerations

enum  ParameterLevel { PL_SIMPLE, PL_ADVANCED, PL_ALL }
 The ParameterLevel defines the level that a user should be to adjust the Parameter. More...
 
enum  ParameterType {
  PT_BOOLEAN, PT_SIGNED_INT, PT_UNSIGNED_INT, PT_NEGATIVE_INT,
  PT_SIGNED_REAL, PT_UNSIGNED_REAL, PT_STRING, PT_FILE_TO_WRITE,
  PT_FILE_TO_READ, PT_DIRECTORY, PT_CHAR, PT_PASSWORD,
  PT_KEYWORD, PT_LARGE_STRING, PT_JSON, PT_TABLE,
  PT_FASTA, PT_TIME, PT_JSON_TABLE, PT_COMPLETABLE_STRING,
  PT_STRING_ARRAY, PT_FILE_TO_UPLOAD, PT_TIME_ARRAY, PT_NUM_TYPES
}
 The different types that a Parameter can take. More...
 

Detailed Description

The datatypes and methods for dealing with parameters.

Macro Definition Documentation

◆ SET_NAMED_PARAMETER_TYPE_TAGS

#define SET_NAMED_PARAMETER_TYPE_TAGS (   a,
 
)    ({ .npt_name_s = a, .npt_type = b})

A macro to provide a quick way to set the name and ParameterType for NamedParameterType objects.

Enumeration Type Documentation

◆ ParameterLevel

The ParameterLevel defines the level that a user should be to adjust the Parameter.

The level of Parameters that a user wishes to work with can be adjusted within the user interface.

Enumerator
PL_SIMPLE 

The value of a ParameterLevel for Parameters that are considered the most simple options.

PL_ADVANCED 

The value of a ParameterLevel for Parameters that are considered the options that require the most expertise.

PL_ALL 

The value of a ParameterLevel for Parameters that are considered the options suitable for all levels.

◆ ParameterType

The different types that a Parameter can take.

Enumerator
PT_BOOLEAN 

A boolean parameter.

PT_SIGNED_INT 

A 32-bit integer.

PT_UNSIGNED_INT 

A non-negative 32-bit integer.

PT_NEGATIVE_INT 

A non-positive 32-bit integer.

PT_SIGNED_REAL 

A real number.

PT_UNSIGNED_REAL 

An unsigned real number.

PT_STRING 

A c-style string.

PT_FILE_TO_WRITE 

An output filename string.

PT_FILE_TO_READ 

An input filename string.

PT_DIRECTORY 

A directory string.

PT_CHAR 

A single 1-byte character.

PT_PASSWORD 

A sensitive c-style string that shouldn't be displayed explicitly to the user.

PT_KEYWORD 

A value that a Service can use without any other parameters being set to produce results.

PT_LARGE_STRING 

A potentially large c-style string.

This is used by clients to determine the appropriate editor to show to the user. E.g. a multi-line text bos as opposed to a single-line text box for a PT_STRING.

PT_JSON 

A JSON fragment.

PT_TABLE 

A c-style string of tabular data.

PT_FASTA 

A string representing a FASTA sequence.

PT_TIME 

A struct tm representing a time and date.

PT_JSON_TABLE 

Tabular data stored as a JSON array where each object is it is a row within the tabular data.

PT_COMPLETABLE_STRING 

A string variable which presents a list of possible matches as a drop down list on each keypress.

An auto-completeable string.

PT_STRING_ARRAY 

Multiple String values.

PT_FILE_TO_UPLOAD 

An input filename string.

PT_TIME_ARRAY 

Multiple Time values.

PT_NUM_TYPES 

The number of possible ParameterType values.