Vehicle HAL reference impl Part II

Implemented:
  - IVehicle::get <-- changed signature
  - IVehicle::set
  - status_t replaced with StatusCode
  - changed error handling to handle errors on SET

Test: unit tests provided
Bug: b/31971746
Change-Id: I9ea3feab7539adf588f1278fb905c0a458fa1627
diff --git a/vehicle/2.0/IVehicleCallback.hal b/vehicle/2.0/IVehicleCallback.hal
index 5c1042b..504f782 100644
--- a/vehicle/2.0/IVehicleCallback.hal
+++ b/vehicle/2.0/IVehicleCallback.hal
@@ -43,14 +43,17 @@
     oneway onPropertySet(VehiclePropValue propValue);
 
     /*
-     * Called by HAL server when error condition has occurred.
+     * Set property value is usually asynchronous operation. Thus even if
+     * client received StatusCode::OK from the IVehicle::set(...) this
+     * doesn't guarantee that the value was successfully propagated to the
+     * vehicle network. If such rare event occurs this method must be called.
      *
      * @param errorCode - any value from StatusCode enum.
-     * @parm property - a property where error has happened. If this is
-     * a generic error, this value should be VehicleProperty::INVALID.
-     * @param operation Represent the operation where the error has happened.
+     * @param property - a property where error has happened.
+     * @param areaId - bitmask that specifies in which areas the problem has
+     *                 occurred, must be 0 for global properties
      */
-    oneway onError(StatusCode errorCode,
-                   VehicleProperty propId,
-                   VehiclePropertyOperation operation);
+    oneway onPropertySetError(StatusCode errorCode,
+                              VehicleProperty propId,
+                              int32_t areaId);
 };