1/* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18package android.aconfigd; 19option optimize_for = LITE_RUNTIME; 20 21message PersistStorageRecord { 22 optional uint32 version = 1; 23 optional string container = 2; 24 optional string package_map = 3; 25 optional string flag_map = 4; 26 optional string flag_val = 5; 27 optional string digest = 6; 28} 29 30message PersistStorageRecords { 31 repeated PersistStorageRecord records = 1; 32} 33 34message FlagOverride { 35 optional string package_name = 1; 36 optional string flag_name = 2; 37 optional string flag_value = 3; 38} 39 40message LocalFlagOverrides { 41 repeated FlagOverride overrides = 1; 42} 43 44// incoming request to aconfigd 45message StorageRequestMessage { 46 // new storage notification 47 message NewStorageMessage { 48 optional string container = 1; 49 optional string package_map = 2; 50 optional string flag_map = 3; 51 optional string flag_value = 4; 52 } 53 54 // request persistent flag value override 55 message FlagOverrideMessage { 56 optional string package_name = 1; 57 optional string flag_name = 2; 58 optional string flag_value = 3; 59 optional bool is_local = 4; 60 } 61 62 // request to stage ota flags 63 message OTAFlagStagingMessage { 64 optional string build_id = 1; 65 repeated FlagOverride overrides = 2; 66 } 67 68 // request to remove local flag override 69 message RemoveLocalOverrideMessage { 70 optional bool remove_all = 1; 71 optional string package_name = 2; 72 optional string flag_name = 3; 73 } 74 75 // query persistent flag value and info 76 message FlagQueryMessage { 77 optional string package_name = 1; 78 optional string flag_name = 2; 79 } 80 81 // reset all storage 82 message ResetStorageMessage { 83 oneof msg { 84 bool all = 1; 85 string container = 2; 86 } 87 } 88 89 // list storage 90 message ListStorageMessage { 91 oneof msg { 92 bool all = 1; 93 string container = 2; 94 string package_name = 3; 95 } 96 } 97 98 oneof msg { 99 NewStorageMessage new_storage_message = 1; 100 FlagOverrideMessage flag_override_message = 2; 101 OTAFlagStagingMessage ota_staging_message = 3; 102 FlagQueryMessage flag_query_message = 4; 103 RemoveLocalOverrideMessage remove_local_override_message = 5; 104 ResetStorageMessage reset_storage_message = 6; 105 ListStorageMessage list_storage_message = 7; 106 }; 107} 108 109message StorageRequestMessages { 110 repeated StorageRequestMessage msgs = 1; 111} 112 113// aconfigd return to client 114message StorageReturnMessage { 115 message NewStorageReturnMessage { 116 optional bool storage_updated = 1; 117 } 118 119 message FlagOverrideReturnMessage {} 120 121 message OTAFlagStagingReturnMessage {} 122 123 message FlagQueryReturnMessage { 124 optional string package_name = 1; 125 optional string flag_name = 2; 126 optional string server_flag_value = 3; 127 optional string local_flag_value = 4; 128 optional string boot_flag_value = 5; 129 optional string default_flag_value = 6; 130 optional bool has_server_override = 7; 131 optional bool is_readwrite = 8; 132 optional bool has_local_override = 9; 133 } 134 135 message RemoveLocalOverrideReturnMessage {} 136 137 message ResetStorageReturnMessage {} 138 139 message ListStorageReturnMessage { 140 repeated FlagQueryReturnMessage flags = 1; 141 } 142 143 oneof msg { 144 NewStorageReturnMessage new_storage_message = 1; 145 FlagOverrideReturnMessage flag_override_message = 2; 146 OTAFlagStagingReturnMessage ota_staging_message = 3; 147 FlagQueryReturnMessage flag_query_message = 4; 148 RemoveLocalOverrideReturnMessage remove_local_override_message = 5; 149 ResetStorageReturnMessage reset_storage_message = 6; 150 ListStorageReturnMessage list_storage_message = 7; 151 string error_message = 8; 152 }; 153} 154 155message StorageReturnMessages { 156 repeated StorageReturnMessage msgs = 1; 157} 158