X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FtestServer.cc;h=b55ca1b16ce3b5fcbfd969ffd3120ce973a592b9;hb=c0b5c560da72983939b286632ac481e076649ddb;hp=9e5a3c9378f9a4c9730926ecb45246ab334b1f61;hpb=5e9e6057a4e5c1241ff3f1b75b0f797eb570725d;p=senf.git diff --git a/Console/testServer.cc b/Console/testServer.cc index 9e5a3c9..b55ca1b 100644 --- a/Console/testServer.cc +++ b/Console/testServer.cc @@ -29,6 +29,7 @@ // Custom includes #include #include "Server.hh" +#include "Node.hh" #include "../Scheduler/Scheduler.hh" #include "../Utils/Logger/SenfLog.hh" @@ -36,6 +37,25 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// +namespace { + struct MyCommand : public senf::console::CommandNode + { + MyCommand(std::string name) : senf::console::CommandNode(name) {} + void operator()(std::ostream & output, + senf::console::ParseCommandInfo::ArgumentsRange const & arguments) { + senf::console::ParseCommandInfo::argument_iterator i (arguments.begin()); + senf::console::ParseCommandInfo::argument_iterator i_end (arguments.end()); + for (; i != i_end; ++i) { + senf::console::ParseCommandInfo::token_iterator j (i->begin()); + senf::console::ParseCommandInfo::token_iterator j_end (i->end()); + for (; j != j_end; ++j) + output << j->value() << ' '; + } + output << "\n"; + } + }; +} + int main(int, char const **) { senf::log::ConsoleTarget::instance().route< senf::SenfLog, senf::log::NOTICE >(); @@ -43,6 +63,9 @@ int main(int, char const **) senf::console::root().mkdir("network").mkdir("eth0"); senf::console::root().mkdir("server"); + senf::console::root()["network"].add( + std::auto_ptr(new MyCommand("route"))); + senf::console::Server::start( senf::INet4SocketAddress("127.0.0.1:23232") ) .name("testServer");