Loading...
Searching...
No Matches
parser_dependencies.c File Reference

GIS Library - Argument parsing functions (dependencies between options). More...

`#include <stdarg.h>`
`#include <string.h>`
`#include <stdio.h>`
`#include <grass/gis.h>`
`#include <grass/glocale.h>`
`#include "parser_local_proto.h"`
Include dependency graph for parser_dependencies.c:

Go to the source code of this file.

## Functions

void | G_option_rule (int type, int nopts, void **opts)
| Set generic option rule.
void | G_option_exclusive (void *first,...)
| Sets the options to be mutually exclusive.
void | G_option_required (void *first,...)
| Sets the options to be required.
void | G_option_requires (void *first,...)
| Define a list of options from which at least one option is required if first option is present.
void | G_option_requires_all (void *first,...)
| Define additionally required options for an option.
void | G_option_excludes (void *first,...)
| Exclude selected options.
void | G_option_collective (void *first,...)
| Sets the options to be collective.
void | G__check_option_rules (void)
| Check for option rules (internal use only).
void | G__describe_option_rules (void)
| Describe option rules (stderr).
int | G__has_required_rule (void)
| Checks if there is any rule RULE_REQUIRED (internal use only).
const struct Option * | G__first_required_option_from_rules (void)
void | G__describe_option_rules_xml (FILE *fp)
| Describe option rules in XML format (internal use only).

## Detailed Description

GIS Library - Argument parsing functions (dependencies between options).

(C) 2014-2015 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
  Glynn Clements Jun. 2014

Definition in file parser_dependencies.c.

## Function Documentation

## G__check_option_rules()

void G__check_option_rules | ( | void |  | ) |

Check for option rules (internal use only).

Definition at line 403 of file parser_dependencies.c.

References G_fatal_error().

Referenced by G_parser().

## G__describe_option_rules()

void G__describe_option_rules | ( | void |  | ) |

Describe option rules (stderr).

Definition at line 438 of file parser_dependencies.c.

References G_fatal_error().

## G__describe_option_rules_xml()

void G__describe_option_rules_xml | ( | FILE * | fp | ) |

Describe option rules in XML format (internal use only).

Parameters

  fp | file where to print XML info

Definition at line 526 of file parser_dependencies.c.

References G_fatal_error().

Referenced by G__usage_xml().

## G__first_required_option_from_rules()

const struct Option * G__first_required_option_from_rules | ( | void |  | ) |

Definition at line 494 of file parser_dependencies.c.

References G_fatal_error(), and NULL.

## G__has_required_rule()

int G__has_required_rule | ( | void |  | ) |

Checks if there is any rule RULE_REQUIRED (internal use only).

Returns
  1 if there is such rule
  0 if not

Definition at line 481 of file parser_dependencies.c.

References FALSE, and TRUE.

Referenced by G_parser().

## G_option_collective()

void G_option_collective | ( | void * | first,
|  |  | ... )

Sets the options to be collective.

If any option is present, all the other options must also be present all or nothing from a set.

The last item of the list must be NULL.

Parameters

  first | first given option

Definition at line 380 of file parser_dependencies.c.

## G_option_excludes()

void G_option_excludes | ( | void * | first,
|  |  | ... )

Exclude selected options.

If the first option is present, none of the other options may also (should?) be present.

The last item of the list must be NULL.

Parameters

  first | first given option

Definition at line 349 of file parser_dependencies.c.

## G_option_exclusive()

void G_option_exclusive | ( | void * | first,
|  |  | ... )

Sets the options to be mutually exclusive.

When running the module, at most one option from a set can be provided.

The last item of the list must be NULL.

Parameters

  first | first given option

Definition at line 214 of file parser_dependencies.c.

## G_option_required()

void G_option_required | ( | void * | first,
|  |  | ... )

Sets the options to be required.

At least one option from a set must be given.

The last item of the list must be NULL.

Parameters

  first | first given option

Definition at line 242 of file parser_dependencies.c.

## G_option_requires()

void G_option_requires | ( | void * | first,
|  |  | ... )

Define a list of options from which at least one option is required if first option is present.

If the first option is present, at least one of the other options must also be present.

The last item of the list must be NULL.

If you want all options to be provided use G_option_requires_all() function. If you want more than one option to be present but not all, call this function multiple times.

Parameters

  first | first given option

Definition at line 278 of file parser_dependencies.c.

## G_option_requires_all()

void G_option_requires_all | ( | void * | first,
|  |  | ... )

Define additionally required options for an option.

If the first option is present, all the other options must also be present.

The last item of the list must be NULL.

If it is enough if only one option from a set is present, use G_option_requires() function.

See also
  G_option_collective()

Parameters

  first | first given option

Definition at line 318 of file parser_dependencies.c.

## G_option_rule()

void G_option_rule | ( | int | type,
|  | int | nopts,
|  | void ** | opts )

Set generic option rule.

Supported rule types:

- RULE_EXCLUSIVE
- RULE_REQUIRED
- RULE_REQUIRES
- RULE_REQUIRES_ALL
- RULE_EXCLUDES
- RULE_COLLECTIVE

Parameters

  type | rule type
  nopts | number of options in the array
  opts | array of options

Definition at line 77 of file parser_dependencies.c.