History log of /system/tools/aidl/generate_cpp_unittest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b06c82923869f50e9641f7dac56df0aebe637845 21-Feb-2018 Martijn Coenen <maco@google.com> Add option for tracing AIDL calls.

This allows generating AIDL code that traces to the newly
introduced ATRACE_TAG_AIDL, for both c++ and Java targets.

The "::client" traces wrap the complete call, from entering
the proxy right until returning the result. As such, this
tag can be used to measure the complete duration of the IPC
call.

The "::server" traces wrap the actual execution of the
method on the server side, so it can be used to determine
the actual time the server took to complete the work.

Subtracting the "::server" slice from the corresponding
"::client" slice allows determining the overhead binder
itself introduced.

This is similar to how HIDL calls are traced.

Bug: 74416314
Test: aidl_unittest passed (incl new tests),
verified atrace outpout
Change-Id: Id9a0207d53ebbdb6a21d8d96f56b8eee116bd477
/system/tools/aidl/generate_cpp_unittest.cpp
74b7bf1043d1905e6f999f7c47920319029453c0 19-Aug-2016 Christopher Wiley <wiley@google.com> Write expected length of out arrays to parcel

This makes generated C++ consistent with the Java.

Unfortunately, C++ server authors still need to understand
that if they resize inout/out arrays, this will cause runtime exceptions
for Java clients, which cannot resize their array types.
Addressing this is a much more invasive patch.

Bug: 30836680
Change-Id: I996bfea8383d6207377e7bc545d3d39c21bbe033
Test: integration and unit tests continue to pass
/system/tools/aidl/generate_cpp_unittest.cpp
041c8d7ad2f9660a44e6ebc4f173b125b35f63f0 18-Aug-2016 Christopher Wiley <wiley@google.com> Consolidate array logic

Move all formation of array related types to a single class, and then
use that class everywhere.

Bug: 30836680
Test: all tests pass against bullhead on aosp/master

Change-Id: Iae7997cfa8eccf5a6f377f22b62fc2afb85f648a
/system/tools/aidl/generate_cpp_unittest.cpp
7cb9c2585d518f97e1b42bf6b444a3fb69b332bb 11-Apr-2016 Christopher Wiley <wiley@google.com> Hold file descriptors in unique_fd

This removes aidl-cpp's dependency on ScopedFd, a construct from
libnativehelper.

Bug: 27804373
Test: aidl builds and unittests/integration tests pass

Change-Id: I8b3cd0a7971c028216842728764a863549c11395
/system/tools/aidl/generate_cpp_unittest.cpp
ef88bcee919baaed8ded368fe9e549ed5988a6c6 15-Apr-2016 Casey Dahlin <sadmac@google.com> Allow @nullable on specific binder types

Change-Id: I27e47a11745783d3c786edb3425cc5d77e120955
Test: Adjusted unit tests pass
Bug: 27795428
/system/tools/aidl/generate_cpp_unittest.cpp
0b136a5d8c1bafd232bd4cf3dd2b76a5edff87e6 18-Apr-2016 Christopher Wiley <wiley@google.com> Revert "Hold file descriptors in unique_fd"

This reverts commit 066b54763fae8f4f0a824e59d5edd17fb4943247.

Change-Id: I29f319ebe811ca7f50b651a7876cf3032b561e8a
/system/tools/aidl/generate_cpp_unittest.cpp
066b54763fae8f4f0a824e59d5edd17fb4943247 11-Apr-2016 Christopher Wiley <wiley@google.com> Hold file descriptors in unique_fd

This removes aidl-cpp's dependency on ScopedFd, a construct from
libnativehelper.

Bug: 27804373
Test: aidl builds and unittests/integration tests pass

Change-Id: I43df0c4b3beab6cad14cac9b44646238c93f7cc0
/system/tools/aidl/generate_cpp_unittest.cpp
11a9d79a1189bbfa5b64a77b32f1a947ad91f0dd 25-Feb-2016 Christopher Wiley <wiley@google.com> Fix compiler warnings in generated C++

- Introduce a C++ AST node to represent macros
- Use that node to remove superfluous semicolons after macros
- Add a trailing newline after headers

Bug: 27330880
Test: unittests pass

Change-Id: Ie79997a46549181eb9d5a744ec3df5cc28180cf3
/system/tools/aidl/generate_cpp_unittest.cpp
fd7dc03fdd1e0cd558df43a155ab1644cbe2b553 03-Feb-2016 Christopher Wiley <wiley@google.com> Declare interface constants as enum in C++

While constexpr hints to the compiler that it can optimize
away the address of these integer expressions, it does not
mandate this behavior. This can cause linkage errors when
the same generated header is included from multiple compilation
units and everyone expects the integer constant to defined
elsewhere.

Bug: 26942276
Test: unittests pass

Change-Id: I7dfda08b5226344d5169b3f298413cd8a1ceb692
/system/tools/aidl/generate_cpp_unittest.cpp
2dbab064e029411e230fb86913d58a03dfd18519 06-Jan-2016 Casey Dahlin <sadmac@google.com> Include full namespacing on asBinder calls

Change-Id: Id8a5ec411f2beb6ebd9bee6c3d377f5d3d70c4bc
Test: Updated unit tests pass
Bug: 26413068
/system/tools/aidl/generate_cpp_unittest.cpp
57dbe24bcb8f4509a876e8445c78d9504d7e616a 04-Dec-2015 Casey Dahlin <sadmac@google.com> Add support for @nullable annotation

Using this annotation will now cause C++ types to be wrapped in
unique_ptr, and by extension be capable of handling null values.

Support extends to all arrays, Strings, Lists, and Parcelables.

Change-Id: I148a3666279c2badcba097b8925e55f8fcecb9c2
Test: Unit tests pass
Bug: 25969194
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
1095712f27931cb64d398d77201036cdcef0a296 04-Dec-2015 Christopher Wiley <wiley@google.com> Always set generated status_t to safe default value

In functions that return void and read nothing from the parcel, this
temporary never gets set before being returned.

Bug: 26024740
Test: unittests pass

Change-Id: Ie1a20a7bd907e6a074360aef59f26fac33f701a7
/system/tools/aidl/generate_cpp_unittest.cpp
cb5317d8270ece5b3f5860a78a1e911d39e677bb 04-Dec-2015 Casey Dahlin <sadmac@google.com> Implement @nullable in grammar

It doesn't /do/ anything yet, but we can now annotate types as @nullable

Change-Id: I71162da9b5f185dfb4d1a3d2ba2d7401eba09990
Test: unit tests pass
Bug: 25969194
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
0a62067f35e957493bc37c4b42dfdcfc16353831 04-Dec-2015 Elliott Hughes <enh@google.com> Track base/ -> android-base/ change.

Change-Id: I02b64b42c17d248c5fb2c4de4b0778a441e018e3
/system/tools/aidl/generate_cpp_unittest.cpp
d40e2fed2c19850d53f1620322ac5cbca2c0e245 24-Nov-2015 Casey Dahlin <sadmac@google.com> Introduce integer constants

We can now declare a "const int" variable in an AIDL interface, in
addition to methods. These constants will become static members of the
interface/base class in the generated code.

Change-Id: I6b690ecbbe2acae37abb106510e42283f0753f26
Test: Unit and integration tests updated and pass
Bug: 23600061
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
b8d9e8898c34da45027e56be88d5c9238ea88203 24-Nov-2015 Casey Dahlin <sadmac@google.com> Proper namespacing in generated C++ code

We have now explicitly namespaced all of our types from the root, and,
while we're at it, given all local identifiers the _aidl prefix

Change-Id: I0b2de7a2ebccc18a1c80e5fad8bc5e948062635f
Test: Unit and integration tests pass
Bug: 25748263
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
a4ba4b6868977b26b471860c038c7bbda4470946 03-Nov-2015 Casey Dahlin <sadmac@google.com> Add support for file descriptors

Change-Id: I172cbb02bbb034ca5d41b1958674b22bb8a7f93e
Test: Expanded unit tests
Bug: 25242023
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
433c8bbdfa1ee6db10b7f08d3c50eafd49ad2687 12-Nov-2015 Christopher Wiley <wiley@google.com> Implement error handling for C++ services

Bug: 25615695
Test: unit tests continue to pass.

Change-Id: I24f4f3a5a7b95438ab7daa707d2b4598b33b8302
/system/tools/aidl/generate_cpp_unittest.cpp
9d6e0b29add607669e440085f1fc60cd434dc987 13-Nov-2015 Christopher Wiley <wiley@google.com> Remove generated code on IO errors

Bug: 25026025
Test: unit tests

Change-Id: Ice5d823102c742d546386f1ad71ef63a48c90820
/system/tools/aidl/generate_cpp_unittest.cpp
864bc0936d95410b06a3709e1559c884258bc52c 10-Nov-2015 Christopher Wiley <wiley@google.com> Correct ! placement in C++ conditionals

Bug: None
Test: integration/unit tests pass

Change-Id: Ie0bda3a77254e47348a7ddacec69a80799285a59
/system/tools/aidl/generate_cpp_unittest.cpp
632801d891bd269badc780ab5f0f08e56e6df10a 05-Nov-2015 Christopher Wiley <wiley@google.com> Respect aidl's -b flag again

This flag indicates that we should (or not) report errors on
encountering a parcelable in an input .aidl file. In the platform
build we always break on parcelables, since we only get called with
interface definitions.

We need to obey this in order to not break Android studio's usage.
There, developers expect to put *all* .aidl files into aidl and have it
only generate code where appropriate.

Bug: 25501507
Test: unit tests

Change-Id: I91df9b0ef65d4d063a7a898a5948d0429af3e255
/system/tools/aidl/generate_cpp_unittest.cpp
7ecd69f2cc3c31cf569840e9c2d53ed352328d18 03-Nov-2015 Casey Dahlin <sadmac@google.com> Support List<IBinder> type

Change-Id: Ia84cf258702b161f3e7857925b8c2be7b1dfd60e
Test: Expanded unit and integration tests pass
Bug: 24470786
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
56c9bf3c4fb731d5557427667f13f963fa5ef0f7 30-Oct-2015 Christopher Wiley <wiley@google.com> Add support for List<String>

Bug: 24470786
Test: expanded unit tests pass, integration test passes

Change-Id: Ie85e43c04e214315f42a9f1ae83e6b4c67c2f081
/system/tools/aidl/generate_cpp_unittest.cpp
5679952c38925a54b75b087068887002e57f3174 31-Oct-2015 Christopher Wiley <wiley@google.com> Don't call virtual methods in TypeNamespace constructors

While probably safe in this particular context because of this specific
class structure, it is bad practice to call virtual methods in constructors.

Bug: None
Test: unittests continue to pass

Change-Id: I3c9a435efd89a2c2bd7ce576aed585b8ab766bda
/system/tools/aidl/generate_cpp_unittest.cpp
af7cb7b57d08b98dfa6aa250d2373006de25197d 30-Oct-2015 Christopher Wiley <wiley@google.com> Delete primitive C++ generation test

We get most of our certainty from the more complex test anyway.

Bug: None
Change-Id: I282f29feca81e6a15f5a4fc48168cf915a42a6c9
Test: Unittests still pass
/system/tools/aidl/generate_cpp_unittest.cpp
389781f56bb6b4363e9eb03acf915ba297f607d5 22-Oct-2015 Casey Dahlin <sadmac@google.com> Add support for passing binders in C++

Change-Id: I6f7003b4c320897bada8f225943a50825d6c26e7
Test: Unit tests (several new), Integration tests (several new)
Bug: 23600713
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
bb96782d158ee996f79c1b4d6f06e121dee24972 27-Oct-2015 Christopher Wiley <wiley@google.com> Emit correct code to return arrays of primitives

Stop ignoring whether a return type is an array.

Bug: 25012838
Test: Unittests pass, integration test continues to pass

Change-Id: Ib5ed75005f062dec6f17bba89302e0529225abfd
/system/tools/aidl/generate_cpp_unittest.cpp
b8e49a407e8648afb28ca9bad4bf8434224f0b18 27-Oct-2015 Christopher Wiley <wiley@google.com> Add PrimitiveType

Explicitly check if the type in question is a primitive and should be
passed by const reference. This makes it obvious that String16
instances are being passed by value.

Bug: 24470786
Test: unit tests, integration tests continue to pass

Change-Id: Ie822d89413aa8b87bc92765c73821edfcba4197c
/system/tools/aidl/generate_cpp_unittest.cpp
1227d6135418a6a876666adcf4f8d9b498f17647 27-Oct-2015 Christopher Wiley <wiley@google.com> Emit correct code for oneway interfaces

- Declare a reply parcel; we'll need it for IBinder::transact()
- Don't attempt to read from the reply parcel in oneway methods

Bug: None
Test: unit tests; Generated code now compiles in example project

Change-Id: I8c7add9b232dcef08ffdcc34882d00d9e7d07a8d
/system/tools/aidl/generate_cpp_unittest.cpp
1db03482145137749602c830a593494498f5be55 22-Oct-2015 Christopher Wiley <wiley@google.com> Not all generated code is for IPingResponder

Bug: None
Test: Unittests and generated code for other interfaces now compiles

Change-Id: I81cfcec97d1278699ba393fb1bdf8b8cab47f0e3
/system/tools/aidl/generate_cpp_unittest.cpp
8993cb5f297f9e329470d75f02a7b3e3a4bc64a5 21-Oct-2015 Christopher Wiley <wiley@google.com> Add interface enforcement logic to generated C++

Bug: 25078043
Test: java client is now able to correctly receive echoed data
native client continues to function

Change-Id: Iee1535a4e182a407d30afd32ea4ccbb632b188cc
/system/tools/aidl/generate_cpp_unittest.cpp
2aaeda8b140de83f2cb2d51405ea27ccf1eefc13 20-Oct-2015 Christopher Wiley <wiley@google.com> Prefix responses with "no exception header"

Bug: 24862905
Test: java client correctly parses return code,
native client continues to work

Change-Id: Idea68eb78fc92a4dfccf4ff70b737884c59b541c
/system/tools/aidl/generate_cpp_unittest.cpp
0eb903eff2376941ad7e947bd5d3a32e15d89f69 21-Oct-2015 Christopher Wiley <wiley@google.com> Add IfStatement C++ AST node

Replace existing places we used a literal for this purpose.

Bug: 24862905
Test: unittests continue to pass

Change-Id: I7bcc3f06d36701d5277bc7b6364a0a91d245e1ac
/system/tools/aidl/generate_cpp_unittest.cpp
80ada3d405cbf76797e007d5fc265d17315aa05c 21-Oct-2015 Casey Dahlin <sadmac@google.com> Add Diff helper

No more shelling out for diffs. This helper isn't as fancy but we can evolve
it.

Change-Id: I3cf6b15d78731e0db06afeda2475f987564ba9fa
Test: unit tests
Bug: 25130911
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
0dd08af9e6145fb746e96e7ecc5e4c2096de3a6e 21-Oct-2015 Casey Dahlin <sadmac@google.com> Implement oneway interfaces

Change-Id: Ic5cc5cc3c49e3c1901d7b110ccb0426f7c3be075
Test: Unit tests (including new)
Bug: 23601103
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
b0966619850093e117104dc34d8a6ae4c56ea3ff 20-Oct-2015 Casey Dahlin <sadmac@google.com> Add support for array types

Change-Id: Ibd7ba063a2f957950ca7f4462a0d6e600f12c00f
Test: Unit tests (including several new ones)
Bug: 25012838
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
90be4e3fe6d16ea8e8263b80989ef2ab4e6ef9c6 20-Oct-2015 Christopher Wiley <wiley@google.com> Fix segfault on missing package declaration

Add unittests to enforce this doesn't happen again. While here
add unittests for out params in oneway methods and make
ownership of AidlInterface pointers more explicit.

Also fix a bug where we would disallow returning void from functions
in C++ generation.

Bug: 24862770
Test: Unittests pass

Change-Id: I4fa67489ad1fff0d4453d38689e54b9f5ad08c43
/system/tools/aidl/generate_cpp_unittest.cpp
b656a3b1954bbe4b548a3c11274c833bbca35935 16-Oct-2015 Christopher Wiley <wiley@google.com> Generate C++ in namespaces based on package

Bug: 24862770
Test: unittests

Change-Id: Iaa3b4716ca340ade745208a2f2efc057205d0f1d
/system/tools/aidl/generate_cpp_unittest.cpp
054afbd3037addb4f2e245ecbc36f31d3040f877 17-Oct-2015 Christopher Wiley <wiley@google.com> Change C++ output to match make expectations

- generate a single C++ output file
- put headers into an output directory
- create the output directory structure using an IoDelegate

Bug: 23599697
Test: Unittests pass

Change-Id: I0f7b821678cd5adc00b2fdba06b52b235c724467
/system/tools/aidl/generate_cpp_unittest.cpp
ce776cfc9560ee541464a23fb64ecd74e442b96f 16-Oct-2015 Casey Dahlin <sadmac@google.com> Add support for missing basic types to AIDL

Change-Id: I7b9f98bcfc25ace83e23c9027fbd0655c255fdfd
Test: unit tests
Bug: 24938226
Bug: 24472672
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
b23149dbc77744864b78edeb9f9cbb2f94f8c06d 14-Oct-2015 Christopher Wiley <wiley@google.com> Mark client constructor as explicit

While here, refactor all the constructor declaration modifiers into an
enum and use that instead of endless boolean flags.

Bug: 24938116
Test: unittests pass

Change-Id: Ibb6e20a69b90a76e2995abc2e9d02c8744f10b58
/system/tools/aidl/generate_cpp_unittest.cpp
05f4f890cad7b2a510e8e1f80fa5884db1bd8383 14-Oct-2015 Christopher Wiley <wiley@google.com> Make server source compileable

We're returning status, so we have to declare it outside the switch
statement.

Bug: 24938116
Test: unittests pass

Change-Id: Ic733f62852b562f9db1183881c3d4a42ceedf6ab
/system/tools/aidl/generate_cpp_unittest.cpp
fd51d60f486f1ad514e6f24744ebffab7a3d89bd 14-Oct-2015 Christopher Wiley <wiley@google.com> Fix server header guard

While here, add the unittest we forgot to write the first time.

Bug: 24938116
Test: Compiles, unittests pass

Change-Id: I3929e976411c1149a972c2f3addc35d3513266fe
/system/tools/aidl/generate_cpp_unittest.cpp
3bb6bc1d481459cc9ec93b764d245040b78e6507 14-Oct-2015 Christopher Wiley <wiley@google.com> Make interface header usable in generated code

- Include a semicolon after enum declarations
- class declarations automatically use public inheritance,
no need to duplicate this
- declare a meaningful header guard

Bug: 24938116
Test: Compiles, unittests pass, generated header looks right.

Change-Id: I7a77fd15ef139759cad9b21d6702b35ddf187699
/system/tools/aidl/generate_cpp_unittest.cpp
36570f4779a413ebef9302d1563fd92917ec2e42 09-Oct-2015 Christopher Wiley <wiley@google.com> Generate client source code

While here, add logic to the server source
implementation to correctly write back the return value
in the reply parcel.

Bug: 24505489
Test: unit tests, wrote another one

Change-Id: Ida768daf31fb6d1e5625242762453a6bb68769db
/system/tools/aidl/generate_cpp_unittest.cpp
f094d58e623418bffa53fa82e0ef159daee8801b 09-Oct-2015 Christopher Wiley <wiley@google.com> Make BpInterface destructor virtual and default

This simplifies the source file.

Bug: 24505489
Test: unittests pass

Change-Id: I3231d3b0d11cba367163a040406f8b12627bc3f9
/system/tools/aidl/generate_cpp_unittest.cpp
ad3392747003a30928da6cd206e41f66398c2062 06-Oct-2015 Christopher Wiley <wiley@google.com> Generate server side .cpp file

Bug: 24505488
Test: Unit tests, wrote some more

Change-Id: I89d18f0bb612f3a3ffadac41c6ff32b67d6552b7
/system/tools/aidl/generate_cpp_unittest.cpp
1ae2bc56d20fe0e19262f2721abc338662fa6e30 08-Oct-2015 Casey Dahlin <sadmac@google.com> Convert document item structs to classes

This is the least-complete first run for any of these structs, but this
shift is going to be particularly gnarly, so we need to be
extra-incremental about it.

Change-Id: I7295add8b9a1291f229743f8c36d941569a16ab6
Test: unit tests
Bug: 24410295
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
0edf34239909bbc16e884ea2517e5f3398185d0f 07-Oct-2015 Casey Dahlin <sadmac@google.com> Replace import_info struct with AidlInfo class

We extend this from AidlNode because we hope to make it part of the tree
someday instead of a second item of global state to register with the
parser.

Test: Unit tests
Bug: 24195596
Change-Id: I678a002855808469b08e726258b4daf13e3f6f00
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
4a2884b0e9414ed9dfee4e141e8bd462c07b442b 07-Oct-2015 Christopher Wiley <wiley@google.com> Read all files through IoDelegate

This allows us to easily fake out file IO in tests.

Bug: 24703046
Change-Id: I33a59c8e43489b03f27f99fb2949e58cc0311eb1
Test: unittests still pass, clean build of android passes
/system/tools/aidl/generate_cpp_unittest.cpp
2cc93169679e222dda71c73814f28a9fb0832166 03-Oct-2015 Casey Dahlin <sadmac@google.com> Introduce load_aidl_for_test in C++ tests

We have to relax some of the errors about unsupported functionality in the C++
type checker to do this, but hopefully this is less brittle.

Change-Id: I53af52b83e6becfe13c3bb3a00f3b70e0691cf85
Test: unit tests
Bug: 24618841
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp
1dd458d3e3647823acb9554f8ae17631d597a1ec 30-Sep-2015 Christopher Wiley <wiley@google.com> Generate IInterface.cpp file

Bug: 24506610
Test: Unittests, added a new unittest

Change-Id: I1698b69a224a74719176576485d1b06859d0eeeb
/system/tools/aidl/generate_cpp_unittest.cpp
0c732dbae2e6b33cde9a266ea091e1459742f1f1 29-Sep-2015 Christopher Wiley <wiley@google.com> Generate Binder IInterface.h file

Bug: 24505487
Test: compiles, unittests

Change-Id: I8c17f7304f4e28d108d07f2f2405ca5f49178bec
/system/tools/aidl/generate_cpp_unittest.cpp
e3550c6679939d2bf5f35c540cd83198ab156fb7 29-Sep-2015 Christopher Wiley <wiley@google.com> Use C++ TypeNamespace when generating code

Bug: 24472672
Test: unittests pass

Change-Id: I815af3cd3172621255dd8d041bb02d7013ed4cfe
/system/tools/aidl/generate_cpp_unittest.cpp
f944e79bdaf92fffe9ea78314d3636e7e4de8c51 29-Sep-2015 Christopher Wiley <wiley@google.com> Move C++ generation code into C++ namespace

Use this namespace to shorten the class names now that we
needn't distinguish them as C++ specific.

Test: unittests pass

Change-Id: Idace1e87be1e9fd5129550941532d05be83ec985
/system/tools/aidl/generate_cpp_unittest.cpp
a834dd4650b3196893440ee49c7ff6b303b45a92 23-Sep-2015 Casey Dahlin <sadmac@google.com> Generate client-side headers

Test: Ran aidl-cpp
Bug: 23599760
Change-Id: I31ca5be9dd1274ba81ea6a7110e9f2005f86855d
Signed-off-by: Casey Dahlin <sadmac@google.com>
/system/tools/aidl/generate_cpp_unittest.cpp