fipa_acl  1.4
Public Member Functions | Public Attributes | List of all members
fipa::SerializedLetter Struct Reference

#include <serialized_letter.h>

Public Member Functions

 SerializedLetter ()
 
 SerializedLetter (const fipa::acl::Letter &letter, fipa::acl::representation::Type representation)
 
void clear ()
 
std::vector< uint8_t > getVector () const
 
void setData (const std::string &msg)
 
int size () const
 
std::string getDataAsString () const
 
fipa::acl::Letter deserialize () const
 

Public Attributes

fipa::acl::representation::Type representation
 
std::vector< uint8_t > data
 
base::Time timestamp
 

Detailed Description

Facilitate transport

Definition at line 16 of file serialized_letter.h.

Constructor & Destructor Documentation

◆ SerializedLetter() [1/2]

fipa::SerializedLetter::SerializedLetter ( )

Definition at line 8 of file serialized_letter.cpp.

10  , timestamp(base::Time::now())
11 {
12 }
fipa::acl::representation::Type representation

◆ SerializedLetter() [2/2]

fipa::SerializedLetter::SerializedLetter ( const fipa::acl::Letter letter,
fipa::acl::representation::Type  representation 
)

Definition at line 15 of file serialized_letter.cpp.

16  : representation(_representation)
17  , timestamp(base::Time::now())
18 {
19  std::string serializedLetter = fipa::acl::EnvelopeGenerator::create(letter, representation);
20  setData(serializedLetter);
21 }
static std::string create(const ACLEnvelope &msg, const representation::Type &acl_representation)
fipa::acl::representation::Type representation
void setData(const std::string &msg)

Member Function Documentation

◆ clear()

void fipa::SerializedLetter::clear ( )
inline

Clear the serialization data

Definition at line 27 of file serialized_letter.h.

◆ deserialize()

fipa::acl::Letter fipa::SerializedLetter::deserialize ( ) const

Retrieve decoded letter

Definition at line 24 of file serialized_letter.cpp.

25 {
27  fipa::acl::Letter letter;
28 
29  std::string serializedLetter = getDataAsString();
30  if( ep.parseData(serializedLetter, letter, representation) )
31  {
32  return letter;
33  }
34 
35  throw std::runtime_error("SerializedLetter: could not deserialize data correctly");
36 }
ACLMessage envelope (also typed as fipa::acl::Letter) includes the base envelope and updated fields...
Definition: acl_envelope.h:349
static bool parseData(const std::string &storage, ACLEnvelope &envelope, representation::Type type=fipa::acl::representation::BITEFFICIENT)
std::string getDataAsString() const
fipa::acl::representation::Type representation

◆ getDataAsString()

std::string fipa::SerializedLetter::getDataAsString ( ) const

Get data in string container

Definition at line 46 of file serialized_letter.cpp.

47 {
48  std::string str = "";
49  for (std::vector<uint8_t>::const_iterator it = data.begin(); it != data.end(); it++)
50  str += (*it);
51  return str;
52 }
std::vector< uint8_t > data

◆ getVector()

std::vector<uint8_t> fipa::SerializedLetter::getVector ( ) const
inline

Retrieve the underlying vector

Definition at line 32 of file serialized_letter.h.

32 { return this->data; }
std::vector< uint8_t > data

◆ setData()

void fipa::SerializedLetter::setData ( const std::string &  msg)

Set the serialized content

Definition at line 38 of file serialized_letter.cpp.

39 {
40  for(unsigned int i=0; i<msg.size(); i++)
41  {
42  this->data.push_back(msg[i]);
43  }
44 }
std::vector< uint8_t > data

◆ size()

int fipa::SerializedLetter::size ( ) const
inline

Retrieve the size of the serialized content

Definition at line 42 of file serialized_letter.h.

42 { return this->data.size(); }
std::vector< uint8_t > data

Member Data Documentation

◆ data

std::vector<uint8_t> fipa::SerializedLetter::data

Definition at line 55 of file serialized_letter.h.

◆ representation

fipa::acl::representation::Type fipa::SerializedLetter::representation

Definition at line 54 of file serialized_letter.h.

◆ timestamp

base::Time fipa::SerializedLetter::timestamp

Definition at line 56 of file serialized_letter.h.


The documentation for this struct was generated from the following files: