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

Commit b446f270 authored by Steven Moreland's avatar Steven Moreland Committed by android-build-merger
Browse files

Merge "ISafeUnion: add case w/ enum" am: 9667078a

am: e37197c3

Change-Id: I8c282b035c1c806754adba519d659bedc76de597
parents dc3fb706 e37197c3
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -60,6 +60,9 @@ interface ISafeUnion {
        } k;

        SmallSafeUnion l;

        BitField m;
        bitfield<BitField> n;
    };

    safe_union InterfaceTypeSafeUnion {
@@ -91,6 +94,8 @@ interface ISafeUnion {
    setJ(LargeSafeUnion myUnion, J j) generates (LargeSafeUnion myUnion);
    setK(LargeSafeUnion myUnion, LargeSafeUnion.K k) generates (LargeSafeUnion myUnion);
    setL(LargeSafeUnion myUnion, SmallSafeUnion l) generates (LargeSafeUnion myUnion);
    setM(LargeSafeUnion myUnion, BitField m) generates (LargeSafeUnion myUnion);
    setN(LargeSafeUnion myUnion, bitfield<BitField> m) generates (LargeSafeUnion myUnion);

    newInterfaceTypeSafeUnion() generates (InterfaceTypeSafeUnion myUnion);
    setInterfaceA(InterfaceTypeSafeUnion myUnion, uint32_t a) generates (InterfaceTypeSafeUnion myUnion);
+21 −0
Original line number Diff line number Diff line
@@ -153,6 +153,27 @@ Return<void> SafeUnion::setL(const LargeSafeUnion& myUnion, const SmallSafeUnion
    return Void();
}

Return<void> SafeUnion::setM(const LargeSafeUnion& myUnion, BitField m, setL_cb _hidl_cb) {
    LOG(INFO) << "SERVER(SafeUnion) setM(myUnion, " << toString(m) << ")";

    LargeSafeUnion myNewUnion = myUnion;
    myNewUnion.m(m);

    _hidl_cb(myNewUnion);
    return Void();
}

Return<void> SafeUnion::setN(const LargeSafeUnion& myUnion, hidl_bitfield<BitField> n,
                             setL_cb _hidl_cb) {
    LOG(INFO) << "SERVER(SafeUnion) setN(myUnion, " << n << ")";

    LargeSafeUnion myNewUnion = myUnion;
    myNewUnion.n(n);

    _hidl_cb(myNewUnion);
    return Void();
}

Return<void> SafeUnion::newInterfaceTypeSafeUnion(newInterfaceTypeSafeUnion_cb _hidl_cb) {
    LOG(INFO) << "SERVER(SafeUnion) newInterfaceTypeSafeUnion()";

+3 −0
Original line number Diff line number Diff line
@@ -47,6 +47,9 @@ struct SafeUnion : public ISafeUnion {
    Return<void> setJ(const LargeSafeUnion& myUnion, const J& j, setJ_cb _hidl_cb) override;
    Return<void> setK(const LargeSafeUnion& myUnion, const LargeSafeUnion::K& k, setK_cb _hidl_cb) override;
    Return<void> setL(const LargeSafeUnion& myUnion, const SmallSafeUnion& l, setL_cb _hidl_cb) override;
    Return<void> setM(const LargeSafeUnion& myUnion, BitField m, setL_cb _hidl_cb) override;
    Return<void> setN(const LargeSafeUnion& myUnion, hidl_bitfield<BitField> n,
                      setL_cb _hidl_cb) override;

    Return<void> newInterfaceTypeSafeUnion(newInterfaceTypeSafeUnion_cb _hidl_cb) override;
    Return<void> setInterfaceA(const InterfaceTypeSafeUnion& myUnion, uint32_t a, setInterfaceA_cb _hidl_cb) override;