Explicitly check processes are oneway

Otherwise the behavior is effectively undefined when an
interface is unexpectedly changed or malicious code tries
to change things.

Test: hidl's run_all_device_tests, boot + camera/YT sanity
Bug: 68217907
Merged-In: I4fe191a8a394441d24052efdb2f524801c80b7e5
Change-Id: I4fe191a8a394441d24052efdb2f524801c80b7e5
(cherry picked from commit 1f0d094186b1f0c4f77276c9045a2d159fb85b84)
1 file changed
tree: 1710f454d1b182294e9da8a291b65dc302015b72
  1. .clang-format
  2. AST.cpp
  3. AST.h
  4. Android.bp
  5. Annotation.cpp
  6. Annotation.h
  7. ArrayType.cpp
  8. ArrayType.h
  9. CompoundType.cpp
  10. CompoundType.h
  11. ConstantExpression.cpp
  12. ConstantExpression.h
  13. Coordinator.cpp
  14. Coordinator.h
  15. DeathRecipientType.cpp
  16. DeathRecipientType.h
  17. EnumType.cpp
  18. EnumType.h
  19. FmqType.cpp
  20. FmqType.h
  21. HandleType.cpp
  22. HandleType.h
  23. Hash.cpp
  24. HidlTypeAssertion.cpp
  25. HidlTypeAssertion.h
  26. Interface.cpp
  27. Interface.h
  28. Location.h
  29. MODULE_LICENSE_APACHE2
  30. MemoryType.cpp
  31. MemoryType.h
  32. Method.cpp
  33. Method.h
  34. NOTICE
  35. NamedType.cpp
  36. NamedType.h
  37. OWNERS
  38. PREUPLOAD.cfg
  39. PointerType.cpp
  40. PointerType.h
  41. README.md
  42. RefType.cpp
  43. RefType.h
  44. ScalarType.cpp
  45. ScalarType.h
  46. Scope.cpp
  47. Scope.h
  48. StringType.cpp
  49. StringType.h
  50. Type.cpp
  51. Type.h
  52. TypeDef.cpp
  53. TypeDef.h
  54. VectorType.cpp
  55. VectorType.h
  56. c2hal/
  57. generateCpp.cpp
  58. generateCppImpl.cpp
  59. generateJava.cpp
  60. generateVts.cpp
  61. hidl-gen_l.ll
  62. hidl-gen_y.yy
  63. include_hash/
  64. main.cpp
  65. test/
  66. update-all-google-makefiles.sh
  67. update-makefiles-helper.sh
  68. utils/
README.md

hidl-gen user guide

1. Build

croot
make hidl-gen

2. Run

hidl-gen -o output-path -L language (-r interface-root) fqname

output-path: directory to store the output files.
language: output file for given language. e.g.c++, vts..

fqname: fully qualified name of the input files.
For singe file input, follow the format: package@version::fileName
For directory input, follow the format: package@version

interface-root(optional): prefix and root path for fqname.
If not set, use the default prefix: android.hardware and default root path
defined in $TOP.

examples:

croot
hidl-gen -o output -L c++ -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0::INfc.hal
hidl-gen -o output -L vts -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0
hidl-gen -o test -L c++ -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0
hidl-gen -L hash -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0