#include <iostream>

#ifndef WIN32
#include <sysexits.h>
#endif

#include <cmdline.h>
#include <parseoptions.h>
#include <config.h>

parseoptions_baset::parseoptions_baset()
 {
  optstring="?hb:";
 }

parseoptions_baset::parseoptions_baset(const char *_optstring)
 {
  optstring="?hb:";
  optstring+=_optstring;
 }

void parseoptions_baset::help()
 {
 }

void parseoptions_baset::usage_error()
 {
  std::cerr << "Usage error!\n\n";
  help();
 }

int parseoptions_baset::parseoptions(int argc, char **argv)
 {
  if(cmdline.parse(argc, argv, optstring.c_str()))
   {
    usage_error();
    return EX_USAGE;
   }

   {
    const char *val=cmdline.getval('b');
    if(val!=NULL) boxname=val;
   }

  if(cmdline.isset('?') || cmdline.isset('h'))
   {
    help();
    return EX_OK;
   }

  if(config.read(boxname.c_str()))
   {
    std::cerr << "failed to read configuration\n";
    return EX_CONFIG;
   }
  
  return doit();
 }


syntax highlighted by Code2HTML, v. 0.9.1