X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FtestServer.cc;h=b55ca1b16ce3b5fcbfd969ffd3120ce973a592b9;hb=c0b5c560da72983939b286632ac481e076649ddb;hp=8e9323a2ad6373d48d277a0a5b6db77b15c980ad;hpb=412cf8e222086fb5d89b15cb11556799e131f390;p=senf.git diff --git a/Console/testServer.cc b/Console/testServer.cc index 8e9323a..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,12 +37,37 @@ #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 "); + .name("testServer"); senf::Scheduler::instance().process(); }