X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FtestServer.cc;h=b7d5124497d45962bec51c872a4693533a816de2;hb=18ebf1e9edb34f1aa8a32173275421a5d54400f7;hp=f0d500ed02f70a78707a5d88c047cf726c9245f5;hpb=9c0078ac0054789badff2a987364ed0448b080ef;p=senf.git diff --git a/Console/testServer.cc b/Console/testServer.cc index f0d500e..b7d5124 100644 --- a/Console/testServer.cc +++ b/Console/testServer.cc @@ -30,7 +30,7 @@ #include #include "Server.hh" #include "Node.hh" -#include "ObjectDirectory.hh" +#include "ScopedDirectory.hh" #include "../Scheduler/Scheduler.hh" #include "../Utils/Logger/SenfLog.hh" @@ -55,7 +55,7 @@ namespace { struct TestObject { - senf::console::ObjectDirectory dir; + senf::console::ScopedDirectory dir; TestObject() : dir(this) { dir.add("blub", &TestObject::blub) @@ -67,26 +67,42 @@ namespace { } }; + void shutdownServer(std::ostream &, + senf::console::CommandNode::Arguments const &) + { + senf::Scheduler::instance().terminate(); + throw senf::console::Executor::ExitException(); + } + } int main(int, char const **) { senf::log::ConsoleTarget::instance().route< senf::SenfLog, senf::log::NOTICE >(); - senf::console::root().doc("This is the console test application"); - senf::console::root().mkdir("network") + senf::console::root() + .doc("This is the console test application"); + senf::console::root() + .mkdir("network") .doc("Network related settings"); - senf::console::root()["network"].mkdir("eth0") + senf::console::root()["network"] + .mkdir("eth0") .doc("Ethernet device eth0"); - senf::console::root().mkdir("server"); - senf::console::root()["network"].add("route", &fn) + senf::console::root() + .mkdir("server"); + senf::console::root()["server"] + .add("shutdown", &shutdownServer) + .doc("Terminate server application"); + senf::console::root()["network"] + .add("route", &fn) .doc("Example of a directly registered function"); TestObject test; - senf::console::root().add("testob", test.dir) + senf::console::root() + .add("testob", test.dir) .doc("Example of an instance directory"); - senf::console::Server::start( senf::INet4SocketAddress("127.0.0.1:23232") ) + senf::console::Server::start( senf::INet4SocketAddress("0.0.0.0:23232") ) .name("testServer"); senf::Scheduler::instance().process();