src/relpipe-tr-grep.cpp
branchv_0
changeset 24 c69670b7b4ef
parent 18 5a3602fb1649
child 25 98be80d2e65b
equal deleted inserted replaced
23:87d22d525a3e 24:c69670b7b4ef
    29 #include <relpipe/writer/RelationalWriter.h>
    29 #include <relpipe/writer/RelationalWriter.h>
    30 #include <relpipe/writer/RelpipeWriterException.h>
    30 #include <relpipe/writer/RelpipeWriterException.h>
    31 #include <relpipe/writer/Factory.h>
    31 #include <relpipe/writer/Factory.h>
    32 #include <relpipe/writer/TypeId.h>
    32 #include <relpipe/writer/TypeId.h>
    33 
    33 
       
    34 #include "Configuration.h"
       
    35 #include "CLIParser.h"
    34 #include "GrepHandler.h"
    36 #include "GrepHandler.h"
    35 
    37 
    36 using namespace relpipe::cli;
    38 using namespace relpipe::cli;
    37 using namespace relpipe::reader;
       
    38 using namespace relpipe::tr::grep;
    39 using namespace relpipe::tr::grep;
    39 
    40 
    40 int main(int argc, char**argv) {
    41 int main(int argc, char**argv) {
    41 	setlocale(LC_ALL, "");
    42 	setlocale(LC_ALL, "");
    42 	CLI::untieStdIO();
    43 	CLI::untieStdIO();
    43 	CLI cli(argc, argv);
    44 	CLI cli(argc, argv);
    44 
    45 
       
    46 	CLIParser cliParser;
       
    47 	Configuration configuration = cliParser.parse(cli.arguments());
       
    48 
    45 	int resultCode = CLI::EXIT_CODE_UNEXPECTED_ERROR;
    49 	int resultCode = CLI::EXIT_CODE_UNEXPECTED_ERROR;
    46 
    50 
    47 	try {
    51 	try {
    48 		std::shared_ptr<RelationalReader> reader(Factory::create(std::cin));
    52 		std::shared_ptr<writer::RelationalWriter> writer(relpipe::writer::Factory::create(std::cout));
    49 		GrepHandler handler(std::cout, cli.arguments());
    53 		std::shared_ptr<RelationalReader> reader(relpipe::reader::Factory::create(std::cin));
       
    54 		GrepHandler handler(writer, configuration);
    50 		reader->addHandler(&handler);
    55 		reader->addHandler(&handler);
    51 		reader->process();
    56 		reader->process();
    52 
    57 
    53 		resultCode = CLI::EXIT_CODE_SUCCESS;
    58 		resultCode = CLI::EXIT_CODE_SUCCESS;
    54 
    59