X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;ds=sidebyside;f=example%2Fcomm%2FdatagramKClient%2Fmain.cpp;h=9fe3ce1058a9c12dbd67d0c350f59ee8e41c0aca;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=32007f21839a5f581004d97e1158e7bdbfc5be81;hpb=4e12ac57e93c052f716a6305ad8fc099c45899d1;p=anna.git diff --git a/example/comm/datagramKClient/main.cpp b/example/comm/datagramKClient/main.cpp index 32007f2..9fe3ce1 100644 --- a/example/comm/datagramKClient/main.cpp +++ b/example/comm/datagramKClient/main.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not 'N' Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// https://bitbucket.org/testillano/anna -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // /* @@ -60,16 +32,16 @@ private: test::Response a_response; test::Request a_request; - void eventReceiveMessage (ClientSocket&, const Message&) throw (RuntimeException); - void eventUser (const char* id, const void* context) throw (); + void eventReceiveMessage (ClientSocket&, const Message&) noexcept(false); + void eventUser (const char* id, const void* context) ; }; class KClient : public anna::comm::Application { public: KClient (); - comm::DatagramSocket* getServer () const throw () { return a_output; } - const test::Menu& getMenu () const throw () { return a_menu; } + comm::DatagramSocket* getServer () const { return a_output; } + const test::Menu& getMenu () const { return a_menu; } private: MyCommunicator a_communicator; @@ -77,8 +49,8 @@ private: comm::DatagramSocket* a_output; comm::DatagramSocket* a_input; - void initialize () throw (RuntimeException); - void run () throw (RuntimeException); + void initialize () noexcept(false); + void run () noexcept(false); }; using namespace std; @@ -111,21 +83,19 @@ KClient::KClient () : { CommandLine& commandLine (CommandLine::instantiate ()); - commandLine.add ("as", CommandLine::Argument::Optional, "Dirección broadcast en el que servidor atiende peticiones."); + commandLine.add ("as", CommandLine::Argument::Optional, "Direccion broadcast en el que servidor atiende peticiones."); commandLine.add ("ps", CommandLine::Argument::Mandatory, "Puerto en el que el servidor atiende las peticiones."); - commandLine.add ("a", CommandLine::Argument::Optional, "Dirección broadcast en la que el cliente atiende respuestas."); + commandLine.add ("a", CommandLine::Argument::Optional, "Direccion broadcast en la que el cliente atiende respuestas."); commandLine.add ("p", CommandLine::Argument::Mandatory, "Puerto en el que atiende las respuestas"); activateGeneralPublicLicense (); } void KClient::initialize () - throw (RuntimeException) + noexcept(false) { CommandLine& cl (CommandLine::instantiate ()); - Network& network = Network::instantiate (); - /* Define el Socket para enviar las respuestas */ const comm::Device* device = Network::instantiate ().find (Device::asAddress (cl.getValue ("as"))); int port = cl.getIntegerValue ("ps"); @@ -148,14 +118,14 @@ void KClient::initialize () } void KClient::run () - throw (RuntimeException) + noexcept(false) { a_menu.paint (); a_communicator.accept (); } void MyCommunicator::eventReceiveMessage (ClientSocket&, const Message& message) - throw (RuntimeException) + noexcept(false) { a_response.decode (message.getBody ()); @@ -172,7 +142,7 @@ void MyCommunicator::eventReceiveMessage (ClientSocket&, const Message& message) // notifica al comunicador mediante un evento de usuario. //----------------------------------------------------------------------------------------- void MyCommunicator::eventUser (const char* id, const void* context) - throw () + { LOGMETHOD (TraceMethod tm ("MyCommunicator", "eventUser", ANNA_FILE_LOCATION));