summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2019-07-29 11:16:15 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-07-29 11:16:15 -0700
commitd3f4503ce1c3a2c938de7c18f86e80a30e941dc6 (patch)
tree0fe90959d510d586002a9bd5df8cec6ba36f2975
parenta88187682c3e04e0f0532f7eff0a4218b33e9a4e (diff)
parentc62bb5ff1dd4ca4bfb455532a44dde8f9fd113da (diff)
downloadandroid_vendor_qcom_opensource_interfaces-d3f4503ce1c3a2c938de7c18f86e80a30e941dc6.tar.gz
android_vendor_qcom_opensource_interfaces-d3f4503ce1c3a2c938de7c18f86e80a30e941dc6.tar.bz2
android_vendor_qcom_opensource_interfaces-d3f4503ce1c3a2c938de7c18f86e80a30e941dc6.zip
Merge "SystemHelper : Adding system helper service for event and resource handling"
-rw-r--r--Android.bp5
-rw-r--r--systemhelper/1.0/ISystemEvent.hal57
-rw-r--r--systemhelper/1.0/ISystemEventCallback.hal40
-rw-r--r--systemhelper/1.0/ISystemResource.hal73
-rw-r--r--systemhelper/1.0/types.hal50
5 files changed, 225 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 9165ee0..265fb83 100644
--- a/Android.bp
+++ b/Android.bp
@@ -30,3 +30,8 @@ hidl_package_root {
name: "vendor.qti.hardware.bluetooth_audio",
path: "vendor/qcom/opensource/interfaces/bluetooth_audio",
}
+hidl_package_root {
+ name: "vendor.qti.hardware.systemhelper",
+ path: "vendor/qcom/opensource/interfaces/systemhelper",
+}
+
diff --git a/systemhelper/1.0/ISystemEvent.hal b/systemhelper/1.0/ISystemEvent.hal
new file mode 100644
index 0000000..d6407cb
--- /dev/null
+++ b/systemhelper/1.0/ISystemEvent.hal
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+import ISystemEventCallback;
+
+interface ISystemEvent {
+ /**
+ * Register for system event notification.
+ *
+ * @param eventIds event mask (of type SystemEventType) to register for
+ * @param cb callback interface for event notification
+ * @return status status of event registration request
+ * 0 in case of success and negative in case of failure
+ */
+ registerEvent(uint64_t eventIds, ISystemEventCallback cb)
+ generates (int32_t status);
+
+ /**
+ * Deregister for system event notification.
+ *
+ * @param eventIds event mask (of type SystemEventType) to deregister for
+ * @param cb callback interface used for event registration
+ * @return status status of event de-registration request
+ * 0 in case of success and negative in case of failure
+ */
+ deRegisterEvent(uint64_t eventIds, ISystemEventCallback cb)
+ generates (int32_t status);
+};
diff --git a/systemhelper/1.0/ISystemEventCallback.hal b/systemhelper/1.0/ISystemEventCallback.hal
new file mode 100644
index 0000000..565d680
--- /dev/null
+++ b/systemhelper/1.0/ISystemEventCallback.hal
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+interface ISystemEventCallback {
+ /**
+ * Event notification.
+ *
+ * @param eventId event occurred (of type SystemEventType)
+ */
+ oneway onEvent(uint64_t eventId);
+};
diff --git a/systemhelper/1.0/ISystemResource.hal b/systemhelper/1.0/ISystemResource.hal
new file mode 100644
index 0000000..0b5adc0
--- /dev/null
+++ b/systemhelper/1.0/ISystemResource.hal
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+import android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer;
+
+interface ISystemResource {
+ /**
+ * Acquire a system resource
+ *
+ * @param resource resource to acquire
+ * @return status resource acquisition status
+ * 0 in case of success and negative in case of failure
+ * @return resourceId unique resource identifier for acquired resource
+ * Note : resourceId stands invalid in case of API returned error
+ */
+ acquire(SystemResourceType resource) generates (int32_t status,
+ uint32_t resourceId);
+ /**
+ * Acquire a system graphics surface.
+ *
+ * @param width surface width
+ * @param height surface height
+ * @return status resource acquisition status
+ * 0 in case of success and negative in case of failure
+ * @return resourceId unique resource identifier for acquired resource
+ * Note : resourceId stands invalid in case of API returned error
+ * @return surface IGraphicBufferProducer interface for buffer enqueue/dequeue
+ */
+ acquireSurface(uint32_t width, uint32_t height)
+ generates (int32_t status,
+ uint32_t resourceId,
+ IGraphicBufferProducer surface);
+
+ /**
+ * Release an acquired resource
+ *
+ * Both resource and surface shall be released via this API.
+ *
+ * @param resourceId unique resource identifier to be released
+ * @return status resource release status
+ * 0 in case of success and -1 in case of failure
+ */
+ release(uint32_t resourceId) generates (int32_t status);
+};
diff --git a/systemhelper/1.0/types.hal b/systemhelper/1.0/types.hal
new file mode 100644
index 0000000..13d2f44
--- /dev/null
+++ b/systemhelper/1.0/types.hal
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are
+* met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above
+* copyright notice, this list of conditions and the following
+* disclaimer in the documentation and/or other materials provided
+* with the distribution.
+* * Neither the name of The Linux Foundation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+package vendor.qti.hardware.systemhelper@1.0;
+
+/** Types of Events **/
+enum SystemEventType : uint64_t {
+ PHONE_STATE_RINGING = 0x1,
+ PHONE_STATE_OFF_HOOK = 0x2,
+ PHONE_STATE_IDLE = 0x4,
+ ACTION_SCREEN_OFF = 0x8,
+ ACTION_SCREEN_ON = 0x10,
+ ACTION_SHUTDOWN = 0x20,
+ ACTION_USER_PRESENT = 0x40,
+ SYSTEM_EVENT_MAX = (0x80 - 1),
+};
+
+enum SystemResourceType : uint64_t {
+ WAKE_LOCK = 1,
+ ROTATION_LOCK = 2,
+};
+
+