9#ifndef __YTLIB_PARSE_ARGS_H
10#define __YTLIB_PARSE_ARGS_H
12#include "lang/ytType.h"
13#include "lang/ytObject.h"
14#include "util/ytKeyValues.h"
17extern char * ytParseArgs_defaultStringValue;
23#define ytParseArgs_DEFAULT_KEY
26#define ytParseArgs_OPT_ERROR
29#define ytParseArgs_OPT_WARNING
32#define ytParseArgs_OPT_IGNORE
34#define ytParseArgs_DEFAULT_KEY "__ARGS_WITHOUT_KEY__"
35#define ytParseArgs_OPT_ERROR 0
36#define ytParseArgs_OPT_WARNING 1
37#define ytParseArgs_OPT_IGNORE 2
43void ytParseArgs_addString(
ytParseArgs *
this,
const char * key,
char ** arg);
44void ytParseArgs_addStringOpt(
ytParseArgs *
this,
const char * key,
char ** arg);
45void ytParseArgs_addInt(
ytParseArgs *
this,
const char * key,
int * arg);
46void ytParseArgs_addDouble(
ytParseArgs *
this,
const char * key,
double * arg);
52void ytParseArgs_addKeyValuesArray(
ytParseArgs *
this,
const char * key,
ytArray ** arg);
53void ytParseArgs_addOn(
ytParseArgs *
this,
const char * key,
int * arg);
54void ytParseArgs_addOff(
ytParseArgs *
this,
const char * key,
int * arg);
55void ytParseArgs_addOnOff(
ytParseArgs *
this,
const char * key,
int * arg);
56void ytParseArgs_addFunc(
ytParseArgs *
this,
const char * key,
void (*arg)());
57void ytParseArgs_addFunc3(
ytParseArgs *
this,
const char * key,
58 void (*f)(
const char *,
const char *,
void *),
void * arg);
59void ytParseArgs_addNone(
ytParseArgs *
this,
const char * key);
60int ytParseArgs_set(
ytParseArgs * argset,
int argc,
char ** argv);
62ytKeyValues * ytParseArgs_genKV(
int argc,
char ** argv,
const char * defKey);
65int ytParseArgs_debug(
int argc,
char ** argv);
69#define ytPA_int(this,key,arg) ytParseArgs_addInt(this, key, arg)
72#define ytPA_double(this,key,arg) ytParseArgs_addDouble(this, key, arg)
75#define ytPA_str(this,key,arg) ytParseArgs_addString(this, key, arg)
76#define ytPA_IntArray(this,key,arg) ytParseArgs_addIntArray(this, key, arg)
77#define ytPA_DoubleArray(this,key,arg) ytParseArgs_addDoubleArray(this, key, arg)
78#define ytPA_StrArray(this,key,arg) ytParseArgs_addStrArray(this, key, arg)
79#define ytPA_StrArrayAdd(this,key,arg) ytParseArgs_addStrArrayAdd(this, key, arg)
80#define ytPA_KeyValues(this,key,arg) ytParseArgs_addKeyValues(this, key, arg)
81#define ytPA_KV(this,key,arg) ytParseArgs_addKeyValues(this, key, arg)
82#define ytPA_KVArray(this,key,arg) ytParseArgs_addKeyValuesArray(this, key, arg)
83#define ytPA_on(this,key,arg) ytParseArgs_addOn(this, key, arg)
84#define ytPA_OnOff(this,key,arg) ytParseArgs_addOnOff(this, key, arg)
85#define ytPA_onoff(this,key,arg) ytParseArgs_addOnOff(this, key, arg)
86#define ytPA_off(this,key,arg) ytParseArgs_addOff(this, key, arg)
87#define ytPA_StrArrayAdd(this,key,arg) ytParseArgs_addStrArrayAdd(this, key, arg)
88#define ytPA_none(this,key) ytParseArgs_addNone(this, key)
Structure for parsing command line arguments.