* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PULSEVIEW_PV_BINDING_DEVICE_HPP
#define PULSEVIEW_PV_BINDING_DEVICE_HPP
+#include <functional>
+
#include <boost/optional.hpp>
#include <QObject>
#include <libsigrokcxx/libsigrokcxx.hpp>
+using std::function;
+using std::pair;
+using std::set;
+using std::shared_ptr;
+
namespace pv {
namespace binding {
-class Device : public QObject, public Binding
+class Device : public Binding
{
Q_OBJECT
public:
- Device(std::shared_ptr<sigrok::Configurable> configurable);
+ Device(shared_ptr<sigrok::Configurable> configurable);
Q_SIGNALS:
void config_changed();
private:
- void bind_bool(const QString &name,
+ void bind_bool(const QString &name, const QString &desc,
prop::Property::Getter getter, prop::Property::Setter setter);
- void bind_enum(const QString &name,
+ void bind_enum(const QString &name, const QString &desc,
const sigrok::ConfigKey *key,
- std::set<const sigrok::Capability *> capabilities,
+ set<const sigrok::Capability *> capabilities,
prop::Property::Getter getter, prop::Property::Setter setter,
- std::function<QString (Glib::VariantBase)> printer = print_gvariant);
- void bind_int(const QString &name, QString suffix,
- boost::optional< std::pair<int64_t, int64_t> > range,
+ function<QString (Glib::VariantBase)> printer = print_gvariant);
+ void bind_int(const QString &name, const QString &desc, QString suffix,
+ boost::optional< pair<int64_t, int64_t> > range,
prop::Property::Getter getter, prop::Property::Setter setter);
static QString print_timebase(Glib::VariantBase gvar);
static QString print_vdiv(Glib::VariantBase gvar);
static QString print_voltage_threshold(Glib::VariantBase gvar);
+ static QString print_probe_factor(Glib::VariantBase gvar);
protected:
- std::shared_ptr<sigrok::Configurable> configurable_;
+ shared_ptr<sigrok::Configurable> configurable_;
};
-} // binding
-} // pv
+} // namespace binding
+} // namespace pv
#endif // PULSEVIEW_PV_BINDING_DEVICE_HPP