[sensors] new functions and types for direct report mode
Added functions:
* registerDirectChannel
* unregisterDirectChannel
* configDirectReport
Added structs and enums related to direct report functionality.
Stub default implementation is also included.
Test: compiles and runs
Bug: 30985702
Change-Id: Ia542673e2b180e0aa62c1374cf8c1671bf2f5721
diff --git a/sensors/1.0/default/Sensors.cpp b/sensors/1.0/default/Sensors.cpp
index c76369f..d79f5c7 100644
--- a/sensors/1.0/default/Sensors.cpp
+++ b/sensors/1.0/default/Sensors.cpp
@@ -234,6 +234,32 @@
mSensorDevice->inject_sensor_data(mSensorDevice, &out));
}
+Return<void> Sensors::registerDirectChannel(
+ const SharedMemInfo& mem, registerDirectChannel_cb _aidl_cb) {
+ //TODO(b/30985702): finish implementation
+ (void) mem;
+ _aidl_cb(Result::INVALID_OPERATION, -1);
+ return Void();
+}
+
+Return<Result> Sensors::unregisterDirectChannel(int32_t channelHandle) {
+ //TODO(b/30985702): finish implementation
+ (void) channelHandle;
+ return Result::INVALID_OPERATION;
+}
+
+Return<void> Sensors::configDirectReport(
+ int32_t sensorHandle, int32_t channelHandle, RateLevel rate,
+ configDirectReport_cb _hidl_cb) {
+ //TODO(b/30985702): finish implementation
+ (void) sensorHandle;
+ (void) channelHandle;
+ (void) rate;
+
+ _hidl_cb(Result::INVALID_OPERATION, -1);
+ return Void();
+}
+
// static
void Sensors::convertFromSensorEvents(
size_t count,
diff --git a/sensors/1.0/default/Sensors.h b/sensors/1.0/default/Sensors.h
index f9b837d..abe7f43 100644
--- a/sensors/1.0/default/Sensors.h
+++ b/sensors/1.0/default/Sensors.h
@@ -54,6 +54,15 @@
Return<Result> injectSensorData(const Event& event) override;
+ Return<void> registerDirectChannel(
+ const SharedMemInfo& mem, registerDirectChannel_cb _aidl_cb) override;
+
+ Return<Result> unregisterDirectChannel(int32_t channelHandle) override;
+
+ Return<void> configDirectReport(
+ int32_t sensorHandle, int32_t channelHandle, RateLevel rate,
+ configDirectReport_cb _hidl_cb) override;
+
private:
status_t mInitCheck;
sensors_module_t *mSensorModule;