Remove dynamic exceptions
[anna.git] / include / anna / diameter.comm / Response.hpp
index 75fcf6d..a599e9e 100644 (file)
@@ -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 //
 
 
 #ifndef anna_diameter_comm_Response_hpp
@@ -85,7 +57,7 @@ public:
      Devuelve el tipo de la clase de esta respuesta.
      \return El tipo de la clase de esta respuesta.
   */
-  const ClassCode::_v & getClassCode() const throw() { return a_classCode; }
+  const ClassCode::_v & getClassCode() const { return a_classCode; }
 
   /**
      Devuelve la identificacion del mensaje diameter.
@@ -93,52 +65,52 @@ public:
      \return Identificacion del mensaje asociado a esta peticion/respuesta.
      \see diameter::comm::Session::send
   */
-  HopByHop getHopByHop() const throw() { return a_hopByHop; }
+  HopByHop getHopByHop() const { return a_hopByHop; }
 
   /**
      Devuelve la sesion que genera esta respuesta.
      \return La instancia de la sesion que genera esta respuesta.
   */
-  const Session* getSession() const throw() { return a_session; }
+  const Session* getSession() const { return a_session; }
 
   /**
      Devuelve la sesion que origino la creacion de esta respuesta.
      \return La sesion que origino la creacion de esta respuesta.
   */
-  Session* getSession() throw() { return a_session; }
+  Session* getSession() { return a_session; }
 
 
   /**
      Devuelve el resultado de la peticion diameter solicitada.
      \return El resultado de la peticion diameter solicitada.
   */
-  const ResultCode::_v & getResultCode() const throw() { return a_resultCode; }
+  const ResultCode::_v & getResultCode() const { return a_resultCode; }
 
 
   /**
      Returns original request for the response received from the network.
      \see diameter::comm::Session::send
   */
-  const Message* getRequest() const throw() { return a_request; }
+  const Message* getRequest() const { return a_request; }
 
   /**
      Returns message received from the network.
      \see diameter::comm::Session::send
   */
-  const anna::DataBlock *getMessage() const throw() { return a_message; }
+  const anna::DataBlock *getMessage() const { return a_message; }
 
   // helpers
 
 //   /**
 //      Reponse regarding diameter keepalive
 //   */
-//   bool isKeepAlive() const throw();
+//   bool isKeepAlive() const ;
 
   /**
      Devuelve una cadena con la informacion relevante sobre esta instancia.
      \return Una cadena con la informacion relevante sobre esta instancia.
   */
-  std::string asString() const throw();
+  std::string asString() const ;
 
 private:
   ClassCode::_v a_classCode;
@@ -154,19 +126,19 @@ private:
 
   Response();
 
-  static Response* instance(const ClassCode::_v &, const HopByHop) throw(anna::RuntimeException);
-  static void release(Response* response) throw();
+  static Response* instance(const ClassCode::_v &, const HopByHop) noexcept(false);
+  static void release(Response* response) ;
 
-  void clear() throw();
+  void clear() ;
 
-  void setSession(Session* session) throw() { a_session = session; }
-  void setRequest(const Message* request) throw() { a_request = request; }
-  void setMessage(const anna::DataBlock *message) throw() { a_message = message; }
-  void activateTimer() throw(anna::RuntimeException);
-  void cancelTimer() throw();
-  void setResultCode(const ResultCode::_v & resultCode) throw() { a_resultCode = resultCode; }
+  void setSession(Session* session) { a_session = session; }
+  void setRequest(const Message* request) { a_request = request; }
+  void setMessage(const anna::DataBlock *message) { a_message = message; }
+  void activateTimer() noexcept(false);
+  void cancelTimer() ;
+  void setResultCode(const ResultCode::_v & resultCode) { a_resultCode = resultCode; }
 
-  static const char* asText(const ResultCode::_v) throw();
+  static const char* asText(const ResultCode::_v) ;
 
   friend class Session;
   friend class ClientSession;