diff --git a/samples/blackmiscquantities_dbus/BlackMiscTest.Testservice.xml b/samples/blackmiscquantities_dbus/BlackMiscTest.Testservice.xml
index fc81aaae8..cdabcbf5a 100644
--- a/samples/blackmiscquantities_dbus/BlackMiscTest.Testservice.xml
+++ b/samples/blackmiscquantities_dbus/BlackMiscTest.Testservice.xml
@@ -23,7 +23,7 @@
-
+
@@ -42,5 +42,12 @@
+
+
+
+
+
+
+
diff --git a/samples/blackmiscquantities_dbus/main.cpp b/samples/blackmiscquantities_dbus/main.cpp
index 446f24d4e..f43989c1a 100644
--- a/samples/blackmiscquantities_dbus/main.cpp
+++ b/samples/blackmiscquantities_dbus/main.cpp
@@ -135,6 +135,20 @@ int main(int argc, char *argv[])
testserviceInterface.receiveTrack(track);
qDebug() << "Send track via interface" << track;
+ CLength len(33, CLengthUnit::m());
+ testserviceInterface.receiveLength(len);
+ qDebug() << "Send length via interface" << len;
+
+ CAltitude alt(33, true, CLengthUnit::m());
+ testserviceInterface.receiveLength(alt);
+ qDebug() << "Send altitude via interface" << alt;
+
+ QVariantList lengths;
+ lengths << QVariant::fromValue(len);
+ lengths << QVariant::fromValue(alt);
+ testserviceInterface.receiveLengths(lengths);
+ qDebug() << "Send lengths via interface";
+
TestserviceTool::sleep(2500);
// Math
diff --git a/samples/blackmiscquantities_dbus/testservice.cpp b/samples/blackmiscquantities_dbus/testservice.cpp
index 52715c063..6d88cf33c 100644
--- a/samples/blackmiscquantities_dbus/testservice.cpp
+++ b/samples/blackmiscquantities_dbus/testservice.cpp
@@ -101,4 +101,24 @@ void Testservice::receiveTrack(const BlackMisc::Aviation::CTrack &track)
qDebug() << "Pid:" << TestserviceTool::getPid() << "Received track:" << track;
}
+/*
+ * Receive a length
+ */
+void Testservice::receiveLength(const BlackMisc::PhysicalQuantities::CLength &length)
+{
+ qDebug() << "Pid:" << TestserviceTool::getPid() << "Received length:" << length;
+}
+
+/*
+ * Receive lengths
+ */
+void Testservice::receiveLengths(const QVariantList &lengths)
+{
+ BlackMisc::PhysicalQuantities::CLength l;
+ foreach(QVariant lv, lengths) {
+ l = lv.value();
+ qDebug() << "Pid:" << TestserviceTool::getPid() << "Received in list:" << l;
+ }
+}
+
} // namespace
diff --git a/samples/blackmiscquantities_dbus/testservice.h b/samples/blackmiscquantities_dbus/testservice.h
index c31d5364b..d9028b6a4 100644
--- a/samples/blackmiscquantities_dbus/testservice.h
+++ b/samples/blackmiscquantities_dbus/testservice.h
@@ -106,6 +106,18 @@ public slots:
*/
void receiveTrack(const BlackMisc::Aviation::CTrack &track);
+ /*!
+ * \brief Receive a length
+ * \param length
+ */
+ void receiveLength(const BlackMisc::PhysicalQuantities::CLength &length);
+
+ /*!
+ * \brief Receive lengths
+ * \param length
+ */
+ void receiveLengths(const QVariantList &lengths);
+
public:
static const QString ServiceName;
static const QString ServicePath;
diff --git a/src/blackmisc/pqbase.h b/src/blackmisc/pqbase.h
index ff1bb2cd5..cd3ffa643 100644
--- a/src/blackmisc/pqbase.h
+++ b/src/blackmisc/pqbase.h
@@ -24,7 +24,6 @@ namespace PhysicalQuantities
* \brief Typical prefixes (multipliers) such as kilo, mega, hecto.
* See here for an overview.
* Use the static values such CMeasurementMultiplier::k() as to specify values.
- * \author KWB
*/
class CMeasurementPrefix : public CBaseStreamStringifier
{
diff --git a/src/blackmisc/pqphysicalquantity.h b/src/blackmisc/pqphysicalquantity.h
index b09eab05e..fb832e952 100644
--- a/src/blackmisc/pqphysicalquantity.h
+++ b/src/blackmisc/pqphysicalquantity.h
@@ -458,8 +458,10 @@ public:
{
qRegisterMetaType(typeid(MU).name());
qDBusRegisterMetaType();
+ qDBusRegisterMetaType>();
qRegisterMetaType(typeid(PQ).name());
qDBusRegisterMetaType();
+ qDBusRegisterMetaType>();
}
};