X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.cpp;h=62881528a0c37faa47aba0f97a1ff242f95dcce4;hb=cbd2a2de848f957507096785d3be1cc97d30df9a;hp=55397edfc4177bd7fb60d264f43d49791db80523;hpb=bf0edd2b0cbb5f4bd5d69b0f00bcea7d037e2287;p=pulseview.git diff --git a/pv/data/signalbase.cpp b/pv/data/signalbase.cpp index 55397ed..6288152 100644 --- a/pv/data/signalbase.cpp +++ b/pv/data/signalbase.cpp @@ -19,8 +19,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "analog.hpp" +#include "logic.hpp" #include "signalbase.hpp" +#include "signaldata.hpp" +using std::dynamic_pointer_cast; using std::shared_ptr; using sigrok::Channel; @@ -99,5 +103,27 @@ QColor SignalBase::bgcolour() const return bgcolour_; } +void SignalBase::set_data(shared_ptr data) +{ + data_ = data; +} + +shared_ptr SignalBase::analog_data() const +{ + if (type() == ChannelType::ANALOG) + return dynamic_pointer_cast(data_); + else + return shared_ptr(); +} + +shared_ptr SignalBase::logic_data() const +{ + if (type() == ChannelType::LOGIC) + return dynamic_pointer_cast(data_); + else + return shared_ptr(); +} + + } // namespace data } // namespace pv