currently_processed_segment_ = 0;
error_message_ = QString();
- rows_.clear();
+ segmented_rows_.clear();
current_rows_= nullptr;
class_rows_.clear();
}
}
- prepare_annotation_segment();
+ create_new_annotation_segment();
+
+ // TODO Allow logic_mux_data and logic_mux_segment to work with multiple segments
// Free the logic data and its segment(s) if it needs to be updated
if (logic_mux_data_invalid_)
if (!current_rows_)
return;
- // TODO Instead of current_rows_, use rows_ and the ID of the segment
+ // TODO Instead of current_rows_, use segmented_rows_ and the ID of the segment
const auto iter = current_rows_->find(row);
if (iter != current_rows_->end())
}
}
-void DecodeSignal::prepare_annotation_segment()
+void DecodeSignal::create_new_annotation_segment()
{
- // TODO Won't work for multiple segments
- rows_.emplace_back(map<const decode::Row, decode::RowData>());
- current_rows_ = &(rows_.back());
+ segmented_rows_.emplace_back(map<const decode::Row, decode::RowData>());
+ current_rows_ = &(segmented_rows_.back());
// Add annotation classes
for (const shared_ptr<decode::Decoder> &dec : stack_) {
void connect_input_notifiers();
- void prepare_annotation_segment();
+ void create_new_annotation_segment();
static void annotation_callback(srd_proto_data *pdata, void *decode_signal);
Q_SIGNALS:
map<pair<const srd_decoder*, int>, decode::Row> class_rows_;
/// Annotations for all segments
- vector< map<const decode::Row, decode::RowData>> rows_;
+ vector< map<const decode::Row, decode::RowData>> segmented_rows_;
/// Set of annotations for current segment
- map<const decode::Row, decode::RowData> *current_rows_; // TODO Multiple segment support
+ map<const decode::Row, decode::RowData> *current_rows_;
mutable mutex input_mutex_, output_mutex_, logic_mux_mutex_;
mutable condition_variable decode_input_cond_, logic_mux_cond_;