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

Commit 24c3f023 authored by Victor Hsieh's avatar Victor Hsieh
Browse files

Implement AsRawFd trait for ParcelFileDescriptor

ParcelFileDescriptor can already be use as a reference of `File`, which
implements AsRawFd. Provide AsRawFd directly to make it easier for the
clients to use.

Bug: 194717985
Test: use in the client
Change-Id: I7a53367306b38cf0dd43364a698d0c83937d3e4d
parent 5bff7428
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ use crate::error::{status_result, Result, StatusCode};
use crate::sys;

use std::fs::File;
use std::os::unix::io::{AsRawFd, FromRawFd};
use std::os::unix::io::{AsRawFd, FromRawFd, RawFd};

/// Rust version of the Java class android.os.ParcelFileDescriptor
#[derive(Debug)]
@@ -48,6 +48,12 @@ impl From<ParcelFileDescriptor> for File {
    }
}

impl AsRawFd for ParcelFileDescriptor {
    fn as_raw_fd(&self) -> RawFd {
        self.0.as_raw_fd()
    }
}

impl Serialize for ParcelFileDescriptor {
    fn serialize(&self, parcel: &mut Parcel) -> Result<()> {
        let fd = self.0.as_raw_fd();