Remove dynamic exceptions
[anna.git] / include / anna / comm / Message.hpp
index 5ca3c6d..e82499f 100644 (file)
@@ -1,37 +1,9 @@
-// ANNA - Anna is Not Nothingness 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 //
 
 
 #ifndef anna_comm_Message_hpp
@@ -67,7 +39,7 @@ public:
      Devuelve la referencia al cuerpo de este mensaje.
      \return la referencia al cuerpo de este mensaje.
   */
-  const DataBlock& getBody() const throw() { return *this; }
+  const DataBlock& getBody() const { return *this; }
 
   /**
      Establece el cuerpo de este mensaje.
@@ -76,7 +48,7 @@ public:
      \warning Si el contructor activa el sistema de optimizacion de renidmiento el bloque de memoria no se
      copia, por lo que deberia estar disponible, al menos hasta que invoquemos al metodo Message::code.
   */
-  Message * setBody(const DataBlock& body) throw(RuntimeException) { assign(body); return this; }
+  Message * setBody(const DataBlock& body) noexcept(false) { assign(body); return this; }
 
   /**
      Establece el cuerpo de este mensaje.
@@ -86,7 +58,7 @@ public:
      \warning El bloque de memoria no se copia, por lo que deberia estar disponible, al menos
      hasta que invoquemos al metodo Message::code.
   */
-  Message * setBody(const char* buffer, const int size) throw(RuntimeException) {
+  Message * setBody(const char* buffer, const int size) noexcept(false) {
     DataBlock aux(buffer, size, false);
     assign(aux);
     return this;
@@ -97,19 +69,19 @@ public:
    * nodo XML recibido como parĂ¡metro.
    * \param node Nodo XML que contiene el documento XML.
    */
-  virtual Message * setBody(const xml::Node* node) throw(RuntimeException);
+  virtual Message * setBody(const xml::Node* node) noexcept(false);
 
   /**
      Elimina el contenido del cuerpo de este mensaje.
   */
-  void clearBody() throw() { clear(); }
+  void clearBody() { clear(); }
 
   /**
      Codifica este mensaje, por defecto no realiza ninguna operacion y retorna
      el contenido del cuerpo tal y con este.
      \return El bloque de datos que contiene el mensaje codificado.
   */
-  virtual const DataBlock& code() throw(RuntimeException) { return *this; }
+  virtual const DataBlock& code() noexcept(false) { return *this; }
 
 protected:
   struct StatusCodeBuffer { enum _v { None, Reserve, Copy }; };