ZFCompareResult ZFOperationTaskData::objectCompare(ZF_IN ZFObject *anotherObj)
{
    if(this == anotherObj) {return ZFCompareTheSame;}
    zfself *another = ZFCastZFObject(zfself *, anotherObj);
    if(another == zfnull) {return ZFCompareUncomparable;}

    if(zftrue
       && ZFObjectCompare(this->ownerOperation(), another->ownerOperation()) == ZFCompareTheSame
       && ZFObjectCompare(this->operation(), another->operation()) == ZFCompareTheSame
       && this->operationId() == another->operationId()
       && ZFObjectCompare(this->taskCategory(), another->taskCategory()) == ZFCompareTheSame
       && ZFObjectCompare(this->operationParam(), another->operationParam()) == ZFCompareTheSame
       && ZFObjectCompare(this->operationResult(), another->operationResult()) == ZFCompareTheSame
       && ZFObjectCompare(this->operationObserver(), another->operationObserver()) == ZFCompareTheSame
       && ZFObjectCompare(this->operationCache(), another->operationCache()) == ZFCompareTheSame
       && ZFObjectCompare(this->operationProgress(), another->operationProgress()) == ZFCompareTheSame
        )
    {
        return ZFCompareTheSame;
    }
    else
    {
        return ZFCompareUncomparable;
    }
}
Beispiel #2
0
 inline zfbool operator()(ZFObject *obj1,
                          ZFObject *obj2) const
 {
     ZFCompareResult cmp = ZFObjectCompare(obj1, obj2);
     zfCoreAssertWithMessageTrim(cmp != ZFCompareUncomparable, zfTextA("[ZFMap] key must comparable: %s, %s"),
         zfsCoreZ2A(ZFObjectInfo(obj1).cString()),
         zfsCoreZ2A(ZFObjectInfo(obj2).cString()));
     return (cmp == ZFCompareSmaller);
 }
ZFCompareResult ZFOperationCache::objectCompare(ZF_IN ZFObject *anotherObj)
{
    if(this == anotherObj) {return ZFCompareTheSame;}
    zfself *another = ZFCastZFObject(zfself *, anotherObj);
    if(another == zfnull) {return ZFCompareUncomparable;}

    if(zftrue
       && ZFObjectCompare(this->operationParam(), another->operationParam()) == ZFCompareTheSame
       && ZFObjectCompare(this->operationResult(), another->operationResult()) == ZFCompareTheSame
       && this->cacheTime() == another->cacheTime()
       && this->cacheExpireTime() == another->cacheExpireTime()
       )
    {
        return ZFCompareTheSame;
    }
    else
    {
        return ZFCompareUncomparable;
    }
}
ZFCompareResult ZFAnimationGroupChildData::objectCompare(ZF_IN ZFObject *anotherObj)
{
    if(this == anotherObj) {return ZFCompareTheSame;}
    zfself *another = ZFCastZFObject(zfself *, anotherObj);
    if(another == zfnull) {return ZFCompareUncomparable;}

    if(ZFObjectCompare(this->childAni(), another->childAni()) == ZFCompareTheSame
        && this->childDelayBeforeStart() == another->childDelayBeforeStart()
        && this->childAutoCopyTarget() == another->childAutoCopyTarget())
    {
        return ZFCompareTheSame;
    }
    return ZFCompareUncomparable;
}
ZFCompareResult ZFOperationStartParam::objectCompare(ZF_IN ZFObject *anotherObj)
{
    if(this == anotherObj) {return ZFCompareTheSame;}
    zfself *another = ZFCastZFObject(zfself *, anotherObj);
    if(another == zfnull) {return ZFCompareUncomparable;}

    if(zftrue
       && ZFObjectCompare(this->operationTaskData(), another->operationTaskData())
       && this->cacheExpireTime() == another->cacheExpireTime()
       && this->cacheMatchAction() == another->cacheMatchAction()
       && this->taskDuplicateAction() == another->taskDuplicateAction()
       )
    {
        return ZFCompareTheSame;
    }
    else
    {
        return ZFCompareUncomparable;
    }
}
zfbool ZFFilterForZFObject::filterOnCheckEqual(ZF_IN ZFObject * const &e1,
                                               ZF_IN ZFObject * const &e2) const
{
    return (ZFObjectCompare(e1, e2) == ZFCompareTheSame);
}