Unlike SAI, TAI needs to handle different kinds of devices
simultaneously. In order to support this, we have tai-mux library
which multiplexes multiple TAI libraries and provide a single TAI interface
to upper application.
However, there was no multiplex or aggregation layer for TAI *metadata*.
TAI metadata is used to know each TAI attributes characteristic and provides
utility functionality like string serialization.
Because of this lack of multiplex layer, application developers have to
create a TAI meta library by manually aggregating all TAI attributes of
TAI libraries which are planned to be used.
This is tedious, error prone works and makes it difficult to support
new TAI library dynamically.
In order to solve this issue, this commits adds meta APIs to TAI APIs.
By doing so, TAI *metadata* can be multiplexed by tai-mux just like
other APIs.
This commit also enhances TAI library framework to automatically support
the new meta APIs.
TAI library which is based on the framework will get the meta API
functionally automatically by recompiling it.
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com>