File tree Expand file tree Collapse file tree 2 files changed +18
-9
lines changed Expand file tree Collapse file tree 2 files changed +18
-9
lines changed Original file line number Diff line number Diff line change @@ -202,6 +202,8 @@ class UnirecBidirectionalInterface {
202202 uint64_t m_sequenceNumber;
203203 const void * m_prioritizedDataPointer;
204204 bool m_sendEoFonExit;
205+ bool m_isInitialized;
206+
205207 UnirecRecord m_unirecRecord;
206208
207209 friend class Unirec ;
Original file line number Diff line number Diff line change 1313
1414namespace Nemea {
1515
16- UnirecBidirectionalInterface::~UnirecBidirectionalInterface ()
17- {
18- if (m_sendEoFonExit) {
19- sendEoF ();
20- }
21-
22- ur_free_template (m_template);
23- }
24-
2516UnirecBidirectionalInterface::UnirecBidirectionalInterface (
2617 uint8_t inputInterfaceID,
2718 uint8_t outputInterfaceID)
@@ -31,10 +22,20 @@ UnirecBidirectionalInterface::UnirecBidirectionalInterface(
3122 , m_sequenceNumber(0 )
3223 , m_prioritizedDataPointer(nullptr )
3324 , m_sendEoFonExit(true )
25+ , m_isInitialized(false )
3426{
3527 setRequieredFormat (" " );
3628}
3729
30+ UnirecBidirectionalInterface::~UnirecBidirectionalInterface ()
31+ {
32+ if (m_sendEoFonExit && m_isInitialized) {
33+ sendEoF ();
34+ }
35+
36+ ur_free_template (m_template);
37+ }
38+
3839std::optional<UnirecRecordView> UnirecBidirectionalInterface::receive ()
3940{
4041 const void * receivedData;
@@ -95,6 +96,10 @@ void UnirecBidirectionalInterface::setRequieredFormat(const std::string& templat
9596 " format." );
9697 }
9798
99+ if (templateSpecification.empty ()) {
100+ return ;
101+ }
102+
98103 changeInternalTemplate (templateSpecification);
99104}
100105
@@ -120,6 +125,8 @@ void UnirecBidirectionalInterface::changeInternalTemplate(const std::string& tem
120125 }
121126
122127 m_unirecRecord = createUnirecRecord ();
128+
129+ m_isInitialized = true ;
123130}
124131
125132void UnirecBidirectionalInterface::changeTemplate ()
You can’t perform that action at this time.
0 commit comments