aconfig: update cpp codegen to use static methods
Update c++ codegen to static methods interface.
Bug: b/279483801
Test: atest aconfig.test
Change-Id: I78da3bbca6240bee660c692807930d00f2242b0a
diff --git a/tools/aconfig/src/codegen_cpp.rs b/tools/aconfig/src/codegen_cpp.rs
index 2c32bb0..37b058d 100644
--- a/tools/aconfig/src/codegen_cpp.rs
+++ b/tools/aconfig/src/codegen_cpp.rs
@@ -134,18 +134,12 @@
namespace com::example {
- class my_flag_one {
- public:
- virtual const bool value() {
- return false;
- }
+ static const bool my_flag_one() {
+ return false;
}
- class my_flag_two {
- public:
- virtual const bool value() {
- return true;
- }
+ static const bool my_flag_two() {
+ return true;
}
}
@@ -201,24 +195,18 @@
namespace com::example {
- class my_flag_one {
- public:
- virtual const bool value() {
- return GetServerConfigurableFlag(
- "ns",
- "com.example.my_flag_one",
- "false") == "true";
- }
+ static const bool my_flag_one() {
+ return GetServerConfigurableFlag(
+ "ns",
+ "com.example.my_flag_one",
+ "false") == "true";
}
- class my_flag_two {
- public:
- virtual const bool value() {
- return GetServerConfigurableFlag(
- "ns",
- "com.example.my_flag_two",
- "true") == "true";
- }
+ static const bool my_flag_two() {
+ return GetServerConfigurableFlag(
+ "ns",
+ "com.example.my_flag_two",
+ "true") == "true";
}
}
diff --git a/tools/aconfig/templates/cpp.template b/tools/aconfig/templates/cpp.template
index 93f9b80..aa36d94 100644
--- a/tools/aconfig/templates/cpp.template
+++ b/tools/aconfig/templates/cpp.template
@@ -6,18 +6,15 @@
{{ endif }}
namespace {cpp_namespace} \{
{{ for item in class_elements}}
- class {item.flag_name} \{
- public:
- virtual const bool value() \{
- {{ if item.readwrite- }}
- return GetServerConfigurableFlag(
- "{item.device_config_namespace}",
- "{item.device_config_flag}",
- "{item.default_value}") == "true";
- {{ -else- }}
- return {item.default_value};
- {{ -endif }}
- }
+ static const bool {item.flag_name}() \{
+ {{ if item.readwrite- }}
+ return GetServerConfigurableFlag(
+ "{item.device_config_namespace}",
+ "{item.device_config_flag}",
+ "{item.default_value}") == "true";
+ {{ -else- }}
+ return {item.default_value};
+ {{ -endif }}
}
{{ endfor }}
}