diff --git a/owlps-positioning/cfg/owlps-positioning.cfg b/owlps-positioning/cfg/owlps-positioning.cfg index aa0e1f5..02f555e 100644 --- a/owlps-positioning/cfg/owlps-positioning.cfg +++ b/owlps-positioning/cfg/owlps-positioning.cfg @@ -1,5 +1,8 @@ # Sample configuration file for OWLPS Positioning +# Miscellaneous options +#flush-output-files = true + [data-input] #ap-medium = CSV diff --git a/owlps-positioning/src/textfilewriter.cc b/owlps-positioning/src/textfilewriter.cc index 6da0502..30aadb1 100644 --- a/owlps-positioning/src/textfilewriter.cc +++ b/owlps-positioning/src/textfilewriter.cc @@ -1,4 +1,5 @@ #include "textfilewriter.hh" +#include "configuration.hh" #include "posexcept.hh" using namespace std ; @@ -41,5 +42,9 @@ bool TextFileWriter::write_text(const string &text) return false ; file << text ; + + if (Configuration::bool_value("flush-output-files")) + file.flush() ; + return true ; } diff --git a/owlps-positioning/src/userinterface.cc b/owlps-positioning/src/userinterface.cc index 625b0e1..82d67cd 100644 --- a/owlps-positioning/src/userinterface.cc +++ b/owlps-positioning/src/userinterface.cc @@ -87,6 +87,7 @@ void UserInterface::fill_file_options() fill_log_options() ; fill_positioning_options() ; fill_output_options() ; + fill_misc_options() ; } @@ -192,6 +193,19 @@ If this option is absent, results will be printed on the terminal.") } +void UserInterface::fill_misc_options() +{ + po::options_description options("Miscellaneous options") ; + + options.add_options() + ("flush-output-files", po::value()->default_value(true), + "Flush output text files after each line.") + ; + + file_options->add(options) ; +} + + void UserInterface::parse_options() { parse_command_line() ; diff --git a/owlps-positioning/src/userinterface.hh b/owlps-positioning/src/userinterface.hh index b1ce265..c57bfd8 100644 --- a/owlps-positioning/src/userinterface.hh +++ b/owlps-positioning/src/userinterface.hh @@ -29,6 +29,7 @@ protected: void fill_log_options(void) ; void fill_positioning_options(void) ; void fill_output_options(void) ; + void fill_misc_options(void) ; /// Parse all the configuration inputs and updates Configuration void parse_options(void) ;