c++/parameter-lister/info/globalcode/parameterLister/OutputModule.h
author František Kučera <franta-hg@frantovo.cz>
Sun, 11 Sep 2016 19:52:26 +0200
changeset 28 bfef9f34e438
parent 20 0684883953ba
permissions -rw-r--r--
license: GNU GPL v3
     1 /**
     2  * parameter-lister
     3  * Copyright © 2015 František Kučera (frantovo.cz)
     4  *
     5  * This program is free software: you can redistribute it and/or modify
     6  * it under the terms of the GNU General Public License as published by
     7  * the Free Software Foundation, either version 3 of the License, or
     8  * (at your option) any later version.
     9  *
    10  * This program is distributed in the hope that it will be useful,
    11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    13  * GNU General Public License for more details.
    14  *
    15  * You should have received a copy of the GNU General Public License
    16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
    17  */
    18 #ifndef OUTPUTMODULE_H
    19 #define	OUTPUTMODULE_H
    20 
    21 #include <iostream>
    22 #include <vector>
    23 
    24 namespace info {
    25 namespace globalcode {
    26 namespace parameterLister {
    27 
    28 using namespace std;
    29 
    30 class OutputModule {
    31 public:
    32 	/**
    33 	 * 
    34 	 * @param output
    35 	 * @param command
    36 	 * @param args
    37 	 * @return exit code
    38 	 */
    39 	virtual int process(ostream &output, string &command, vector<string> &args);
    40 
    41 protected:
    42 	/**
    43 	 * TODO: escape line ends, tabs, esc + deal with unicode/encoding + colorize
    44 	 * @param value
    45 	 * @param colorize
    46 	 * @return 
    47 	 */
    48 	virtual string escapeValue(string value, bool colorize);
    49 
    50 private:
    51 
    52 };
    53 
    54 }
    55 }
    56 }
    57 
    58 #endif	/* OUTPUTMODULE_H */
    59