1 #pragma once 2 3 #include <vector> 4 #include <string> 5 #include <android-base/result.h> 6 7 namespace aconfig_storage { 8 9 /// Flag value summary for a flag 10 struct FlagValueSummary { 11 std::string package_name; 12 std::string flag_name; 13 std::string flag_value; 14 std::string value_type; 15 }; 16 17 /// List all flag values 18 /// \input package_map: package map file 19 /// \input flag_map: flag map file 20 /// \input flag_val: flag value file 21 android::base::Result<std::vector<FlagValueSummary>> list_flags( 22 const std::string& package_map, 23 const std::string& flag_map, 24 const std::string& flag_val); 25 26 /// Flag value and info summary for a flag 27 struct FlagValueAndInfoSummary { 28 std::string package_name; 29 std::string flag_name; 30 std::string flag_value; 31 std::string value_type; 32 bool is_readwrite; 33 bool has_server_override; 34 bool has_local_override; 35 }; 36 37 /// List all flag values with their flag info 38 /// \input package_map: package map file 39 /// \input flag_map: flag map file 40 /// \input flag_val: flag value file 41 /// \input flag_info: flag info file 42 android::base::Result<std::vector<FlagValueAndInfoSummary>> list_flags_with_info( 43 const std::string& package_map, 44 const std::string& flag_map, 45 const std::string& flag_val, 46 const std::string& flag_info); 47 48 }// namespace aconfig_storage 49