|
Blender
V3.3
|
A general argument parsing module. More...
#include <ctype.h>#include <stdio.h>#include <string.h>#include "MEM_guardedalloc.h"#include "BLI_args.h"#include "BLI_ghash.h"#include "BLI_listbase.h"#include "BLI_string.h"#include "BLI_utildefines.h"Go to the source code of this file.
Classes | |
| struct | bArgDoc |
| struct | bAKey |
| struct | bArgument |
| struct | bArgs |
Typedefs | |
| typedef struct bArgDoc | bArgDoc |
| typedef struct bAKey | bAKey |
| typedef struct bArgument | bArgument |
Functions | |
| static uint | case_strhash (const void *ptr) |
| static uint | keyhash (const void *ptr) |
| static bool | keycmp (const void *a, const void *b) |
| static bArgument * | lookUp (struct bArgs *ba, const char *arg, int pass, int case_str) |
| bArgs * | BLI_args_create (int argc, const char **argv) |
| void | BLI_args_destroy (struct bArgs *ba) |
| void | BLI_args_pass_set (struct bArgs *ba, int current_pass) |
| void | BLI_args_print (struct bArgs *ba) |
| static bArgDoc * | internalDocs (struct bArgs *ba, const char *short_arg, const char *long_arg, const char *doc) |
| static void | internalAdd (struct bArgs *ba, const char *arg, int case_str, BA_ArgCallback cb, void *data, bArgDoc *d) |
| void | BLI_args_add_case (struct bArgs *ba, const char *short_arg, int short_case, const char *long_arg, int long_case, const char *doc, BA_ArgCallback cb, void *data) |
| void | BLI_args_add (struct bArgs *ba, const char *short_arg, const char *long_arg, const char *doc, BA_ArgCallback cb, void *data) |
| static void | internalDocPrint (bArgDoc *d) |
| void | BLI_args_print_arg_doc (struct bArgs *ba, const char *arg) |
| void | BLI_args_print_other_doc (struct bArgs *ba) |
| bool | BLI_args_has_other_doc (const struct bArgs *ba) |
| void | BLI_args_parse (struct bArgs *ba, int pass, BA_ArgCallback default_cb, void *default_data) |
Variables | |
| static char | NO_DOCS [] = "NO DOCUMENTATION SPECIFIED" |
A general argument parsing module.
Definition in file BLI_args.c.
| void BLI_args_add | ( | struct bArgs * | ba, |
| const char * | short_arg, | ||
| const char * | long_arg, | ||
| const char * | doc, | ||
| BA_ArgCallback | cb, | ||
| void * | data | ||
| ) |
Pass starts at 1, -1 means valid all the time short_arg or long_arg can be null to specify no short or long versions
Definition at line 214 of file BLI_args.c.
References BLI_args_add_case(), and data.
Referenced by main_args_setup().
| void BLI_args_add_case | ( | struct bArgs * | ba, |
| const char * | short_arg, | ||
| int | short_case, | ||
| const char * | long_arg, | ||
| int | long_case, | ||
| const char * | doc, | ||
| BA_ArgCallback | cb, | ||
| void * | data | ||
| ) |
Short_case and long_case specify if those arguments are case specific
Definition at line 194 of file BLI_args.c.
References data, internalAdd(), and internalDocs().
Referenced by BLI_args_add(), and main_args_setup().
| bArgs* BLI_args_create | ( | int | argc, |
| const char ** | argv | ||
| ) |
Definition at line 99 of file BLI_args.c.
References bArgs::argc, bArgs::argv, BLI_ghash_new(), BLI_listbase_clear(), bArgs::current_pass, bArgs::docs, bArgs::items, keycmp(), keyhash(), MEM_callocN, and bArgs::passes.
Referenced by main().
Definition at line 114 of file BLI_args.c.
References BLI_freelistN(), BLI_ghash_free(), bArgs::docs, bArgs::items, MEM_freeN, and bArgs::passes.
Referenced by callback_main_atexit().
Definition at line 263 of file BLI_args.c.
References bArgs::docs, and ListBase::first.
Referenced by arg_handle_print_help().
| void BLI_args_parse | ( | struct bArgs * | ba, |
| int | pass, | ||
| BA_ArgCallback | default_cb, | ||
| void * | default_data | ||
| ) |
Definition at line 273 of file BLI_args.c.
References Freestyle::a, bArgs::argc, bArgs::argv, BLI_assert, data, lookUp(), NULL, and bArgs::passes.
Referenced by main(), and main_args_setup_post().
The pass to use for BLI_args_add.
Definition at line 122 of file BLI_args.c.
References BLI_assert, and bArgs::current_pass.
Referenced by main_args_setup().
Definition at line 128 of file BLI_args.c.
References bArgs::argc, and bArgs::argv.
Referenced by arg_handle_debug_mode_set().
Definition at line 239 of file BLI_args.c.
References Freestyle::a, internalDocPrint(), and lookUp().
Referenced by arg_handle_print_help().
Definition at line 252 of file BLI_args.c.
References bArgs::docs, ListBase::first, and internalDocPrint().
Referenced by arg_handle_print_help().
Definition at line 56 of file BLI_args.c.
References Freestyle::c, and ptr.
Referenced by keyhash().
|
static |
Definition at line 158 of file BLI_args.c.
References Freestyle::a, bAKey::arg, BLI_ghash_insert(), bAKey::case_str, bArgs::current_pass, data, bArgs::items, lookUp(), MEM_callocN, and bAKey::pass.
Referenced by BLI_args_add_case().
Definition at line 224 of file BLI_args.c.
Referenced by BLI_args_print_arg_doc(), and BLI_args_print_other_doc().
|
static |
Definition at line 136 of file BLI_args.c.
References BLI_addtail(), bArgs::docs, MEM_callocN, NO_DOCS, and NULL.
Referenced by BLI_args_add_case().
Definition at line 75 of file BLI_args.c.
References Freestyle::a, bAKey::arg, usdtokens::b(), BLI_ghashutil_intcmp(), BLI_strcasecmp(), bAKey::case_str, bAKey::pass, and STREQ.
Referenced by BLI_args_create().
Definition at line 69 of file BLI_args.c.
References bAKey::arg, case_strhash(), and ptr.
Referenced by BLI_args_create().
Definition at line 88 of file BLI_args.c.
References bAKey::arg, BLI_ghash_lookup(), bAKey::case_str, bArgs::items, and bAKey::pass.
Referenced by BLI_args_parse(), BLI_args_print_arg_doc(), and internalAdd().
|
static |
Definition at line 21 of file BLI_args.c.
Referenced by internalDocs().