bug in RC
[anna.git] / include / anna / comm / Buffer.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_comm_Buffer_hpp
10 #define anna_comm_Buffer_hpp
11
12 #include <anna/core/DataBlock.hpp>
13
14 namespace anna {
15
16 namespace comm {
17
18 /**
19    Clase para mantener en memoria lo buffer intermedios usados para enviar y/o recibir
20    mensajes,
21 */
22 class Buffer : public DataBlock {
23 public:
24   /**
25      Constructor.
26   */
27   Buffer() : DataBlock(false) {;}
28
29   /**
30      Establece la direccion de memoria asociada a esta memoria intermedia.
31      \param buffer Direccion de memoria asociada a esta instancia.
32      \param size Numero de bytes asociados a esta instancia.
33   */
34   void setup(const char* buffer, const int size) throw() {
35     setBuffer(buffer);
36     setSize(size);
37   }
38
39   /**
40      Establece la longitud de la memoria asociada a esta instancia.
41      \param size Numero de bytes asociados a esta instancia.
42   */
43   void resize(const int size) throw() { setSize(size); }
44 };
45
46 }
47 }
48
49 #endif