Moved confirmationui support library to libteeui
This patch moves functionality from the support library in
hardware/interfaces/confirmationui in libteeui.
* Move support library to the new namespace teeui
* Removed IntegerSequence and replaced it with std::index_sequence
* Remove dependency on HIDL types hidl_vec, hidl_string, and
the Keymaster type HardwareAuthToken for the message passing between
the TA and the HAL. To this end this patch introduces static_vec.h.
static_vec is an alias for std::vector when compiled with
-DTEEUI_USE_STD_VEC which it should always be compiled with in the
context of the HAL service. Otherwise, it behaves like a span that
does not own the underlying storage otherwise. This is the expected
behavior when compiled in the context of the TA.
* Moved confirmationui HAL enums into the teeui namespace. It is now up to
the HAL implementation to translate between the TA types and the hidl
* Separated the core logic for message formatting from the
protocol (now generic_messages.h) and serialization functions
for common types (now common_message_types.h).
* Add protocol specifiers to commands to allow easier extension of the
protocols between the TA and HAL.
* NullOr was removed in favor of std::optional.
11 files changed