mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
refs #356 Moved CPropertyIndexVariantMap/CValueObject operators from CValueObject to CPropertyIndexVariantMap.
This commit is contained in:
@@ -43,6 +43,47 @@ namespace BlackMisc
|
|||||||
return !(b == a);
|
return !(b == a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compare with CValueObject
|
||||||
|
*/
|
||||||
|
bool operator==(const CPropertyIndexVariantMap &indexMap, const CValueObject &valueObject)
|
||||||
|
{
|
||||||
|
if (indexMap.isEmpty()) return indexMap.isWildcard();
|
||||||
|
const auto &map = indexMap.map();
|
||||||
|
for (auto it = map.begin(); it != map.end(); ++it)
|
||||||
|
{
|
||||||
|
// QVariant cannot be compared directly
|
||||||
|
CVariant p = valueObject.propertyByIndex(it.key()); // from value object
|
||||||
|
CVariant v = it.value().toCVariant(); // from map
|
||||||
|
if (p != v) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compare with CValueObject
|
||||||
|
*/
|
||||||
|
bool operator!=(const CPropertyIndexVariantMap &indexMap, const CValueObject &valueObject)
|
||||||
|
{
|
||||||
|
return !(indexMap == valueObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compare with CValueObject
|
||||||
|
*/
|
||||||
|
bool operator==(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap)
|
||||||
|
{
|
||||||
|
return valueMap == valueObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Compare with CValueObject
|
||||||
|
*/
|
||||||
|
bool operator!=(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap)
|
||||||
|
{
|
||||||
|
return !(valueMap == valueObject);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert to string
|
* Convert to string
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -97,6 +97,18 @@ namespace BlackMisc
|
|||||||
//! Equal operator, required if maps are directly compared, not with CValueObject
|
//! Equal operator, required if maps are directly compared, not with CValueObject
|
||||||
friend bool operator !=(const CPropertyIndexVariantMap &a, const CPropertyIndexVariantMap &b);
|
friend bool operator !=(const CPropertyIndexVariantMap &a, const CPropertyIndexVariantMap &b);
|
||||||
|
|
||||||
|
//! Operator == with CValueObject
|
||||||
|
friend bool operator ==(const CPropertyIndexVariantMap &valueMap, const CValueObject &valueObject);
|
||||||
|
|
||||||
|
//! Operator != with CValueObject
|
||||||
|
friend bool operator !=(const CPropertyIndexVariantMap &valueMap, const CValueObject &valueObject);
|
||||||
|
|
||||||
|
//! Operator == with CValueObject
|
||||||
|
friend bool operator ==(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap);
|
||||||
|
|
||||||
|
//! Operator != with CValueObject
|
||||||
|
friend bool operator !=(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap);
|
||||||
|
|
||||||
//! Map
|
//! Map
|
||||||
const QMap<CPropertyIndex, CVariant> &map() const { return this->m_values; }
|
const QMap<CPropertyIndex, CVariant> &map() const { return this->m_values; }
|
||||||
|
|
||||||
|
|||||||
@@ -169,47 +169,6 @@ namespace BlackMisc
|
|||||||
return this->toIcon().toPixmap();
|
return this->toIcon().toPixmap();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Compare with value map
|
|
||||||
*/
|
|
||||||
bool operator==(const CPropertyIndexVariantMap &indexMap, const CValueObject &valueObject)
|
|
||||||
{
|
|
||||||
if (indexMap.isEmpty()) return indexMap.isWildcard();
|
|
||||||
const auto &map = indexMap.map();
|
|
||||||
for (auto it = map.begin(); it != map.end(); ++it)
|
|
||||||
{
|
|
||||||
// QVariant cannot be compared directly
|
|
||||||
CVariant p = valueObject.propertyByIndex(it.key()); // from value object
|
|
||||||
CVariant v = it.value().toCVariant(); // from map
|
|
||||||
if (p != v) return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Compare with map
|
|
||||||
*/
|
|
||||||
bool operator!=(const CPropertyIndexVariantMap &indexMap, const CValueObject &valueObject)
|
|
||||||
{
|
|
||||||
return !(indexMap == valueObject);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Compare with map
|
|
||||||
*/
|
|
||||||
bool operator==(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap)
|
|
||||||
{
|
|
||||||
return valueMap == valueObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Compare with map
|
|
||||||
*/
|
|
||||||
bool operator!=(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap)
|
|
||||||
{
|
|
||||||
return !(valueMap == valueObject);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* from DBus
|
* from DBus
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -102,18 +102,6 @@ namespace BlackMisc
|
|||||||
//! Marshalling operator <<, object to DBus
|
//! Marshalling operator <<, object to DBus
|
||||||
friend QDBusArgument &operator<<(QDBusArgument &argument, const CValueObject &valueObject);
|
friend QDBusArgument &operator<<(QDBusArgument &argument, const CValueObject &valueObject);
|
||||||
|
|
||||||
//! Operator == with value map
|
|
||||||
friend bool operator==(const CPropertyIndexVariantMap &valueMap, const CValueObject &valueObject);
|
|
||||||
|
|
||||||
//! Operator != with value map
|
|
||||||
friend bool operator!=(const CPropertyIndexVariantMap &valueMap, const CValueObject &valueObject);
|
|
||||||
|
|
||||||
//! Operator == with value map
|
|
||||||
friend bool operator==(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap);
|
|
||||||
|
|
||||||
//! Operator != with value map
|
|
||||||
friend bool operator!=(const CValueObject &valueObject, const CPropertyIndexVariantMap &valueMap);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Compares two instances of related classes
|
* Compares two instances of related classes
|
||||||
* and returns an integer less than, equal to, or greater than zero
|
* and returns an integer less than, equal to, or greater than zero
|
||||||
|
|||||||
Reference in New Issue
Block a user