diff options
3 files changed, 108 insertions, 1 deletions
diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp index 6754843bf5..2eedecda2a 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/Android.bp @@ -29,3 +29,64 @@ cc_library_static { ], srcs: ["VehicleHalProto.proto"] } + +cc_library_static { + name: "android.hardware.automotive.vehicle@2.0-grpc", + vendor: true, + include_dirs: [ + "external/protobuf/src", + ], + generated_headers: [ + "DefaultVehicleHalProtoStub_h", + ], + export_generated_headers: [ + "DefaultVehicleHalProtoStub_h", + ], + generated_sources: [ + "DefaultVehicleHalProtoStub_cc", + ], + shared_libs: [ + "libgrpc++_unsecure", + ], + cflags: [ + "-Wno-unused-parameter" + ], +} + +genrule { + name: "DefaultVehicleHalProtoStub_h", + tools: [ + "aprotoc", + "protoc-gen-grpc-cpp-plugin", + ], + cmd: "$(location aprotoc) -I$$(dirname $(in)) -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)", + srcs: [ + "VehicleHalProto.proto", + "VehicleServer.proto", + ], + out: [ + "VehicleHalProto.pb.h", + "VehicleHalProto.grpc.pb.h", + "VehicleServer.pb.h", + "VehicleServer.grpc.pb.h", + ], +} + +genrule { + name: "DefaultVehicleHalProtoStub_cc", + tools: [ + "aprotoc", + "protoc-gen-grpc-cpp-plugin", + ], + cmd: "$(location aprotoc) -I$$(dirname $(in)) -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)", + srcs: [ + "VehicleHalProto.proto", + "VehicleServer.proto", + ], + out: [ + "VehicleHalProto.pb.cc", + "VehicleHalProto.grpc.pb.cc", + "VehicleServer.pb.cc", + "VehicleServer.grpc.pb.cc", + ], +} diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleHalProto.proto b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleHalProto.proto index 2ef64fbfab..04df5a8a21 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleHalProto.proto +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleHalProto.proto @@ -15,7 +15,6 @@ */ syntax = "proto2"; -option optimize_for = LITE_RUNTIME; package emulator; diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleServer.proto b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleServer.proto new file mode 100644 index 0000000000..7ce3c32273 --- /dev/null +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/proto/VehicleServer.proto @@ -0,0 +1,47 @@ +/* + * 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 = "proto2"; + +package emulator; + +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 { + required VehicleHalStatusCode status_code = 1; +} + +service VehicleServer { + rpc GetAllPropertyConfig(google.protobuf.Empty) returns (stream VehiclePropConfig) {} + + // Change the property value of the vehicle + rpc SetProperty(VehiclePropValue) returns (VehicleHalCallStatus) {} + + // Start a vehicle property value stream + rpc StartPropertyValuesStream(google.protobuf.Empty) returns (stream VehiclePropValue) {} +} + |