summaryrefslogtreecommitdiff
path: root/yhttpd/src/monitor/dump.cpp
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2010-11-21 17:01:59 +0000
committerPaul Buetow <paul@buetow.org>2010-11-21 17:01:59 +0000
commitb891420946d5269cc326d67555c6aab3db41a01a (patch)
treef6c5e7d6dbf18ec8c0ea9ec0b037251df46b4cbb /yhttpd/src/monitor/dump.cpp
parenta537e8323d932125232c305f9573daef89aef0df (diff)
added yhttpd and ycurses trunk versions
Diffstat (limited to 'yhttpd/src/monitor/dump.cpp')
-rw-r--r--yhttpd/src/monitor/dump.cpp109
1 files changed, 109 insertions, 0 deletions
diff --git a/yhttpd/src/monitor/dump.cpp b/yhttpd/src/monitor/dump.cpp
new file mode 100644
index 0000000..c5f51d0
--- /dev/null
+++ b/yhttpd/src/monitor/dump.cpp
@@ -0,0 +1,109 @@
+#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