Remove dynamic exceptions
[anna.git] / include / anna / ldap / Scope.hpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite                           //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7
8
9 #ifndef anna_ldap_Scope_hpp
10 #define anna_ldap_Scope_hpp
11
12 #include <anna/core/RuntimeException.hpp>
13 #include <anna/config/defines.hpp>
14 #include <anna/core/define.autoenum.hpp>
15
16 namespace anna {
17
18 namespace ldap {
19
20 /**
21    Modela los ambitos de busqueda usados en las consultas LDAP.
22
23    \see ldap::Search
24 */
25 struct Scope {
26   enum _v {
27     None = -1, /**< Requerido por la declaracion automática */
28     Base, /**< Busca solo en el nivel indicado por el DN. */
29     OneLevel, /**< Busca en el nivel indicado por el DN y sus dependencias inmediatas */
30     SubTree  /**< Busca en el nivel indicador por el DN y todas sus dependencias */
31   };
32
33   anna_declare_enum(ldap::Scope);
34
35   /**
36      Devuelve una cadena que identifica el tipo de ambito.
37      \param v Codigo de ambito a traducir.
38      \return Una cadena que identifica el tipo de ambito.
39   */
40   static const char* asText(const Scope::_v v) noexcept(false) {
41     return asCString(v);
42   }
43 };
44
45 }
46 }
47
48 #endif
49