Parameters Library

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

Data Structures

struct  ParameterBounds
 A datatype used for numeric parameters that have a finite range of values. More...
 
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  ParameterOption
 A ParameterOption is used when a Parameter wants to constrain the possible values to one from a fixed set. More...
 
struct  ParameterOptionNode
 A datatype for storing ParameterMultiOptions 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...
 
union  SharedType
 A datatype to store values for a Parameter. More...
 
struct  SharedTypeNode
 A datatype allowing a SharedType to be stored 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_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_NUM_TYPES 

The number of possible ParameterType values.