
// Copyright 2024 Google LLC
//
// 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 com.android.internal.telephony.satellite;

option java_package = "com.android.internal.telephony.satellite";
option java_outer_classname = "SatelliteConfigData";

message TelephonyConfigProto {
  optional SatelliteConfigProto satellite = 1;
}

message SatelliteConfigProto {
  optional int32 version = 1;
  repeated CarrierSupportedSatelliteServicesProto carrier_supported_satellite_services = 2;
  optional SatelliteRegionProto device_satellite_region = 3;
  optional CarrierRoamingConfigProto carrier_roaming_config = 4;
}

message CarrierRoamingConfigProto {
  optional int32 max_allowed_data_mode = 1;
}

message CarrierSupportedSatelliteServicesProto {
  optional int32 carrier_id = 1;
  repeated SatelliteProviderCapabilityProto supported_satellite_provider_capabilities = 2;
}

message SatelliteProviderCapabilityProto{
  optional string carrier_plmn = 1;
  repeated int32 allowed_services = 2;
}

message SatelliteRegionProto {
  optional bytes s2_cell_file = 1;
  repeated string country_codes = 2;
  optional bool is_allowed = 3;
  optional bytes satellite_access_config_file = 4;
}
