40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
|
#ifndef _OWLPS_POSITIONING_USERINTERFACE_HH_
|
||
|
#define _OWLPS_POSITIONING_USERINTERFACE_HH_
|
||
|
|
||
|
#include <string>
|
||
|
#include <boost/program_options/options_description.hpp>
|
||
|
|
||
|
/// Handles configuration inputs from user
|
||
|
class UserInterface
|
||
|
{
|
||
|
protected:
|
||
|
int cli_argument_count ;
|
||
|
char **cli_argument_values ;
|
||
|
boost::program_options::options_description *cli_options ;
|
||
|
boost::program_options::options_description *file_options ;
|
||
|
|
||
|
/** @name Operations */
|
||
|
//@{
|
||
|
/// Fill in all the options
|
||
|
void fill_options(void) ;
|
||
|
/// Fill in the options accepted on the command line
|
||
|
void fill_cli_options(void) ;
|
||
|
/// \brief Fill in the options accepted on the command line and in
|
||
|
/// the configuration file
|
||
|
void fill_file_options(void) ;
|
||
|
/// Parse all the configuration inputs and updates Configuration
|
||
|
void parse_options(void) ;
|
||
|
void parse_command_line(void) const ;
|
||
|
void parse_file(void) const ;
|
||
|
/// If help was requested by user, displays accepted options and exit
|
||
|
void print_usage_and_exit_if_requested(void) const ;
|
||
|
//@}
|
||
|
|
||
|
public:
|
||
|
UserInterface(const int argc, char **argv) ;
|
||
|
|
||
|
~UserInterface(void) ;
|
||
|
} ;
|
||
|
|
||
|
#endif // _OWLPS_POSITIONING_USERINTERFACE_HH_
|