diff -r 500ce0b934e7 -r 8f434dc38444 src/relpipe-in-qr.cpp --- a/src/relpipe-in-qr.cpp Fri Apr 16 23:18:03 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/** - * Relational pipes - * Copyright © 2021 František Kučera (Frantovo.cz, GlobalCode.info) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, version 3 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include "CLIParser.h" -#include "Configuration.h" - -#include "QRCommand.h" - -using namespace relpipe::cli; -using namespace relpipe::in::qr; -using namespace relpipe::writer; - -int main(int argc, char** argv) { - setlocale(LC_ALL, ""); - CLI::untieStdIO(); - CLI cli(argc, argv); - - int resultCode = CLI::EXIT_CODE_UNEXPECTED_ERROR; - - try { - CLIParser cliParser; - Configuration configuration = cliParser.parse(cli.arguments()); - QRCommand command; - std::shared_ptr writer(Factory::create(std::cout)); - command.process(configuration, writer, std::bind(fflush, stdout)); // std::bind(fflush, XXX) Factory::create(XXX) must be the same stream XXX - resultCode = CLI::EXIT_CODE_SUCCESS; - } catch (RelpipeWriterException& e) { - fwprintf(stderr, L"Caught Writer exception: %ls\n", e.getMessge().c_str()); - fwprintf(stderr, L"Debug: Input stream: eof=%ls, lastRead=%d\n", (cin.eof() ? L"true" : L"false"), cin.gcount()); - resultCode = CLI::EXIT_CODE_DATA_ERROR; - } catch (RelpipeCLIException& e) { - fwprintf(stderr, L"Caught CLI exception: %ls\n", e.getMessge().c_str()); - fwprintf(stderr, L"Debug: Input stream: eof=%ls, lastRead=%d\n", (cin.eof() ? L"true" : L"false"), cin.gcount()); - resultCode = e.getExitCode(); - } - - return resultCode; -}