X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.cpp;fp=pv%2Fdata%2Fsignalbase.cpp;h=26e01d05828858e1e1e1e00df28ee3162f5c3018;hp=9f47a9755eee6fc6ec085e3a831fb51062971183;hb=558ad6ceb934ab7406d286c1a4ae08da4aba1448;hpb=65efd0258bc6a70806f7c832a32ac74ce489fa52 diff --git a/pv/data/signalbase.cpp b/pv/data/signalbase.cpp index 9f47a97..26e01d0 100644 --- a/pv/data/signalbase.cpp +++ b/pv/data/signalbase.cpp @@ -201,6 +201,35 @@ shared_ptr SignalBase::logic_data() const return result; } +bool SignalBase::segment_is_complete(uint32_t segment_id) const +{ + bool result = true; + + if (channel_type_ == AnalogChannel) + { + shared_ptr data = dynamic_pointer_cast(data_); + auto segments = data->analog_segments(); + try { + result = segments.at(segment_id)->is_complete(); + } catch (out_of_range) { + // Do nothing + } + } + + if (channel_type_ == LogicChannel) + { + shared_ptr data = dynamic_pointer_cast(data_); + auto segments = data->logic_segments(); + try { + result = segments.at(segment_id)->is_complete(); + } catch (out_of_range) { + // Do nothing + } + } + + return result; +} + SignalBase::ConversionType SignalBase::get_conversion_type() const { return conversion_type_;