Stop storing the direction buffer

We pull the information out of the direction buffer_type immediately and pack
it safely in to privates where it can be accessed with sane accessors.

Test: unit tests
Bug: 24410295
Change-Id: I84e4cf50aad9202210fc9c3db5dd78858991ecd7
Signed-off-by: Casey Dahlin <sadmac@google.com>
diff --git a/generate_cpp.cpp b/generate_cpp.cpp
index 93a6282..059c31e 100644
--- a/generate_cpp.cpp
+++ b/generate_cpp.cpp
@@ -72,7 +72,7 @@
   for (const unique_ptr<AidlArgument>& arg : *method->args) {
     args.push_back(GetCPPVarDec(
           types, &arg->type, arg->name.Literal(),
-          OUT_PARAMETER & convert_direction(arg->direction.data)));
+          AidlArgument::OUT_DIR & arg->GetDirection()));
   }
 
   string return_arg = GetCPPVarDec(types, &method->type, "_aidl_return", true);