src/android/aidl/example-service/service-bindings.md
Binder generates a trait for each interface definition.
birthday_service/aidl/com/example/birthdayservice/IBirthdayService.aidl:
{{#include ../birthday_service/aidl/com/example/birthdayservice/IBirthdayService.aidl:IBirthdayService}}
}
out/soong/.intermediates/.../com_example_birthdayservice.rs:
<!-- The example below is a cleaned up and simplified version of the real code. --># // Copyright 2024 Google LLC
# // SPDX-License-Identifier: Apache-2.0
#
trait IBirthdayService {
fn wishHappyBirthday(&self, name: &str, years: i32) -> binder::Result<String>;
}
Your service will need to implement this trait, and your client will use this trait to talk to the service.
<details>String for an argument results in a different Rust type than String as a
return type.