Remove dynamic exceptions
[anna.git] / include / anna / ldap / Session.hpp
index a84b5be..fc8090f 100644 (file)
@@ -83,49 +83,49 @@ public:
      Devuelve la direccion del servidor LDAP. Coincidira con la indicada en ldap::Engine::createSession.
      \return La direccion del servidor LDAP. Coincidira con la indicada en ldap::Engine::createSession.
   */
-  const std::string& getURL() const throw() { return a_url; }
+  const std::string& getURL() const { return a_url; }
 
   /**
      Devuelve el usuario de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
      \return El usuario de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
   */
-  const std::string& getUser() const throw() { return a_user; }
+  const std::string& getUser() const { return a_user; }
 
   /**
      Devuelve el password de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
      \return El password de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
   */
-  const std::string& getPassword() const throw() { return a_password; }
+  const std::string& getPassword() const { return a_password; }
 
   /**
      Devuelve la categoria de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
      \return La categoria de esta sesion. Coincidira con la indicada en ldap::Engine::createSession.
   */
-  int getCategory() const throw() { return a_category; }
+  int getCategory() const { return a_category; }
 
   /**
    * Devuelve la clave externa con la que fué creada esta sesión.
    */
-  int getExternalID() const throw() { return a_externalID; }
+  int getExternalID() const { return a_externalID; }
 
   /**
      Devuelve el manejador usado para conectar con el servidor LDAP.
      \warning Exclusivamente uso interno.
   */
-  void* getLDAP() throw() { return a_ldap; }
+  void* getLDAP() { return a_ldap; }
 
   /**
    * Devuelve el fd asociado a esta sesión de LDAP.
    * \return el fd asociado a esta sesión de LDAP.
    * \warning Las operaciones sobre este fd podrían influir negativamente en el sistema.
    */
-  int getDangerousFileDescriptor() const throw(RuntimeException);
+  int getDangerousFileDescriptor() const noexcept(false);
 
   /**
      Devuelve el modo de interpretar las referencias establecido en esta sesion.
      \return El modo de interpretar las referencias establecido en esta sesion.
   */
-  Option::Defer::_v getDefer() const throw() { return a_defer; }
+  Option::Defer::_v getDefer() const { return a_defer; }
 
   /**
      Devuelve \em true si la biblioteca LDAP realiza de forma automatica el siguimiento de las referencias
@@ -133,26 +133,26 @@ public:
      \return \em true si la biblioteca LDAP realiza de forma automatica el siguimiento de las referencias
      retornadas por los servidores LDAP o \em false en otro caso.
   */
-  Option::Referral::_v getReferral() const throw() { return a_referral; }
+  Option::Referral::_v getReferral() const { return a_referral; }
 
   /**
      Devuelve el estado de esta sesion.
      \return El estado de esta sesion.
   */
-  State::_v getState() const throw() { return a_state; }
+  State::_v getState() const { return a_state; }
 
   /**
    * Devuelve el periodo de espera establecido para las peticiones del tipo \em v.
    * \return el periodo de espera establecido para las peticiones del tipo \em v.
    */
-  const Millisecond &getTimeout(const ClassCode::_v v) const throw() { return a_timeouts [v]; }
+  const Millisecond &getTimeout(const ClassCode::_v v) const { return a_timeouts [v]; }
 
   /**
    * Devuelve el valor establecido en #setNetworkTimeout
    * \return Los miligundos establecidos por #setNetworkTimeout.
    * \warning El valor retornado sólo tendrá valided si #hasNetworkTimeout devolvió \em true.
    */
-  Millisecond getNetworkTimeout() const throw() {
+  Millisecond getNetworkTimeout() const {
     Millisecond result(1000 * a_networkTimeout.tv_sec);
     return Millisecond(result + a_networkTimeout.tv_usec / 1000);
   }
@@ -161,7 +161,7 @@ public:
    * Devuelve \em true si se estableció el tiempo de espera de conexión o \em false en otro caso.
    * \return \em true si se estableció el tiempo de espera de conexión o \em false en otro caso.
    */
-  bool hasNetworkTimeout() const throw() { return a_networkTimeout.tv_sec != -1; }
+  bool hasNetworkTimeout() const { return a_networkTimeout.tv_sec != -1; }
 
   /**
      Solicita la conexion al servidor asociado a esta sesion.
@@ -169,25 +169,25 @@ public:
      \warning Solo deberia invocarse directamente este metodo en caso de que el #eventResponse
      notifique no ha sido posible contactar con el servidor indicado.
   */
-  void bind() throw(RuntimeException);
+  void bind() noexcept(false);
 
   /**
      Devuelve \em true si la sesion esta conectada al servidor LDAP o \em false en otro caso.
      \return \em true si la sesion esta conectada al servidor LDAP o \em false en otro caso.
   */
-  bool isBound() const throw() { return a_state == State::Bound; }
+  bool isBound() const { return a_state == State::Bound; }
 
   /**
      Establece el modo de interpretar las referencias.
      \param defer Indica el modo de interpretar las referencias.
   */
-  void setOption(const Option::Defer::_v defer) throw() { a_defer = defer; }
+  void setOption(const Option::Defer::_v defer) { a_defer = defer; }
 
   /**
      Establece el modo en que la biblioteca LDAP actua a la hora de realizar el siguimiento de las referencias.
      \param referral Indica el modo de realizar el seguimiento de las referncias.
   */
-  void setOption(const Option::Referral::_v referral) throw() { a_referral = referral; }
+  void setOption(const Option::Referral::_v referral) { a_referral = referral; }
 
   /**
    * Establece el periodo de tiempo máximo que esperará la conexión a un servidor LDAP antes de considerar que
@@ -198,7 +198,7 @@ public:
    * \see http://manpages.courier-mta.org/htmlman3/ldap_get_option.3.html
    * \warning Sólo tiene efecto antes de invocar al #bind, por lo que habrá que desactivar la auto conexión, para establecer el valor.
    */
-  void setNetworkTimeout(const Millisecond &timeout) throw() { a_networkTimeout.tv_sec = timeout / 1000; a_networkTimeout.tv_usec = (timeout % 1000) * 1000; }
+  void setNetworkTimeout(const Millisecond &timeout) { a_networkTimeout.tv_sec = timeout / 1000; a_networkTimeout.tv_usec = (timeout % 1000) * 1000; }
 
   /**
    * Elimina el tiempo asignado en #setNetworkTimeout.
@@ -206,7 +206,7 @@ public:
    * \see http://manpages.courier-mta.org/htmlman3/ldap_get_option.3.html
    * \warning Sólo tiene efecto antes de invocar al #bind
    */
-  void clearNetworkTimeout() throw() { a_networkTimeout.tv_sec = -1; a_networkTimeout.tv_usec = 0; }
+  void clearNetworkTimeout() { a_networkTimeout.tv_sec = -1; a_networkTimeout.tv_usec = 0; }
 
   /**
      Establece el tiempo de espera maximo antes de considerar fallida una peticion LDAP.
@@ -216,7 +216,7 @@ public:
      Los temporizadores correspondientes las peticiones LDAP se activaran automaticamente al
      invocar a los distintos métodos de esta clase.
   */
-  void setTimeout(const ClassCode::_v v, const Millisecond &millisecond) throw() { a_timeouts [v] = millisecond;  }
+  void setTimeout(const ClassCode::_v v, const Millisecond &millisecond) { a_timeouts [v] = millisecond;  }
 
   /**
      Envia la peticion recibida como parametro al servidor con el que estamos conectados mediante esta
@@ -231,7 +231,7 @@ public:
      \return La instancia de la respuesta LDAP asociada la peticion realizada.
      \warning Solo se podra hacer uso de este metodo cuando el metodo #isBound devuelva \em true.
   */
-  const Response* send(const Request* request) throw(RuntimeException);
+  const Response* send(const Request* request) noexcept(false);
 
   /**
      Envia la peticion recibida como parametro al servidor con el que estamos conectados mediante esta
@@ -246,7 +246,7 @@ public:
      \return La instancia de la respuesta LDAP asociada la peticion realizada.
      \warning Solo se podra hacer uso de este metodo cuando el metodo #isBound devuelva \em true.
   */
-  const Response* send(const Request& request) throw(RuntimeException) { return send(&request); }
+  const Response* send(const Request& request) noexcept(false) { return send(&request); }
 
   /**
    * Desconecta este cliente LDAP del servidor LDAP.
@@ -255,20 +255,20 @@ public:
    * \warning Después de invocar a este método habría que volver a invocar a ldap::Session::bind y esperar la conexión
    * antes de volver a usar esta sessión.
    */
-  void unbind() throw(RuntimeException);
+  void unbind() noexcept(false);
 
   /**
      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 ;
 
   /**
      Devuelve un documento XML con la informacion relevante sobre esta instancia.
      \param parent Nodo XML del que colgar la informacion referente a esta instancia.
      \return Un documento XML con la informacion relevante sobre esta instancia.
   */
-  xml::Node* asXML(xml::Node* parent) const throw();
+  xml::Node* asXML(xml::Node* parent) const ;
 
 protected:
   /**
@@ -284,14 +284,14 @@ protected:
      Una vez que se ha notificado la caida de la sesion, el nucleo de ANNA.ldap genera un
      ldap::Session::eventResponse para cada una de las peticiones que hay pendientes de contestar.
   */
-  virtual void eventServerShutdown() throw() {;}
+  virtual void eventServerShutdown() {;}
 
   /**
      Metodo-manejador de las respuestas provenientes del servidor LDAP.
 
      \param response Objeto que contiene la respuesta correspondiente a la peticion LDAP realizada.
   */
-  virtual void eventResponse(const Response& response) throw(RuntimeException) = 0;
+  virtual void eventResponse(const Response& response) noexcept(false) = 0;
 
   /**
      Metodo-manejador de los errores provenientes del servidor LDAP.
@@ -299,7 +299,7 @@ protected:
      \param disconnect Incicador que informa al nivel de aplicación sobre cómo actuará la ANNA.ldap
      para recuperar este error, si vale \em true la conexión se cerrará o \em false en otro caso.
   */
-  virtual void eventResponseError(const ResultCode& resultCode, const bool disconnect) throw() {;}
+  virtual void eventResponseError(const ResultCode& resultCode, const bool disconnect) {;}
 
   /**
    * Método-manejador que se invoca cuando alguno de los mensajes intermedios requeridos para formar
@@ -307,11 +307,11 @@ protected:
    *
      \param response Objeto que contiene la respuesta correspondiente a la peticion LDAP realizada.
    */
-  virtual void eventIntermediateResponseError(const Response& response) throw() {;}
+  virtual void eventIntermediateResponseError(const Response& response) {;}
 
 private:
   struct SortById {
-    static IdMessage value(const Response*) throw();
+    static IdMessage value(const Response*) ;
   };
   typedef SortedVector <Response, SortById, IdMessage> response_container;
   typedef response_container::iterator response_iterator;
@@ -338,28 +338,28 @@ private:
    */
   std::string a_keymap;
 
-  void apply() throw(RuntimeException);
-  void receiveBind(const IdMessage, HandleMessage) throw(RuntimeException);
-  void receiveEntry(const IdMessage, HandleMessage) throw(RuntimeException);
-  void receiveReference(const IdMessage, HandleMessage) throw(RuntimeException);
-  void receiveResult(const IdMessage, HandleMessage) throw(RuntimeException);
-  void expireResponse(Response*) throw();
+  void apply() noexcept(false);
+  void receiveBind(const IdMessage, HandleMessage) noexcept(false);
+  void receiveEntry(const IdMessage, HandleMessage) noexcept(false);
+  void receiveReference(const IdMessage, HandleMessage) noexcept(false);
+  void receiveResult(const IdMessage, HandleMessage) noexcept(false);
+  void expireResponse(Response*) ;
 
-  void finalize() throw();
+  void finalize() ;
 
-  response_iterator response_begin() throw() { return a_responses.begin(); }
-  response_iterator response_end() throw() { return a_responses.end(); }
-  void response_add(Response* response) throw();
-  void response_erase(Response* response) throw();
-  Response* response_find(const IdMessage idMessage) throw(RuntimeException);
+  response_iterator response_begin() { return a_responses.begin(); }
+  response_iterator response_end() { return a_responses.end(); }
+  void response_add(Response* response) ;
+  void response_erase(Response* response) ;
+  Response* response_find(const IdMessage idMessage) noexcept(false);
 
-  static Response* response(response_iterator ii) throw() { return response_container::data(ii); }
+  static Response* response(response_iterator ii) { return response_container::data(ii); }
 
-  const_response_iterator response_begin() const throw() { return a_responses.begin(); }
-  const_response_iterator response_end() const throw() { return a_responses.end(); }
-  static const Response* response(const_response_iterator ii) throw() { return response_container::data(ii); }
+  const_response_iterator response_begin() const { return a_responses.begin(); }
+  const_response_iterator response_end() const { return a_responses.end(); }
+  static const Response* response(const_response_iterator ii) { return response_container::data(ii); }
 
-  static const char* asText(const State::_v) throw();
+  static const char* asText(const State::_v) ;
 
   friend class Timer;
   friend class Engine;