]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/binding/binding.cpp
Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / prop / binding / binding.cpp
index 1a5eb5ec097a32994d04e3057db5090bd41aee77..86318139673a72bb71d6f89010361519c7284a5c 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
+#include <cassert>
+
 #include <QFormLayout>
 
 #include <pv/prop/property.h>
 
 #include "binding.h"
 
-using boost::shared_ptr;
+using std::shared_ptr;
 
 namespace pv {
 namespace prop {
 namespace binding {
 
-const std::vector< boost::shared_ptr<Property> >& Binding::properties()
+const std::vector< std::shared_ptr<Property> >& Binding::properties()
 {
        return _properties;
 }
@@ -71,18 +73,18 @@ QWidget* Binding::get_property_form(QWidget *parent,
        return form;
 }
 
-QString Binding::print_gvariant(GVariant *const gvar)
+QString Binding::print_gvariant(Glib::VariantBase gvar)
 {
        QString s;
 
-       if (g_variant_is_of_type(gvar, G_VARIANT_TYPE("s")))
-               s = QString::fromUtf8(g_variant_get_string(gvar, NULL));
+       if (!gvar.gobj())
+               s = QString::fromStdString("(null)");
+       else if (gvar.is_of_type(Glib::VariantType("s")))
+               s = QString::fromStdString(
+                       Glib::VariantBase::cast_dynamic<Glib::Variant<std::string>>(
+                               gvar).get());
        else
-       {
-               gchar *const text = g_variant_print(gvar, FALSE);
-               s = QString::fromUtf8(text);
-               g_free(text);
-       }
+               s = QString::fromStdString(gvar.print());
 
        return s;
 }