Remove dynamic exceptions
[anna.git] / include / anna / diameter / helpers / tme / Format.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_diameter_helpers_tme_Format_hpp
10 #define anna_diameter_helpers_tme_Format_hpp
11
12
13 #include <anna/core/RuntimeException.hpp>
14 #include <anna/core/define.autoenum.hpp>
15
16 // STL
17 #include <string>
18
19
20 namespace anna {
21
22 namespace diameter {
23
24 namespace helpers {
25
26 namespace tme {
27
28 /**
29 * Diameter TME Avp Data Format definition
30 */
31 struct Format {
32
33   enum _v {
34     None = -1,        // Initialized
35
36     Unsigned16,       // S8*  2
37     ISDNNumber,       // S8*  n
38     ISDNAddress       // S8*  n
39   };
40
41   anna_declare_enum(diameter::helpers::tme::Format);
42
43   /**
44   * Format description
45   * @param v Format type
46   * @return Format description
47   */
48   static const char* asText(const Format::_v v) noexcept(false) {
49     return asCString(v);
50   }
51 };
52
53
54 }
55 }
56 }
57 }
58
59
60 #endif
61