Changed LICENSE. Now referenced to web site and file on project root directory
[anna.git] / include / anna / diameter / codec / tme / Message.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_codec_tme_Message_hpp
10 #define anna_diameter_codec_tme_Message_hpp
11
12
13 // Local
14 #include <anna/diameter/codec/Message.hpp>
15 #include <anna/diameter/codec/tme/Avp.hpp>
16
17
18 //------------------------------------------------------------------------------
19 //---------------------------------------------------------------------- #define
20 //------------------------------------------------------------------------------
21
22 namespace anna {
23
24 namespace diameter {
25
26 namespace codec {
27
28 namespace tme {
29
30 class Avp;
31 class Engine;
32
33 /**
34 * Diameter TME message generic container
35 * Manages tme-specific formats (Unsigned16, ISDNAddress, ISDNNumber)
36 * </pre>
37 */
38 class Message : public anna::diameter::codec::Message {
39
40 protected:
41
42   /** Codec Engine getter: avoids have to create base engine when using its child */
43   virtual anna::diameter::codec::Engine * getEngine() const throw(anna::RuntimeException);
44
45   /**
46   * Initializes Message class information.
47   * Any reimplementation must first invoke base class method.
48   */
49   virtual void initialize() throw();
50 };
51
52 }
53 }
54 }
55 }
56
57
58 #endif