| /* |
| * Copyright (C) 2024 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = "proto2"; |
| package android.aconfigd; |
| option optimize_for = LITE_RUNTIME; |
| |
| message PersistStorageRecord { |
| optional uint32 version = 1; |
| optional string container = 2; |
| optional string package_map = 3; |
| optional string flag_map = 4; |
| optional string flag_val = 5; |
| optional string digest = 6; |
| optional string flag_info = 7; |
| } |
| |
| message PersistStorageRecords { |
| repeated PersistStorageRecord records = 1; |
| } |
| |
| message FlagOverride { |
| optional string package_name = 1; |
| optional string flag_name = 2; |
| optional string flag_value = 3; |
| } |
| |
| message LocalFlagOverrides { |
| repeated FlagOverride overrides = 1; |
| } |
| |
| // incoming request to aconfigd |
| message StorageRequestMessage { |
| // new storage notification |
| message NewStorageMessage { |
| optional string container = 1; |
| optional string package_map = 2; |
| optional string flag_map = 3; |
| optional string flag_value = 4; |
| optional string flag_info = 5; |
| } |
| |
| enum FlagOverrideType { |
| LOCAL_IMMEDIATE = 1; |
| LOCAL_ON_REBOOT = 2; |
| SERVER_ON_REBOOT = 3; |
| } |
| |
| // request persistent flag value override |
| message FlagOverrideMessage { |
| optional string package_name = 1; |
| optional string flag_name = 2; |
| optional string flag_value = 3; |
| optional FlagOverrideType override_type = 4; |
| } |
| |
| // request to stage ota flags |
| message OTAFlagStagingMessage { |
| optional string build_id = 1; |
| repeated FlagOverride overrides = 2; |
| } |
| |
| enum RemoveOverrideType { |
| REMOVE_LOCAL_IMMEDIATE = 1; |
| REMOVE_LOCAL_ON_REBOOT = 2; |
| } |
| |
| // request to remove local flag override |
| message RemoveLocalOverrideMessage { |
| optional bool remove_all = 1; |
| optional string package_name = 2; |
| optional string flag_name = 3; |
| optional RemoveOverrideType remove_override_type = 4; |
| } |
| |
| // query persistent flag value and info |
| message FlagQueryMessage { |
| optional string package_name = 1; |
| optional string flag_name = 2; |
| } |
| |
| // reset all storage |
| message ResetStorageMessage { |
| oneof msg { |
| bool all = 1; |
| string container = 2; |
| } |
| } |
| |
| // list storage |
| message ListStorageMessage { |
| oneof msg { |
| bool all = 1; |
| string container = 2; |
| string package_name = 3; |
| } |
| } |
| |
| oneof msg { |
| NewStorageMessage new_storage_message = 1; |
| FlagOverrideMessage flag_override_message = 2; |
| OTAFlagStagingMessage ota_staging_message = 3; |
| FlagQueryMessage flag_query_message = 4; |
| RemoveLocalOverrideMessage remove_local_override_message = 5; |
| ResetStorageMessage reset_storage_message = 6; |
| ListStorageMessage list_storage_message = 7; |
| }; |
| } |
| |
| message StorageRequestMessages { |
| repeated StorageRequestMessage msgs = 1; |
| } |
| |
| // aconfigd return to client |
| message StorageReturnMessage { |
| message NewStorageReturnMessage { |
| optional bool storage_updated = 1; |
| } |
| |
| message FlagOverrideReturnMessage {} |
| |
| message OTAFlagStagingReturnMessage {} |
| |
| message FlagQueryReturnMessage { |
| optional string package_name = 1; |
| optional string flag_name = 2; |
| optional string server_flag_value = 3; |
| optional string local_flag_value = 4; |
| optional string boot_flag_value = 5; |
| optional string default_flag_value = 6; |
| optional bool has_server_override = 7; |
| optional bool is_readwrite = 8; |
| optional bool has_local_override = 9; |
| optional bool has_boot_local_override = 10; |
| optional string container = 11; |
| } |
| |
| message RemoveLocalOverrideReturnMessage {} |
| |
| message ResetStorageReturnMessage {} |
| |
| message ListStorageReturnMessage { |
| repeated FlagQueryReturnMessage flags = 1; |
| } |
| |
| oneof msg { |
| NewStorageReturnMessage new_storage_message = 1; |
| FlagOverrideReturnMessage flag_override_message = 2; |
| OTAFlagStagingReturnMessage ota_staging_message = 3; |
| FlagQueryReturnMessage flag_query_message = 4; |
| RemoveLocalOverrideReturnMessage remove_local_override_message = 5; |
| ResetStorageReturnMessage reset_storage_message = 6; |
| ListStorageReturnMessage list_storage_message = 7; |
| string error_message = 8; |
| }; |
| } |
| |
| message StorageReturnMessages { |
| repeated StorageReturnMessage msgs = 1; |
| } |