+ * Get the color of the signal.
+ */
+ QColor color() const;
+
+ /**
+ * Set the color of the signal.
+ */
+ void set_color(QColor color);
+
+ /**
+ * Get the background color of the signal.
+ */
+ QColor bgcolor() const;
+
+ /**
+ * Sets the internal data object.
+ */
+ void set_data(shared_ptr<pv::data::SignalData> data);
+
+ /**
+ * Clears all sample data and removes all associated segments.
+ */
+ void clear_sample_data();
+
+ /**
+ * Get the internal data as analog data object in case of analog type.
+ */
+ shared_ptr<pv::data::Analog> analog_data() const;
+
+ /**
+ * Get the internal data as logic data object in case of logic type.
+ */
+ shared_ptr<pv::data::Logic> logic_data() const;
+
+ /**
+ * Determines whether a given segment is complete (i.e. end-of-frame has
+ * been seen). It only considers the original data, not the converted data.
+ */
+ bool segment_is_complete(uint32_t segment_id) const;
+
+ /**
+ * Determines whether this signal has any sample data at all.
+ */
+ bool has_samples() const;
+
+ /**
+ * Returns the sample rate for this signal.
+ */
+ virtual double get_samplerate() const;
+
+ /**
+ * Queries the kind of conversion performed on this channel.
+ */
+ ConversionType get_conversion_type() const;
+
+ /**
+ * Changes the kind of conversion performed on this channel.
+ *
+ * Restarts the conversion.
+ */
+ void set_conversion_type(ConversionType t);
+
+ /**
+ * Returns all currently known conversion options
+ */
+ map<QString, QVariant> get_conversion_options() const;
+
+ /**
+ * Sets the value of a particular conversion option
+ * Note: it is not checked whether the option is valid for the
+ * currently conversion. If it's not, it will be silently ignored.
+ *
+ * Does not restart the conversion.
+ *
+ * @return true if the value is different from before, false otherwise