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>(); } };