src/relpipe-tr-cut.cpp
branchv_0
changeset 28 bc15f5471b6a
parent 22 d07ac873cc89
child 29 26ae3dca06af
equal deleted inserted replaced
27:f9b72d263838 28:bc15f5471b6a
    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 "CutHandler.h"
    36 #include "CutHandler.h"
    35 
    37 
    36 using namespace relpipe::cli;
    38 using namespace relpipe::cli;
    37 using namespace relpipe::reader;
    39 using namespace relpipe::tr::cut;
    38 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 
    45 	int resultCode = CLI::EXIT_CODE_UNEXPECTED_ERROR;
    46 	int resultCode = CLI::EXIT_CODE_UNEXPECTED_ERROR;
    46 
    47 
    47 	try {
    48 	try {
    48 		std::shared_ptr<RelationalReader> reader(Factory::create(std::cin));
    49 		CLIParser cliParser;
    49 		CutHandler handler(std::cout, cli.arguments());
    50 		Configuration configuration = cliParser.parse(cli.arguments());
       
    51 		
       
    52 		std::shared_ptr<writer::RelationalWriter> writer(relpipe::writer::Factory::create(std::cout));
       
    53 		std::shared_ptr<RelationalReader> reader(relpipe::reader::Factory::create(std::cin));
       
    54 		CutHandler 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