#include "tlmplib.h" void _F_tlmpprogram::showerror(const char *msg) { fprintf (stderr,"%s",msg); } /* No argument by default */ int _F_tlmpprogram::onearg(const char *, const char *) { return -1; } /* Main called when there is no argument. the default call the usage function If a program may be called with and without argument, its main_noarg function just have to call main(0,NULL); */ int _F_tlmpprogram::main_noarg() { usage(); return -1; } /* Main called when there is 1 or more arguments. the default call the usage function */ int _F_tlmpprogram::main(int, char *[]) { usage(); return -1; } int tlmpprogram ( _F_tlmpprogram &c, const char *progname, int argc, char *argv[], const char *packages[]) { _F_tlmpprogram *c; const char *progname; glocal.c = &c; glocal.progname = progname; int ret = (argc,argv,packages); if (glocal.progname != NULL) setproginfo (glocal.progname,"",""); glocal.c->usage(); return glocal.c->onearg(opt,val); glocal.c->showerror (msg); return glocal.c->main_noarg(); return glocal.c->main (argc,argv); return ret; } int tlmpprogram ( _F_tlmpprogram &c, const char *progname, int argc, char *argv[], const char *package) { const char *packages[]={package,NULL}; return tlmpprogram (c,progname,argc,argv,packages); } int tlmpprogram ( _F_tlmpprogram &c, int argc, char *argv[], const char *package) { return tlmpprogram (c,NULL,argc,argv,package); } int tlmpprogram ( _F_tlmpprogram &c, int argc, char *argv[], const char *packages[]) { return tlmpprogram (c,NULL,argc,argv,packages); } int tlmpprogram ( _F_tlmpprogram &c, int argc, char *argv[]) { static const char *packages[]={NULL}; return tlmpprogram (c,NULL,argc,argv,packages); }