message_t::message_t()
: maxdlen_{0},
length_{0},
- format_{message_format_t::INVALID},
+ flags_{INVALID_FLAG},
timestamp_{0},
sub_id_{-1}
{}
*/
message_t::message_t(uint32_t maxdlen,
uint32_t length,
- message_format_t format,
+ uint32_t flags,
std::vector<uint8_t>& data,
uint64_t timestamp)
: maxdlen_{maxdlen},
length_{length},
- format_{format},
+ flags_{flags},
data_{data},
timestamp_{timestamp},
sub_id_{-1}
return data_.data();
}
-
-///
-/// @brief Retrieve data_ member value.
-///
-/// @return pointer to the first element
-/// of class member data_
-///
-const std::vector<uint8_t> message_t::get_data_vector(int start,int end) const
-{
- std::vector<uint8_t> ret;
- if(start >= 0)
- {
- if(end<length_)
- {
- for(int i=start;i<=end;i++)
- {
- ret.push_back(data_[i]);
- }
- }
- else
- {
- for(int i=start;i<length_;i++)
- {
- ret.push_back(data_[i]);
- }
- }
- }
- else
- {
- AFB_ERROR("Error index to get data vector, [%d-%d] - for length %d",start,end,length_);
- }
- return ret;
-}
-
///
/// @brief Retrieve data_ member whole vector
///
*
* @param data A vector of data
*/
-void message_t::set_data(std::vector<uint8_t> &data)
+void message_t::set_data(std::vector<uint8_t> data)
{
data_ = data;
}
return timestamp_;
}
-/**
- * @brief Return the format of the message
- *
- * @return message_format_t The message format
- */
-message_format_t message_t::get_msg_format()
+uint32_t message_t::get_flags()
{
- return format_;
+ return flags_;
+}
+
+void message_t::set_flags(uint32_t flags)
+{
+ flags_ = flags_ | flags;
+}
+
+void message_t::erase_flags()
+{
+ flags_ = 0;
+}
+
+uint32_t message_t::get_maxdlen()
+{
+ return maxdlen_;
+}
+
+void message_t::set_maxdlen(uint32_t maxdlen)
+{
+ maxdlen_ = maxdlen;
+}
+
+void message_t::set_length(uint32_t length)
+{
+ length_ = length;
+}
+
+void message_t::frame_swap()
+{
+ int i;
+ uint8_t *temp = (uint8_t*)alloca(length_);
+
+ for(i = 0; i < length_; i++)
+ temp[i] = data_[length_ - i - 1];
+
+ memcpy(data_.data(), temp, length_);
}