Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad122248 authored by Hao Chen's avatar Hao Chen Committed by Android (Google) Code Review
Browse files

Merge "Add GRPC Server as a Library to VHal Build File"

parents 78b167aa 3ebbb827
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
@@ -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",
    ],
}
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
 */

syntax = "proto2";
option optimize_for = LITE_RUNTIME;

package emulator;

+47 −0
Original line number Diff line number Diff line
/*
 * 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) {}
}