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.