c codegen can be done at the same time with cpp codegen, the idea is to create a c compatible header that defines the flag apis, including flag override apis for test. then in the corresponding cpp file, the implementation simply calls into cpp api. c header supports static method interface, and unit test override, but it does not support injection pattern compared to cpp header Bug: b/279483801 Test: atest aconfig.test Change-Id: Ie62b76d6524e443de5d3c2f9000f7f66623ab571
22 lines
525 B
Plaintext
22 lines
525 B
Plaintext
#include "{header}_c.h"
|
|
#include "{header}.h"
|
|
#include <string>
|
|
|
|
{{ for item in class_elements}}
|
|
const char* {header}_{item.uppercase_flag_name} = "{item.device_config_flag}";
|
|
{{ endfor - }}
|
|
|
|
{{ for item in class_elements}}
|
|
bool {header}_{item.flag_name}() \{
|
|
return {cpp_namespace}::{item.flag_name}();
|
|
}
|
|
{{ endfor }}
|
|
|
|
void {header}_override_flag(const char* name, bool val) \{
|
|
{cpp_namespace}::override_flag(std::string(name), val);
|
|
}
|
|
|
|
void {header}_reset_overrides() \{
|
|
{cpp_namespace}::reset_overrides();
|
|
}
|