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

Commit 64ebd13c authored by Andrei Homescu's avatar Andrei Homescu
Browse files

Implement ToOwned for references to AIDL interfaces

Test: atest aidl_integration_test
Change-Id: I70195178e6f58bfa29737966482eed27fefd21f1
parent e51e48b0
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -587,6 +587,15 @@ macro_rules! declare_binder_interface {
                f.pad(stringify!($interface))
            }
        }

        // Convert a &dyn $interface to Box<dyn $interface>
        impl std::borrow::ToOwned for dyn $interface {
            type Owned = Box<dyn $interface>;
            fn to_owned(&self) -> Self::Owned {
                self.as_binder().into_interface()
                    .expect(concat!("Error cloning interface ", stringify!($interface)))
            }
        }
    };
}