X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FtestServer.cc;h=b55ca1b16ce3b5fcbfd969ffd3120ce973a592b9;hb=16d94efc2159cba35fc44e5b26747ae0a2ab237b;hp=3eab4dc854032d4e3dc92962ec5c9e152eb30812;hpb=d620e7ff9b68377ea20ca266c23cc3f05781868c;p=senf.git diff --git a/Console/testServer.cc b/Console/testServer.cc index 3eab4dc..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,10 +37,35 @@ #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 >(); + 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");