X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FtestServer.cc;h=52b0d47055eac0c19fb6cd6676fab0934fd20db3;hb=f08685d9795a3be20ce5c7a337087358ccd77eb5;hp=5d1a323c626ad6388c3e413df6953354b5e60019;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Console/testServer.cc b/senf/Utils/Console/testServer.cc index 5d1a323..52b0d47 100644 --- a/senf/Utils/Console/testServer.cc +++ b/senf/Utils/Console/testServer.cc @@ -1,34 +1,40 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) -// Competence Center NETwork research (NET), St. Augustin, GERMANY -// Stefan Bund // -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. +// The contents of this file are subject to the Fraunhofer FOKUS Public License +// Version 1.0 (the "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// http://senf.berlios.de/license.html // -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. +// The Fraunhofer FOKUS Public License Version 1.0 is based on, +// but modifies the Mozilla Public License Version 1.1. +// See the full license text for the amendments. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// Software distributed under the License is distributed on an "AS IS" basis, +// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +// for the specific language governing rights and limitations under the License. +// +// The Original Code is Fraunhofer FOKUS code. +// +// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. +// (registered association), Hansastraße 27 c, 80686 Munich, Germany. +// All Rights Reserved. +// +// Contributor(s): +// Stefan Bund /** \file \brief testServer implementation */ // Custom includes #include -#include +#include #include namespace kw = senf::console::kw; +namespace fty = senf::console::factory; void echo(std::ostream & output, senf::console::ParseCommandInfo const & command) { @@ -45,16 +51,16 @@ struct TestObject { senf::console::ScopedDirectory dir; - TestObject() - : dir(this) + TestObject() + : dir(this) { - dir.add("vat", &TestObject::vat) - .arg("vat", "VAT in %", kw::default_value = 19) - .arg("amount", "Amount including VAT") - .doc("Returns the amount of {vat}-% VAT included in {amount}"); + dir.add("vat", fty::Command(&TestObject::vat, this) + .arg("vat", "VAT in %", kw::default_value = 19) + .arg("amount", "Amount including VAT") + .doc("Returns the amount of {vat}-% VAT included in {amount}") ); } - double vat (int vat, double amount) + double vat (int vat, double amount) { return amount * vat/(100.0+vat); } @@ -80,13 +86,13 @@ int main(int, char **) .doc("This is the console test application"); senf::console::root() - .mkdir("console") - .doc("Console settings"); + .add("console",fty::Directory() + .doc("Console settings")); senf::console::DirectoryNode & serverDir ( senf::console::root() - .mkdir("server") - .doc("server commands") ); + .add("server",fty::Directory() + .doc("server commands"))); senf::console::ScopedDirectory<> testDir; senf::console::root() @@ -94,30 +100,31 @@ int main(int, char **) .doc("Test functions"); senf::console::root()["console"] - .add("showlog", &enableLogging) - .doc("Enable display of log messages on the current console"); + .add("showlog", fty::Command(&enableLogging) + .doc("Enable display of log messages on the current console")); - senf::console::root().link("sl", senf::console::root()["console"]("showlog")); + senf::console::root().add("sl", fty::Link(senf::console::root()["console"]("showlog"))); serverDir - .add("shutdown", &shutdownServer) - .doc("Terminate server application"); + .add("shutdown", fty::Command(&shutdownServer) + .doc("Terminate server application")); testDir - .add("echo", &echo) - .doc("Example of a function utilizing manual argument parsing"); + .add("echo", fty::Command(&echo) + .doc("Example of a function utilizing manual argument parsing")); TestObject test; testDir .add("extra", test.dir) .doc("Example of an instance directory"); - senf::console::root().link("ex", test.dir); + senf::console::root().add("ex", fty::Link(test.dir)); senf::console::Server::start( senf::INet4SocketAddress(23232u) ) .name("testServer"); senf::scheduler::process(); + return 0; }