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
23 lines
407 B
Plaintext
23 lines
407 B
Plaintext
#ifndef {header}_c_HEADER_H
|
|
#define {header}_c_HEADER_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" \{
|
|
#endif
|
|
|
|
{{ for item in class_elements}}
|
|
extern const char* {header}_{item.uppercase_flag_name};
|
|
{{ endfor -}}
|
|
|
|
{{ for item in class_elements}}
|
|
bool {header}_{item.flag_name}();{{ endfor }}
|
|
|
|
void {header}_override_flag(const char* name, bool val);
|
|
|
|
void {header}_reset_overrides();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|