Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 370181de authored by Steven Moreland's avatar Steven Moreland Committed by Gerrit Code Review
Browse files

Merge changes from topic "aidl-ndk-comparison"

* changes:
  libbinder_ndk: core object type comparison
  libgralloctypes: remove AIDL comparison operators
parents c1e78b2b 36c37364
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -114,6 +114,13 @@ class SpAIBinder {
     */
    AIBinder** getR() { return &mBinder; }

    bool operator!=(const SpAIBinder& rhs) const { return get() != rhs.get(); }
    bool operator<(const SpAIBinder& rhs) const { return get() < rhs.get(); }
    bool operator<=(const SpAIBinder& rhs) const { return get() <= rhs.get(); }
    bool operator==(const SpAIBinder& rhs) const { return get() == rhs.get(); }
    bool operator>(const SpAIBinder& rhs) const { return get() > rhs.get(); }
    bool operator>=(const SpAIBinder& rhs) const { return get() >= rhs.get(); }

   private:
    AIBinder* mBinder = nullptr;
};
@@ -200,6 +207,13 @@ class ScopedAParcel : public impl::ScopedAResource<AParcel*, void, AParcel_delet
    ~ScopedAParcel() {}
    ScopedAParcel(ScopedAParcel&&) = default;
    ScopedAParcel& operator=(ScopedAParcel&&) = default;

    bool operator!=(const ScopedAParcel& rhs) const { return get() != rhs.get(); }
    bool operator<(const ScopedAParcel& rhs) const { return get() < rhs.get(); }
    bool operator<=(const ScopedAParcel& rhs) const { return get() <= rhs.get(); }
    bool operator==(const ScopedAParcel& rhs) const { return get() == rhs.get(); }
    bool operator>(const ScopedAParcel& rhs) const { return get() > rhs.get(); }
    bool operator>=(const ScopedAParcel& rhs) const { return get() >= rhs.get(); }
};

/**
@@ -323,6 +337,13 @@ class ScopedFileDescriptor : public impl::ScopedAResource<int, int, close, -1> {
    ~ScopedFileDescriptor() {}
    ScopedFileDescriptor(ScopedFileDescriptor&&) = default;
    ScopedFileDescriptor& operator=(ScopedFileDescriptor&&) = default;

    bool operator!=(const ScopedFileDescriptor& rhs) const { return get() != rhs.get(); }
    bool operator<(const ScopedFileDescriptor& rhs) const { return get() < rhs.get(); }
    bool operator<=(const ScopedFileDescriptor& rhs) const { return get() <= rhs.get(); }
    bool operator==(const ScopedFileDescriptor& rhs) const { return get() == rhs.get(); }
    bool operator>(const ScopedFileDescriptor& rhs) const { return get() > rhs.get(); }
    bool operator>=(const ScopedFileDescriptor& rhs) const { return get() >= rhs.get(); }
};

}  // namespace ndk
+19 −0
Original line number Diff line number Diff line
@@ -114,6 +114,25 @@ class AParcelableHolder {

    void reset() { AParcel_reset(mParcel.get()); }

    inline bool operator!=(const AParcelableHolder& rhs) const {
        return std::tie(mParcel, mStability) != std::tie(rhs.mParcel, rhs.mStability);
    }
    inline bool operator<(const AParcelableHolder& rhs) const {
        return std::tie(mParcel, mStability) < std::tie(rhs.mParcel, rhs.mStability);
    }
    inline bool operator<=(const AParcelableHolder& rhs) const {
        return std::tie(mParcel, mStability) <= std::tie(rhs.mParcel, rhs.mStability);
    }
    inline bool operator==(const AParcelableHolder& rhs) const {
        return std::tie(mParcel, mStability) == std::tie(rhs.mParcel, rhs.mStability);
    }
    inline bool operator>(const AParcelableHolder& rhs) const {
        return std::tie(mParcel, mStability) > std::tie(rhs.mParcel, rhs.mStability);
    }
    inline bool operator>=(const AParcelableHolder& rhs) const {
        return std::tie(mParcel, mStability) >= std::tie(rhs.mParcel, rhs.mStability);
    }

   private:
    mutable ndk::ScopedAParcel mParcel;
    parcelable_stability_t mStability;
+0 −196
Original line number Diff line number Diff line
@@ -32,202 +32,6 @@
#include <android/hardware/graphics/mapper/4.0/IMapper.h>

namespace android {

/**
 * Define equality operators for Stable AIDL types.
 */
inline bool operator==(const aidl::android::hardware::graphics::common::ExtendableType& lhs,
                const aidl::android::hardware::graphics::common::ExtendableType& rhs) {
    return !std::strcmp(lhs.name.c_str(), rhs.name.c_str()) && lhs.value == rhs.value;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::ExtendableType& lhs,
                const aidl::android::hardware::graphics::common::ExtendableType& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const aidl::android::hardware::graphics::common::PlaneLayoutComponent& lhs,
                const aidl::android::hardware::graphics::common::PlaneLayoutComponent& rhs) {
    if (lhs.type.name != rhs.type.name) {
        return false;
    }
    if (lhs.type.value != rhs.type.value) {
        return false;
    }
    if (lhs.sizeInBits != rhs.sizeInBits) {
        return false;
    }
    if (lhs.offsetInBits != rhs.offsetInBits) {
        return false;
    }
    return true;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::PlaneLayoutComponent& lhs,
                const aidl::android::hardware::graphics::common::PlaneLayoutComponent& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const aidl::android::hardware::graphics::common::Rect& lhs,
                const aidl::android::hardware::graphics::common::Rect& rhs) {
    if (lhs.left != rhs.left) {
        return false;
    }
    if (lhs.top != rhs.top) {
        return false;
    }
    if (lhs.right != rhs.right) {
        return false;
    }
    if (lhs.bottom != rhs.bottom) {
        return false;
    }
    return true;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::Rect& lhs,
                const aidl::android::hardware::graphics::common::Rect& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const std::vector<aidl::android::hardware::graphics::common::Rect>& lhs,
                const std::vector<aidl::android::hardware::graphics::common::Rect>& rhs) {
    if (lhs.size() != rhs.size()) {
        return false;
    }
    for (size_t i = 0; i < lhs.size(); i++) {
        if (lhs[i] != rhs[i]) {
            return false;
        }
    }
    return true;
}

inline bool operator!=(const std::vector<aidl::android::hardware::graphics::common::Rect>& lhs,
                const std::vector<aidl::android::hardware::graphics::common::Rect>& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const aidl::android::hardware::graphics::common::PlaneLayout& lhs,
                const aidl::android::hardware::graphics::common::PlaneLayout& rhs) {
    if (lhs.offsetInBytes != rhs.offsetInBytes) {
        return false;
    }
    if (lhs.sampleIncrementInBits != rhs.sampleIncrementInBits) {
        return false;
    }
    if (lhs.strideInBytes != rhs.strideInBytes) {
        return false;
    }
    if (lhs.widthInSamples != rhs.widthInSamples) {
        return false;
    }
    if (lhs.heightInSamples != rhs.heightInSamples) {
        return false;
    }
    if (lhs.totalSizeInBytes != rhs.totalSizeInBytes) {
        return false;
    }
    if (lhs.horizontalSubsampling != rhs.horizontalSubsampling) {
        return false;
    }
    if (lhs.verticalSubsampling != rhs.verticalSubsampling) {
        return false;
    }
    if (lhs.components.size() != rhs.components.size()) {
        return false;
    }
    for (size_t i = 0; i < lhs.components.size(); i++) {
        if (lhs.components[i] != rhs.components[i]) {
            return false;
        }
    }
    return true;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::PlaneLayout& lhs,
                const aidl::android::hardware::graphics::common::PlaneLayout& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& lhs,
                const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& rhs) {
    if (lhs.size() != rhs.size()) {
        return false;
    }
    for (size_t i = 0; i < lhs.size(); i++) {
        if (lhs[i] != rhs[i]) {
            return false;
        }
    }
    return true;
}

inline bool operator!=(const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& lhs,
                const std::vector<aidl::android::hardware::graphics::common::PlaneLayout>& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const aidl::android::hardware::graphics::common::XyColor& lhs,
                const aidl::android::hardware::graphics::common::XyColor& rhs) {
    if (lhs.x != rhs.x) {
        return false;
    }
    if (lhs.y != rhs.y) {
        return false;
    }
    return true;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::XyColor& lhs,
                const aidl::android::hardware::graphics::common::XyColor& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const aidl::android::hardware::graphics::common::Smpte2086& lhs,
                const aidl::android::hardware::graphics::common::Smpte2086& rhs) {
    if (lhs.primaryRed != rhs.primaryRed) {
        return false;
    }
    if (lhs.primaryGreen != rhs.primaryGreen) {
        return false;
    }
    if (lhs.primaryBlue != rhs.primaryBlue) {
        return false;
    }
    if (lhs.whitePoint != rhs.whitePoint) {
        return false;
    }
    if (lhs.maxLuminance != rhs.maxLuminance) {
        return false;
    }
    if (lhs.minLuminance != rhs.minLuminance) {
        return false;
    }
    return true;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::Smpte2086& lhs,
                const aidl::android::hardware::graphics::common::Smpte2086& rhs) {
    return !(lhs == rhs);
}

inline bool operator==(const aidl::android::hardware::graphics::common::Cta861_3& lhs,
                const aidl::android::hardware::graphics::common::Cta861_3& rhs) {
    if (lhs.maxContentLightLevel != rhs.maxContentLightLevel) {
        return false;
    }
    if (lhs.maxFrameAverageLightLevel != rhs.maxFrameAverageLightLevel) {
        return false;
    }
    return true;
}

inline bool operator!=(const aidl::android::hardware::graphics::common::Cta861_3& lhs,
                const aidl::android::hardware::graphics::common::Cta861_3& rhs) {
    return !(lhs == rhs);
}

namespace gralloc4 {

#define GRALLOC4_STANDARD_METADATA_TYPE "android.hardware.graphics.common.StandardMetadataType"