36#ifndef __YTLIB_PARSE_ARGS_H
37#define __YTLIB_PARSE_ARGS_H
39#include "lang/ytType.h"
40#include "lang/ytObject.h"
41#include "util/ytKeyValues.h"
44extern char * ytParseArgs_defaultStringValue;
50#define ytParseArgs_DEFAULT_KEY
53#define ytParseArgs_OPT_ERROR
56#define ytParseArgs_OPT_WARNING
59#define ytParseArgs_OPT_IGNORE
61#define ytParseArgs_DEFAULT_KEY "__ARGS_WITHOUT_KEY__"
62#define ytParseArgs_OPT_ERROR 0
63#define ytParseArgs_OPT_WARNING 1
64#define ytParseArgs_OPT_IGNORE 2
70void ytParseArgs_addString(
ytParseArgs *
this,
const char * key,
char ** arg);
71void ytParseArgs_addStringOpt(
ytParseArgs *
this,
const char * key,
char ** arg);
72void ytParseArgs_addInt(
ytParseArgs *
this,
const char * key,
int * arg);
73void ytParseArgs_addDouble(
ytParseArgs *
this,
const char * key,
double * arg);
79void ytParseArgs_addKeyValuesArray(
ytParseArgs *
this,
const char * key,
ytArray ** arg);
80void ytParseArgs_addOn(
ytParseArgs *
this,
const char * key,
int * arg);
81void ytParseArgs_addOff(
ytParseArgs *
this,
const char * key,
int * arg);
82void ytParseArgs_addOnOff(
ytParseArgs *
this,
const char * key,
int * arg);
83void ytParseArgs_addFunc(
ytParseArgs *
this,
const char * key,
void (*arg)());
84void ytParseArgs_addFunc3(
ytParseArgs *
this,
const char * key,
85 void (*f)(
const char *,
const char *,
void *),
void * arg);
86void ytParseArgs_addNone(
ytParseArgs *
this,
const char * key);
87int ytParseArgs_set(
ytParseArgs * argset,
int argc,
char ** argv);
89ytKeyValues * ytParseArgs_genKV(
int argc,
char ** argv,
const char * defKey);
92int ytParseArgs_debug(
int argc,
char ** argv);
96#define ytPA_int(this,key,arg) ytParseArgs_addInt(this, key, arg)
99#define ytPA_double(this,key,arg) ytParseArgs_addDouble(this, key, arg)
102#define ytPA_str(this,key,arg) ytParseArgs_addString(this, key, arg)
103#define ytPA_IntArray(this,key,arg) ytParseArgs_addIntArray(this, key, arg)
104#define ytPA_DoubleArray(this,key,arg) ytParseArgs_addDoubleArray(this, key, arg)
105#define ytPA_StrArray(this,key,arg) ytParseArgs_addStrArray(this, key, arg)
106#define ytPA_StrArrayAdd(this,key,arg) ytParseArgs_addStrArrayAdd(this, key, arg)
107#define ytPA_KeyValues(this,key,arg) ytParseArgs_addKeyValues(this, key, arg)
108#define ytPA_KV(this,key,arg) ytParseArgs_addKeyValues(this, key, arg)
109#define ytPA_KVArray(this,key,arg) ytParseArgs_addKeyValuesArray(this, key, arg)
110#define ytPA_on(this,key,arg) ytParseArgs_addOn(this, key, arg)
111#define ytPA_OnOff(this,key,arg) ytParseArgs_addOnOff(this, key, arg)
112#define ytPA_onoff(this,key,arg) ytParseArgs_addOnOff(this, key, arg)
113#define ytPA_off(this,key,arg) ytParseArgs_addOff(this, key, arg)
114#define ytPA_StrArrayAdd(this,key,arg) ytParseArgs_addStrArrayAdd(this, key, arg)
115#define ytPA_none(this,key) ytParseArgs_addNone(this, key)
Structure for parsing command line arguments.