return ret;
}
+
+
+vector<string>
+command_xdebug(DBus::Connection& conn)
+{
+ DBus::MessageMethodCall call(SERVICE, OBJECT, INTERFACE, "Debug");
+
+ DBus::Message reply = conn.send_and_reply_and_block(call);
+
+ vector<string> lines;
+
+ DBus::Hihi hihi(reply);
+ hihi >> lines;
+
+ return lines;
+}
bool
command_do_xundo_step(DBus::Connection& conn, const string& config_name, unsigned int number1,
unsigned int number2, const XUndoStep& undo_step);
+
+vector<string>
+command_xdebug(DBus::Connection& conn);
}
+void
+command_debug(DBus::Connection& conn)
+{
+ getopts.parse("debug", GetOpts::no_options);
+ if (getopts.hasArgs())
+ {
+ cerr << _("Command 'debug' does not take arguments.") << endl;
+ exit(EXIT_FAILURE);
+ }
+
+ vector<string> lines = command_xdebug(conn);
+ for (vector<string>::const_iterator it = lines.begin(); it != lines.end(); ++it)
+ cout << *it << endl;
+}
+
+
void
help()
{
cmds["diff"] = command_diff;
cmds["undochange"] = command_undo;
cmds["cleanup"] = command_cleanup;
+ cmds["debug"] = command_debug;
const struct option options[] = {
{ "quiet", no_argument, 0, 'q' },
void
reply_to_command_debug(DBus::Connection& conn, DBus::Message& msg)
{
- // check_permission(conn, msg);
+ check_permission(conn, msg);
DBus::MessageMethodReturn reply(msg);
hoho.open_array("s");
hoho << "clients:";
- for (list<Client>::iterator it = clients.begin(); it != clients.end(); ++it)
+ for (list<Client>::const_iterator it = clients.begin(); it != clients.end(); ++it)
{
std::ostringstream s;
s << " name:'" << it->name << "'";
}
hoho << "snappers:";
- for (list<Snapper*>::iterator it = snappers.begin(); it != snappers.end(); ++it)
+ for (list<Snapper*>::const_iterator it = snappers.begin(); it != snappers.end(); ++it)
{
std::ostringstream s;
s << " name:'" << (*it)->configName() << "'";