Loading vehicle/2.0/IVehicle.hal +10 −3 Original line number Diff line number Diff line Loading @@ -27,9 +27,13 @@ interface IVehicle { /* * Returns a list of property configurations for given properties. * * If requested VehicleProperty wasn't found it must return * StatusCode::INVALID_ARG, otherwise a list of vehicle property * configurations with StatusCode::OK */ getPropConfigs(vec<VehicleProperty> props) generates (vec<VehiclePropConfig> propConfigs); generates (StatusCode status, vec<VehiclePropConfig> propConfigs); /** * Get a vehicle property value. Loading @@ -39,11 +43,14 @@ interface IVehicle { * For VehiclePropertyChangeMode::ON_CHANGE properties, it must return the * latest available value. * * Some properties like AUDIO_VOLUME requires to pass additional data in * GET request in VehiclePropValue object. * * If there is no data available yet, which can happen during initial stage, * this call must return immediately with an error code of * StatusCode::TRY_AGAIN. */ get(VehicleProperty propId, int32_t areaId) get(VehiclePropValue requestedPropValue) generates (StatusCode status, VehiclePropValue propValue); /** Loading Loading @@ -75,7 +82,7 @@ interface IVehicle { * Unsubscribes from property events. * * If this client wasn't subscribed to the given property, this method * must return StatusCode::INVALID_ARGUMENT. * must return StatusCode::INVALID_ARG. */ unsubscribe(IVehicleCallback callback, VehicleProperty propId) generates (StatusCode status); Loading vehicle/2.0/IVehicleCallback.hal +10 −7 Original line number Diff line number Diff line Loading @@ -43,14 +43,17 @@ interface IVehicleCallback { 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, oneway onPropertySetError(StatusCode errorCode, VehicleProperty propId, VehiclePropertyOperation operation); int32_t areaId); }; vehicle/2.0/default/Android.mk +0 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ LOCAL_MODULE := $(module_prefix)-manager-lib LOCAL_SRC_FILES := \ vehicle_hal_manager/SubscriptionManager.cpp \ vehicle_hal_manager/VehicleHalManager.cpp \ vehicle_hal_manager/VehicleCallback.cpp \ LOCAL_SHARED_LIBRARIES := \ liblog \ Loading vehicle/2.0/default/VehicleHal.h +13 −15 Original line number Diff line number Diff line Loading @@ -36,18 +36,15 @@ public: using HalEventFunction = std::function<void(VehiclePropValuePtr)>; using HalErrorFunction = std::function<void( VehicleProperty property, status_t errorCode, VehiclePropertyOperation operation)>; StatusCode errorCode, VehicleProperty property, int32_t areaId)>; virtual ~VehicleHal() {} virtual std::vector<VehiclePropConfig> listProperties() = 0; virtual VehiclePropValuePtr get(VehicleProperty property, int32_t areaId, status_t* outStatus) = 0; virtual VehiclePropValuePtr get(const VehiclePropValue& requestedPropValue, StatusCode* outStatus) = 0; virtual status_t set(const VehiclePropValue& propValue) = 0; virtual StatusCode set(const VehiclePropValue& propValue) = 0; /** * Subscribe to HAL property events. This method might be called multiple Loading @@ -60,7 +57,7 @@ public: * rate, e.g. for properties with * VehiclePropertyChangeMode::CONTINUOUS */ virtual status_t subscribe(VehicleProperty property, virtual StatusCode subscribe(VehicleProperty property, int32_t areas, float sampleRate) = 0; Loading @@ -69,7 +66,7 @@ public: * * @param property vehicle property to unsubscribe */ virtual status_t unsubscribe(VehicleProperty property) = 0; virtual StatusCode unsubscribe(VehicleProperty property) = 0; /** * Override this method if you need to do one-time initialization. Loading @@ -82,7 +79,7 @@ public: const HalErrorFunction& onHalError) { mValuePool = valueObjectPool; mOnHalEvent = onHalEvent; mOnHalError = onHalError; mOnHalPropertySetError = onHalError; onCreate(); } Loading @@ -91,19 +88,20 @@ public: return mValuePool; } protected: /* Propagates property change events to vehicle HAL clients. */ void doHalEvent(VehiclePropValuePtr v) { mOnHalEvent(std::move(v)); } void doHalError(VehicleProperty property, status_t errorCode, VehiclePropertyOperation operation) { mOnHalError(property, errorCode, operation); /* Propagates error during set operation to the vehicle HAL clients. */ void doHalPropertySetError(StatusCode errorCode, VehicleProperty propId, int32_t areaId) { mOnHalPropertySetError(errorCode, propId, areaId); } private: HalEventFunction mOnHalEvent; HalErrorFunction mOnHalError; HalErrorFunction mOnHalPropertySetError; VehiclePropValuePool* mValuePool; }; Loading vehicle/2.0/default/impl/DefaultConfig.h +2 −2 Original line number Diff line number Diff line Loading @@ -43,11 +43,11 @@ const VehiclePropConfig kVehicleProperties[] = { VehicleAreaZone::ROW_1_LEFT | VehicleAreaZone::ROW_1_RIGHT), .areaConfigs = init_hidl_vec({ VehicleAreaConfig { .areaId = val(VehicleAreaZone::ROW_2_LEFT), .areaId = toInt(VehicleAreaZone::ROW_2_LEFT), .minInt32Value = 1, .maxInt32Value = 7}, VehicleAreaConfig { .areaId = val(VehicleAreaZone::ROW_1_RIGHT), .areaId = toInt(VehicleAreaZone::ROW_1_RIGHT), .minInt32Value = 1, .maxInt32Value = 5, } Loading Loading
vehicle/2.0/IVehicle.hal +10 −3 Original line number Diff line number Diff line Loading @@ -27,9 +27,13 @@ interface IVehicle { /* * Returns a list of property configurations for given properties. * * If requested VehicleProperty wasn't found it must return * StatusCode::INVALID_ARG, otherwise a list of vehicle property * configurations with StatusCode::OK */ getPropConfigs(vec<VehicleProperty> props) generates (vec<VehiclePropConfig> propConfigs); generates (StatusCode status, vec<VehiclePropConfig> propConfigs); /** * Get a vehicle property value. Loading @@ -39,11 +43,14 @@ interface IVehicle { * For VehiclePropertyChangeMode::ON_CHANGE properties, it must return the * latest available value. * * Some properties like AUDIO_VOLUME requires to pass additional data in * GET request in VehiclePropValue object. * * If there is no data available yet, which can happen during initial stage, * this call must return immediately with an error code of * StatusCode::TRY_AGAIN. */ get(VehicleProperty propId, int32_t areaId) get(VehiclePropValue requestedPropValue) generates (StatusCode status, VehiclePropValue propValue); /** Loading Loading @@ -75,7 +82,7 @@ interface IVehicle { * Unsubscribes from property events. * * If this client wasn't subscribed to the given property, this method * must return StatusCode::INVALID_ARGUMENT. * must return StatusCode::INVALID_ARG. */ unsubscribe(IVehicleCallback callback, VehicleProperty propId) generates (StatusCode status); Loading
vehicle/2.0/IVehicleCallback.hal +10 −7 Original line number Diff line number Diff line Loading @@ -43,14 +43,17 @@ interface IVehicleCallback { 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, oneway onPropertySetError(StatusCode errorCode, VehicleProperty propId, VehiclePropertyOperation operation); int32_t areaId); };
vehicle/2.0/default/Android.mk +0 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ LOCAL_MODULE := $(module_prefix)-manager-lib LOCAL_SRC_FILES := \ vehicle_hal_manager/SubscriptionManager.cpp \ vehicle_hal_manager/VehicleHalManager.cpp \ vehicle_hal_manager/VehicleCallback.cpp \ LOCAL_SHARED_LIBRARIES := \ liblog \ Loading
vehicle/2.0/default/VehicleHal.h +13 −15 Original line number Diff line number Diff line Loading @@ -36,18 +36,15 @@ public: using HalEventFunction = std::function<void(VehiclePropValuePtr)>; using HalErrorFunction = std::function<void( VehicleProperty property, status_t errorCode, VehiclePropertyOperation operation)>; StatusCode errorCode, VehicleProperty property, int32_t areaId)>; virtual ~VehicleHal() {} virtual std::vector<VehiclePropConfig> listProperties() = 0; virtual VehiclePropValuePtr get(VehicleProperty property, int32_t areaId, status_t* outStatus) = 0; virtual VehiclePropValuePtr get(const VehiclePropValue& requestedPropValue, StatusCode* outStatus) = 0; virtual status_t set(const VehiclePropValue& propValue) = 0; virtual StatusCode set(const VehiclePropValue& propValue) = 0; /** * Subscribe to HAL property events. This method might be called multiple Loading @@ -60,7 +57,7 @@ public: * rate, e.g. for properties with * VehiclePropertyChangeMode::CONTINUOUS */ virtual status_t subscribe(VehicleProperty property, virtual StatusCode subscribe(VehicleProperty property, int32_t areas, float sampleRate) = 0; Loading @@ -69,7 +66,7 @@ public: * * @param property vehicle property to unsubscribe */ virtual status_t unsubscribe(VehicleProperty property) = 0; virtual StatusCode unsubscribe(VehicleProperty property) = 0; /** * Override this method if you need to do one-time initialization. Loading @@ -82,7 +79,7 @@ public: const HalErrorFunction& onHalError) { mValuePool = valueObjectPool; mOnHalEvent = onHalEvent; mOnHalError = onHalError; mOnHalPropertySetError = onHalError; onCreate(); } Loading @@ -91,19 +88,20 @@ public: return mValuePool; } protected: /* Propagates property change events to vehicle HAL clients. */ void doHalEvent(VehiclePropValuePtr v) { mOnHalEvent(std::move(v)); } void doHalError(VehicleProperty property, status_t errorCode, VehiclePropertyOperation operation) { mOnHalError(property, errorCode, operation); /* Propagates error during set operation to the vehicle HAL clients. */ void doHalPropertySetError(StatusCode errorCode, VehicleProperty propId, int32_t areaId) { mOnHalPropertySetError(errorCode, propId, areaId); } private: HalEventFunction mOnHalEvent; HalErrorFunction mOnHalError; HalErrorFunction mOnHalPropertySetError; VehiclePropValuePool* mValuePool; }; Loading
vehicle/2.0/default/impl/DefaultConfig.h +2 −2 Original line number Diff line number Diff line Loading @@ -43,11 +43,11 @@ const VehiclePropConfig kVehicleProperties[] = { VehicleAreaZone::ROW_1_LEFT | VehicleAreaZone::ROW_1_RIGHT), .areaConfigs = init_hidl_vec({ VehicleAreaConfig { .areaId = val(VehicleAreaZone::ROW_2_LEFT), .areaId = toInt(VehicleAreaZone::ROW_2_LEFT), .minInt32Value = 1, .maxInt32Value = 7}, VehicleAreaConfig { .areaId = val(VehicleAreaZone::ROW_1_RIGHT), .areaId = toInt(VehicleAreaZone::ROW_1_RIGHT), .minInt32Value = 1, .maxInt32Value = 5, } Loading