Lines Matching refs:C
1 # Generating C++ Binder Interfaces with `aidl-cpp`
13 extension. For Java interfaces, the executable is called `aidl` while for C++
19 objects. C++ Binder interfaces were handcrafted with various degrees of
21 generating C++ with the _aidl generator_. This generated C++ is cross-language
26 This document describes how C++ generation works with attention to:
30 - C++ parcelables
41 then the generated code will be C++, not Java.
46 implementations (i.e. one in Java and one in C++), keep the definition with the
61 Generated C++ ends up in nested namespaces corresponding to the interface’s
78 The following table summarizes the equivalent C++ types for common Java types
82 | Java Type | C++ Type | inout | Notes …
106 ### C++ Parcelables
113 In C++, parcelables must implement android::Parcelable from binder/Parcelable.h
118 The C++ generator needs to know what header defines the C++ parcelable. It
131 // file. This allows multiple interfaces to use a parcelable and its C++
132 // equivalent without duplicating the mapping between the C++ and Java types.
140 The aidl generator for both C++ and Java languages has been expanded to
151 the generated C++ header code looks like:
161 Note that by default, the generated C++ passes a const reference to the value
170 C++ methods generated by the aidl generator return `android::binder::Status`
172 C++ code to send and receive exceptions (an exception type and a String16 error
173 message) since we do not use real exceptions in C++. More background on Status
200 These map to appropriate 32 bit integer class constants in Java and C++ (e.g.