Reorganize to remove DIKU specific naming
[remote/remote-mci.git] / mch / Configuration.h
blob64e599fd3ca4acaf7ba439ecd5fca713196dff78
1 #ifndef REMOTE_MCH_CONFIGURATION_H
2 #define REMOTE_MCH_CONFIGURATION_H
4 #ifdef HAVE_CONFIG_H
5 #include "config.h"
6 #endif
8 #include <iostream>
9 #include <fstream>
10 #include <boost/program_options.hpp>
12 namespace remote { namespace mch {
14 namespace po = boost::program_options;
16 /** Configuration handling.
18 * This class reads options from a configuration file and from the
19 * command line.
21 class Configuration
23 public:
24 /** Read options from command line and configuration file.
26 * @param argc Number of command line arguments.
27 * @param argv String array of command line arguments.
29 void read(int argc, char **argv);
31 /** Print usage help for option group.
33 * @param desc Option group for which to print help.
35 void printHelp(po::options_description& desc);
37 /** Option variable map keyed by option name */
38 po::variables_map vm;
43 #endif