/* * Copyright (C) 2019 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 = "proto3"; package vhal_proto; import "google/protobuf/empty.proto"; import "VehicleHalProto.proto"; // correspond to StatusCode defined in types.hal enum VehicleHalStatusCode { OK = 0; TRY_AGAIN = 1; INVALID_ARG = 2; NOT_AVAILABLE = 3; ACCESS_DENIED = 4; INTERNAL_ERROR = 5; } message VehicleHalCallStatus { VehicleHalStatusCode status_code = 1; } message WrappedVehiclePropValue { VehiclePropValue value = 1; // An indicator on whether we should update the status of the property // - true: if the value is generated by (emulated/real) car, or; // if the value is injected to 'fake' a on car event (for debugging purpose) // - false: if the value is set by VHal (public interface), since Android // cannot change status of property on a real car bool update_status = 2; } service VehicleServer { rpc GetAllPropertyConfig(google.protobuf.Empty) returns (stream VehiclePropConfig) {} // Change the property value of the vehicle rpc SetProperty(WrappedVehiclePropValue) returns (VehicleHalCallStatus) {} // Start a vehicle property value stream rpc StartPropertyValuesStream(google.protobuf.Empty) returns (stream WrappedVehiclePropValue) {} }