Generated Service API
Binder generates a trait corresponding to the interface definition. trait to talk to the service.
birthday_service/aidl/com/example/birthdayservice/IBirthdayService.aidl:
/** Birthday service interface. */interface IBirthdayService {/** Generate a Happy Birthday message. */String wishHappyBirthday(String name, int years);}
Generated trait:
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.
- The generated bindings can be found at
out/soong/.intermediates/<path to module>/. - Point out how the generated function signature, specifically the argument and return types, correspond the interface definition.
Stringfor an argument results in a different Rust type thanStringas a return type.