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

Commit 9e6d2ee0 authored by Tim Kilbourn's avatar Tim Kilbourn
Browse files

DO NOT MERGE Remove unused ParcelFileDescriptor methods in parcel.

Attempts to replicate Java parceling in native code is fraught with
peril.

Change-Id: I4359036c5dddd1b886d886beef1d060523e53e5f
(cherry picked from commit f47a3810)
parent 2139c7fa
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -130,11 +130,6 @@ public:
    // will be closed once the parcel is destroyed.
    status_t            writeDupFileDescriptor(int fd);

    // Writes a raw fd and optional comm channel fd to the parcel as a ParcelFileDescriptor.
    // A dup's of the fds are made, which will be closed once the parcel is destroyed.
    // Null values are passed as -1.
    status_t            writeParcelFileDescriptor(int fd, int commChannel = -1);

    // Writes a blob to the parcel.
    // If the blob is small, then it is stored in-place, otherwise it is
    // transferred by way of an anonymous shared memory region.
@@ -198,11 +193,6 @@ public:
    // in the parcel, which you do not own -- use dup() to get your own copy.
    int                 readFileDescriptor() const;

    // Reads a ParcelFileDescriptor from the parcel.  Returns the raw fd as
    // the result, and the optional comm channel fd in outCommChannel.
    // Null values are returned as -1.
    int                 readParcelFileDescriptor(int& outCommChannel) const;

    // Reads a blob from the parcel.
    // The caller should call release() on the blob after reading its contents.
    status_t            readBlob(size_t len, ReadableBlob* outBlob) const;
+0 −43
Original line number Diff line number Diff line
@@ -886,32 +886,6 @@ status_t Parcel::writeDupFileDescriptor(int fd)
    return err;
}

// WARNING: This method must stay in sync with
// Parcelable.Creator<ParcelFileDescriptor> CREATOR
// in frameworks/base/core/java/android/os/ParcelFileDescriptor.java
status_t Parcel::writeParcelFileDescriptor(int fd, int commChannel) {
    status_t status;

    if (fd < 0) {
        status = writeInt32(0); // ParcelFileDescriptor is null
        if (status) return status;
    } else {
        status = writeInt32(1); // ParcelFileDescriptor is not null
        if (status) return status;
        status = writeDupFileDescriptor(fd);
        if (status) return status;
        if (commChannel < 0) {
            status = writeInt32(0); // commChannel is null
            if (status) return status;
        } else {
            status = writeInt32(1); // commChannel is not null
            if (status) return status;
            status = writeDupFileDescriptor(commChannel);
        }
    }
    return status;
}

status_t Parcel::writeBlob(size_t len, WritableBlob* outBlob)
{
    status_t status;
@@ -1378,23 +1352,6 @@ int Parcel::readFileDescriptor() const
    return BAD_TYPE;
}

// WARNING: This method must stay in sync with writeToParcel()
// in frameworks/base/core/java/android/os/ParcelFileDescriptor.java
int Parcel::readParcelFileDescriptor(int& outCommChannel) const {
    int fd;
    outCommChannel = -1;

    if (readInt32() == 0) {
        fd = -1;
    } else {
        fd = readFileDescriptor();
        if (fd >= 0 && readInt32() != 0) {
            outCommChannel = readFileDescriptor();
        }
    }
    return fd;
}

status_t Parcel::readBlob(size_t len, ReadableBlob* outBlob) const
{
    int32_t useAshmem;