1
0
Fork 0

source name is a string

This commit is contained in:
Kevin Matz 2021-08-20 11:41:20 -04:00
parent 03347a5e21
commit 92e14a2b5c
3 changed files with 5 additions and 22 deletions

View File

@ -28,30 +28,13 @@
namespace SACN {
namespace DATA {
/**
* @brief frame_header::streamSize
* @return
*/
size_t data_header::streamSize() const
{
return sizeof(source_name)
+ sizeof(priority)
+ sizeof(sync_address)
+ sizeof(sequence_number)
+ sizeof(options)
+ sizeof(universe);
}
/**
* @brief frame_header::iStream
* @param stream
*/
void data_header::iStream(ACN::PDU::Stream stream)
{
stream->read(source_name, sizeof(source_name));
if (stream->gcount() != sizeof(source_name))
return stream->setstate(std::ios_base::failbit);
stream->readString(source_name, 64);
*stream >> priority;
*stream >> sync_address;
*stream >> sequence_number;
@ -66,7 +49,7 @@ void data_header::iStream(ACN::PDU::Stream stream)
*/
void data_header::oStream(ACN::PDU::Stream stream) const
{
stream->write(source_name, 64);
stream->writeString(source_name, 64);
*stream << priority;
*stream << sync_address;
*stream << sequence_number;

View File

@ -33,14 +33,14 @@ namespace DATA {
* @brief Table 6-1: E1.31 Data Packet Framing Layer
*/
struct data_header : ACN::PDU::pdu_header {
uint8_t source_name[64];
std::string source_name;
uint8_t priority;
uint16_t sync_address;
uint8_t sequence_number;
uint8_t options;
uint16_t universe;
size_t streamSize() const override;
size_t streamSize() const override { return 71; }
void iStream(ACN::PDU::Stream) override;
void oStream(ACN::PDU::Stream) const override;
};

View File

@ -53,7 +53,7 @@ UniverseSource::UniverseSource(std::shared_ptr<DATA::Pdu> pdu)
auto frame_header = static_cast<DATA::data_header*>(pdu->header());
cid_ = root_header->cid;
description_ = std::string((char*)frame_header->source_name);
description_ = frame_header->source_name;
universe_ = frame_header->universe;
priority_ = frame_header->priority;
sync_address_ = frame_header->sync_address;