GRASS GIS 8 Programmer's Manual  8.5.0dev(2024)-ce44da6b99
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. More...
 
void G_option_exclusive (void *first,...)
 Sets the options to be mutually exclusive. More...
 
void G_option_required (void *first,...)
 Sets the options to be required. More...
 
void G_option_requires (void *first,...)
 Define a list of options from which at least one option is required if first option is present. More...
 
void G_option_requires_all (void *first,...)
 Define additionally required options for an option. More...
 
void G_option_excludes (void *first,...)
 Exclude selected options. More...
 
void G_option_collective (void *first,...)
 Sets the options to be collective. More...
 
void G__check_option_rules (void)
 Check for option rules (internal use only) More...
 
void G__describe_option_rules (void)
 Describe option rules (stderr) More...
 
int G__has_required_rule (void)
 Checks if there is any rule RULE_REQUIRED (internal use only). More...
 
void G__describe_option_rules_xml (FILE *fp)
 Describe option rules in XML format (internal use only) More...
 

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.

◆ G__describe_option_rules()

void G__describe_option_rules ( void  )

Describe option rules (stderr)

Definition at line 438 of file parser_dependencies.c.

◆ G__describe_option_rules_xml()

void G__describe_option_rules_xml ( FILE *  fp)

Describe option rules in XML format (internal use only)

Parameters
fpfile where to print XML info

Definition at line 502 of file parser_dependencies.c.

◆ 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.

◆ 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
firstfirst 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
firstfirst 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
firstfirst 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
firstfirst 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
firstfirst 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
firstfirst 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
typerule type
noptsnumber of options in the array
optsarray of options

Definition at line 77 of file parser_dependencies.c.