Remove dynamic exceptions
[anna.git] / include / anna / ldap / Response.hpp
index 43fadb7..9284922 100644 (file)
@@ -1,37 +1,9 @@
-// ANNA - Anna is Not Nothingness Anymore
-//
-// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo
-//
-// http://redmine.teslayout.com/projects/anna-suite
-//
-// 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 the copyright holder 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_ldap_Response_hpp
@@ -73,7 +45,7 @@ public:
      Devuelve el tipo de la clase de esta respuesta.
      \return El tipo de la clase de esta respuesta.
   */
-  ClassCode::_v getClassCode() const throw() { return a_classCode; }
+  ClassCode::_v getClassCode() const { return a_classCode; }
 
   /**
      Devuelve la identificacion del mensaje LDAP.
@@ -81,74 +53,74 @@ public:
      \return Identificacion del mensaje asociado a esta peticion/respuesta.
      \see ldap::Session::send
   */
-  IdMessage getIdMessage() const throw() { return a_idMessage; }
+  IdMessage getIdMessage() const { return a_idMessage; }
 
   /**
      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 el resultado de la peticion LDAP solicitada.
      \return El resultado de la peticion LDAP solicitada.
   */
-  const ResultCode& getResultCode() const throw() { return a_resultCode; }
+  const ResultCode& getResultCode() const { return a_resultCode; }
 
   /**
      Devuelve el nombre del DN asociado a esta peticion.
      \return El nombre del DN asociado a esta peticion.
   */
-  const std::string& getName() const throw() { return a_name; }
+  const std::string& getName() const { return a_name; }
 
   /**
      Devuelve la peticion que origino la creacion de esta respuesta.
      \return La peticion que origino la creacion de esta respuesta.
      \see ldap::Session::send
   */
-  const Request* getRequest()const  throw() { return a_request; }
+  const Request* getRequest()const  { return a_request; }
 
   /**
      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 nº de atributos que contiene la respuesta.
    * \return el nº de atributos que contiene la respuesta.
    */
-  int attribute_size() const throw() { return a_attributes.size(); }
+  int attribute_size() const { return a_attributes.size(); }
 
   /**
      Devuelve el iterador al comienzo de la lista de atributos asociados a esta respuesta.
      \return El iterador al comienzo de la lista de atributos asociados a esta respuesta.
   */
-  const_attribute_iterator attribute_begin() const throw() { return a_attributes.begin(); }
+  const_attribute_iterator attribute_begin() const { return a_attributes.begin(); }
 
   /**
      Devuelve el iterador al final de la lista de atributos asociados a esta respuesta.
      \return El iterador al final de la lista de atributos asociados a esta respuesta.
   */
-  const_attribute_iterator attribute_end() const throw() { return a_attributes.end(); }
+  const_attribute_iterator attribute_end() const { return a_attributes.end(); }
 
   /**
    * Devuelve el nº de referencias que contiene la respuesta.
    * \return el nº de referencias que contiene la respuesta.
    */
-  int referral_size() const throw() { return a_referrals.size(); }
+  int referral_size() const { return a_referrals.size(); }
 
   /**
      Devuelve el iterador al comienzo de la lista de referencias asociados a esta respuesta.
      \return El iterador al comienzo de la lista de referencias asociados a esta respuesta.
   */
-  const_referral_iterator referral_begin() const throw() { return a_referrals.begin(); }
+  const_referral_iterator referral_begin() const { return a_referrals.begin(); }
 
   /**
      Devuelve el iterador al final de la lista de referencias asociados a esta respuesta.
      \return El iterador al final de la lista de referencias asociados a esta respuesta.
   */
-  const_referral_iterator referral_end() const throw() { return a_referrals.end(); }
+  const_referral_iterator referral_end() const { return a_referrals.end(); }
 
   /**
      Devuelve el atributo asociado al iterador recibido como parametro.
@@ -156,7 +128,7 @@ public:
      entre [#attribute_begin, #attribute_end).
      \return El atributo referenciado por el iterador.
   */
-  static const Attribute* attribute(const_attribute_iterator ii) throw() { return attribute_container::data(ii); }
+  static const Attribute* attribute(const_attribute_iterator ii) { return attribute_container::data(ii); }
 
   /**
      Devuelve la referencia asociada al iterador recibido como parametro.
@@ -164,13 +136,13 @@ public:
      entre [#referral_begin, #referral_end).
      \return La referencia apuntada por el iterador.
   */
-  static const std::string& referral(const_referral_iterator ii) throw() { return *referral_container::data(ii); }
+  static const std::string& referral(const_referral_iterator ii) { return *referral_container::data(ii); }
 
   /**
      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;
@@ -188,29 +160,29 @@ private:
 
   Response();
 
-  static Response* instance(const ClassCode::_v, const IdMessage) throw(RuntimeException);
-  static void release(Response* response) throw();
+  static Response* instance(const ClassCode::_v, const IdMessage) noexcept(false);
+  static void release(Response* response) ;
 
-  void clear() throw();
+  void clear() ;
 
-  void setName(const std::string& name) throw() { a_name = name; }
-  void setSession(Session* session) throw() { a_session = session; }
-  void setRequest(const Request* request) throw() { a_request = request; }
-  void activateTimer() throw(RuntimeException);
-  void cancelTimer() throw();
-  void setResultCode(const ResultCode& resultCode) throw() { a_resultCode = resultCode; }
+  void setName(const std::string& name) { a_name = name; }
+  void setSession(Session* session) { a_session = session; }
+  void setRequest(const Request* request) { a_request = request; }
+  void activateTimer() noexcept(false);
+  void cancelTimer() ;
+  void setResultCode(const ResultCode& resultCode) { a_resultCode = resultCode; }
 
-  Attribute* createAttribute(const std::string& name) throw(RuntimeException);
+  Attribute* createAttribute(const std::string& name) noexcept(false);
 
-  void createReferral(const char* value) throw(RuntimeException) {
+  void createReferral(const char* value) noexcept(false) {
     std::string* newReferral = a_referrals.create();
     *newReferral = value;
   }
 
 
-  attribute_iterator attribute_begin() throw() { return a_attributes.begin(); }
-  attribute_iterator attribute_end() throw() { return a_attributes.end(); }
-  static Attribute* attribute(attribute_iterator ii) throw() { return attribute_container::data(ii); }
+  attribute_iterator attribute_begin() { return a_attributes.begin(); }
+  attribute_iterator attribute_end() { return a_attributes.end(); }
+  static Attribute* attribute(attribute_iterator ii) { return attribute_container::data(ii); }
 
   friend class Session;
   friend class Allocator<Response>;