diff options
author | Michael Brasser <mbrasser@ford.com> | 2020-07-24 14:12:45 -0500 |
---|---|---|
committer | Michael Brasser <michael.brasser@live.com> | 2020-07-27 10:28:10 -0500 |
commit | 51695d93e7190d0cbb2e896a0a2bbdd24ebbaf71 (patch) | |
tree | ca807667e1af6cc715e8641d65f9955c27e8b0f7 /src/remoteobjects/qremoteobjectnode.cpp | |
parent | 807c505b16edc28836f1ecd6e9e7a6a160bb4bea (diff) |
Update dependencies.yaml
Change-Id: Ic4bfe4ba2173c84c743f4c972db216e6bbd30211
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Diffstat (limited to 'src/remoteobjects/qremoteobjectnode.cpp')
-rw-r--r-- | src/remoteobjects/qremoteobjectnode.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/remoteobjects/qremoteobjectnode.cpp b/src/remoteobjects/qremoteobjectnode.cpp index 5d1e6ec..2d3d56d 100644 --- a/src/remoteobjects/qremoteobjectnode.cpp +++ b/src/remoteobjects/qremoteobjectnode.cpp @@ -133,6 +133,11 @@ static void GadgetLoadOperator(QDataStream &in, void *data) in >> prop; } +static bool GadgetEqualsFn(const QtPrivate::QMetaTypeInterface *, const void *a, const void *b) +{ + return *reinterpret_cast<const GadgetType*>(a) == *reinterpret_cast<const GadgetType*>(b); +} + // Like the Q_GADGET static methods above, we need constructor/destructor methods // in order to use dynamically defined enums with QVariant or as signal/slot // parameters (i.e., the queued connection mechanism, which QtRO leverages). @@ -178,6 +183,18 @@ static void EnumLoadOperator(QDataStream &in, void *data) in >> value; } +template<typename T> +static bool EnumEqualsFn(const QtPrivate::QMetaTypeInterface *, const void *a, const void *b) +{ + return *static_cast<const T*>(a) == *static_cast<const T*>(b); +} + +template<typename T> +static bool EnumLessThanFn(const QtPrivate::QMetaTypeInterface *, const void *a, const void *b) +{ + return *static_cast<const T*>(a) < *static_cast<const T*>(b); +} + static QString name(const QMetaObject * const mobj) { const int ind = mobj->indexOfClassInfo(QCLASSINFO_REMOTEOBJECT_TYPE); @@ -777,6 +794,8 @@ static TypeInfo *enumMetaType(const QByteArray &name, uint size, const QMetaObje EnumCopyConstructor<Int>, EnumMoveConstructor<Int>, EnumDestructor<Int>, + EnumEqualsFn<Int>, + EnumLessThanFn<Int>, nullptr }; return typeInfo; } @@ -878,6 +897,8 @@ static int registerGadgets(IoDeviceBase *connection, Gadgets &gadgets, QByteArra GadgetTypedCopyConstructor, GadgetTypedMoveConstructor, GadgetTypedDestructor, + GadgetEqualsFn, + nullptr, nullptr }; entry.gadgetMetaType = QMetaType(typeInfo); QMetaType::registerStreamOperators(entry.gadgetMetaType.id(), &GadgetSaveOperator, &GadgetLoadOperator); @@ -890,6 +911,8 @@ static int registerGadgets(IoDeviceBase *connection, Gadgets &gadgets, QByteArra nullptr, nullptr, nullptr, + nullptr, + nullptr, nullptr }; entry.gadgetMetaType = QMetaType(typeInfo); } |