Files
build/tools/aconfig/templates/c_exported_header.template
Dennis Shen 7321f4f6f1 aconfig: add c codegen
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
2023-07-13 13:55:06 +00:00

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