franta-hg@7: #ifndef OUTPUTMODULE_H franta-hg@7: #define OUTPUTMODULE_H franta-hg@7: franta-hg@9: #include franta-hg@11: #include franta-hg@9: franta-hg@8: namespace info { franta-hg@8: namespace globalcode { franta-hg@8: namespace parameterLister { franta-hg@8: franta-hg@20: using namespace std; franta-hg@20: franta-hg@7: class OutputModule { franta-hg@7: public: franta-hg@16: /** franta-hg@16: * franta-hg@20: * @param output franta-hg@20: * @param command franta-hg@20: * @param args franta-hg@20: * @return exit code franta-hg@20: */ franta-hg@20: virtual int process(ostream &output, string &command, vector &args); franta-hg@20: franta-hg@20: protected: franta-hg@20: /** franta-hg@20: * TODO: escape line ends, tabs, esc + deal with unicode/encoding + colorize franta-hg@20: * @param value franta-hg@20: * @param colorize franta-hg@20: * @return franta-hg@20: */ franta-hg@20: virtual string escapeValue(string value, bool colorize); franta-hg@20: franta-hg@7: private: franta-hg@7: franta-hg@7: }; franta-hg@7: franta-hg@8: } franta-hg@8: } franta-hg@8: } franta-hg@8: franta-hg@7: #endif /* OUTPUTMODULE_H */ franta-hg@7: