Vehicle HAL reference impl Part I
Implemented:
- defined VehicleHal
- object pool for VehiclePropValue objects
- batching of vehicle HAL events
- subscription management
Test: unit tests provided
Bug: b/31971746
Change-Id: Idd2d0aee7b32a975c3db54812be235e13f52905a
diff --git a/vehicle/2.0/default/VehicleService.cpp b/vehicle/2.0/default/VehicleService.cpp
index b685977..e21dcd9 100644
--- a/vehicle/2.0/default/VehicleService.cpp
+++ b/vehicle/2.0/default/VehicleService.cpp
@@ -21,22 +21,18 @@
#include <hwbinder/IPCThreadState.h>
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <vehicle_hal_manager/VehicleHalManager.h>
+#include <impl/DefaultVehicleHal.h>
using namespace android;
using namespace android::hardware;
using namespace android::hardware::vehicle::V2_0;
int main(int /* argc */, char* /* argv */ []) {
- ALOGI("Service is starting");
- android::sp<IVehicle> service = IVehicle::getService("Vehicle");
- if (service.get() == NULL) {
- ALOGE("IVehicle::getService returned NULL, exiting");
- return 1;
- }
+ auto hal = std::make_unique<impl::DefaultVehicleHal>();
+ auto service = std::make_unique<VehicleHalManager>(hal.get());
- ALOGI("Registering as service");
- // will register the -impl as a binderized service in this process
+ ALOGI("Registering as service...");
service->registerAsService("Vehicle");
ALOGI("Ready");