diff options
| author | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:41 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:41 +0200 |
| commit | 9cd3ccffd5372dfde3af478e3f832f18db4be3f1 (patch) | |
| tree | 631c295a4a4a16b57502b847626763a279bf6df7 /yhttpd-0.7.2/src/monitor/dump.cpp | |
| parent | 13aaf70af703748fe096e0664c305cd202637ad2 (diff) | |
tagging tags
Diffstat (limited to 'yhttpd-0.7.2/src/monitor/dump.cpp')
| -rw-r--r-- | yhttpd-0.7.2/src/monitor/dump.cpp | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/yhttpd-0.7.2/src/monitor/dump.cpp b/yhttpd-0.7.2/src/monitor/dump.cpp new file mode 100644 index 0000000..6b49bfe --- /dev/null +++ b/yhttpd-0.7.2/src/monitor/dump.cpp @@ -0,0 +1,106 @@ +#ifndef DUMP_CPP +#define DUMP_CPP + +#include "dump.h" + +using namespace std; + +const string dumpable::s_sep = "->"; +const int dumpable::i_max_level = 100; + +dumpable::dumpable() +{ + initialize(0); +} + +void +dumpable::initialize(int i_level) +{ + this->i_level = i_level; + this->i_lined = i_level; + this->b_lined = false; + this->b_next_no_nl = false; + this->s_dump = ""; +} + +string +dumpable::dump() +{ + return dump(0); +} + +string +dumpable::dump(int i_level) +{ + initialize(i_level); + dumpit(); + return s_dump; +} + +void +dumpable::add(string s_line) +{ + if ( i_lined > i_max_level ) + i_lined = i_max_level; + + if (!b_lined) + s_dump.append(s_sep); + + else for ( int i = 0; i < i_lined; ++i ) + s_dump.append(" "); + + s_dump.append(s_line); + + if (b_next_no_nl) + b_next_no_nl = false; + + else + s_dump.append("\n"); + + if (!b_lined) { + b_lined = true; + i_lined = i_level + s_sep.length(); + } +} + +int +dumpable::get_level() const +{ + return i_lined; +} + +dump::dump(vector<string> vec_params) +{ + if (vec_params.empty()) + { + cout << CLIPRMO << "all conf sock"; + cout << endl; + return; + } + + cout << run(vec_params); +} + +string +dump::run(vector<string> &vec_params) +{ + string s_ret(""); + string s_part; + + vector<string>::iterator iter; + for (iter = vec_params.begin(); iter != vec_params.end(); ++iter) + { + s_part = *iter; + + if (!s_part.compare("conf") || !s_part.compare("all")) + s_ret.append(wrap::CONF->dump()); + + if (!s_part.compare("sock") || !s_part.compare("all")) + s_ret.append(wrap::SOCK->dump()); + + } + + return s_ret; +} + +#endif |
