author | František Kučera <franta-hg@frantovo.cz> |
Sun, 03 May 2015 22:00:12 +0200 | |
changeset 7 | 2f46492e90bc |
parent 5 | 1581a99ab33f |
child 9 | 598a575ae57f |
permissions | -rw-r--r-- |
franta-hg@0 | 1 |
#include <cstdlib> |
franta-hg@1 | 2 |
#include <iostream> |
franta-hg@3 | 3 |
#include <vector> |
franta-hg@3 | 4 |
#include <algorithm> |
franta-hg@5 | 5 |
#include <boost/optional.hpp> |
franta-hg@3 | 6 |
|
franta-hg@5 | 7 |
#include "info/globalcode/parameterLister/terminalCodes/TerminalCodes.h" |
franta-hg@7 | 8 |
#include "info/globalcode/parameterLister/OutputModule.h" |
franta-hg@7 | 9 |
#include "info/globalcode/parameterLister/TerminalOutputModule.h" |
franta-hg@0 | 10 |
|
franta-hg@0 | 11 |
using namespace std; |
franta-hg@3 | 12 |
using namespace info::globalcode::parameterLister; |
franta-hg@0 | 13 |
|
franta-hg@5 | 14 |
namespace info { |
franta-hg@5 | 15 |
namespace globalcode { |
franta-hg@5 | 16 |
namespace parameterLister { |
franta-hg@5 | 17 |
|
franta-hg@5 | 18 |
boost::optional<string> getenv(const string name) { |
franta-hg@5 | 19 |
const char * value = ::getenv(name.c_str()); |
franta-hg@5 | 20 |
if (value == 0) { |
franta-hg@5 | 21 |
return boost::optional<string>(); |
franta-hg@5 | 22 |
} else { |
franta-hg@5 | 23 |
return boost::optional<string>(value); |
franta-hg@5 | 24 |
} |
franta-hg@5 | 25 |
} |
franta-hg@5 | 26 |
|
franta-hg@5 | 27 |
|
franta-hg@5 | 28 |
} |
franta-hg@5 | 29 |
} |
franta-hg@5 | 30 |
} |
franta-hg@5 | 31 |
|
franta-hg@3 | 32 |
int main(int argc, char* argv[]) { |
franta-hg@1 | 33 |
terminalCodes::Modifier fgGreen(terminalCodes::FG_GREEN); |
franta-hg@1 | 34 |
terminalCodes::Modifier fgReset(terminalCodes::FG_DEFAULT); |
franta-hg@4 | 35 |
|
franta-hg@3 | 36 |
cout << "INFO: " << fgGreen << "Parameter lister" << fgReset << " is starting" << endl; |
franta-hg@1 | 37 |
|
franta-hg@3 | 38 |
string command = argv[0]; |
franta-hg@3 | 39 |
vector<string> args; |
franta-hg@3 | 40 |
|
franta-hg@3 | 41 |
for (int i = 1; i < argc; i++) { |
franta-hg@3 | 42 |
args.push_back(argv[i]); |
franta-hg@3 | 43 |
} |
franta-hg@3 | 44 |
|
franta-hg@3 | 45 |
for_each(args.begin(), args.end(), [command, fgGreen, fgReset](string s) { |
franta-hg@3 | 46 |
cout << fgGreen << command << fgReset << ": " << s << endl; |
franta-hg@3 | 47 |
}); |
franta-hg@3 | 48 |
|
franta-hg@3 | 49 |
|
franta-hg@4 | 50 |
for (int i = 0; i < args.size(); i++) { |
franta-hg@4 | 51 |
string s = args[i]; |
franta-hg@4 | 52 |
cout << i + 1 << ":" << s.length() << " = \"" << s << "\"" << endl; |
franta-hg@4 | 53 |
} |
franta-hg@4 | 54 |
|
franta-hg@5 | 55 |
{ |
franta-hg@5 | 56 |
string envName = args[0]; |
franta-hg@5 | 57 |
boost::optional<string> outputModule = getenv(envName); |
franta-hg@4 | 58 |
|
franta-hg@5 | 59 |
if (outputModule.is_initialized()) { |
franta-hg@5 | 60 |
cout << "ENV: " << envName << " = " << outputModule.get(); |
franta-hg@5 | 61 |
} else { |
franta-hg@5 | 62 |
cout << "ENV: " << envName << " is missing"; |
franta-hg@5 | 63 |
} |
franta-hg@5 | 64 |
} |
franta-hg@7 | 65 |
|
franta-hg@7 | 66 |
{ |
franta-hg@7 | 67 |
OutputModule om; |
franta-hg@7 | 68 |
TerminalOutputModule tom; |
franta-hg@7 | 69 |
} |
franta-hg@3 | 70 |
|
franta-hg@1 | 71 |
|
franta-hg@0 | 72 |
return 0; |
franta-hg@5 | 73 |
} |