aboutsummaryrefslogtreecommitdiff
path: root/drm/DrmEventListener.h
diff options
context:
space:
mode:
authorRoman Stratiienko <r.stratiienko@gmail.com>2020-08-29 21:35:39 +0300
committerRoman Stratiienko <r.stratiienko@gmail.com>2020-09-08 22:34:52 +0300
commit13cc3666c63010a4fc12568d645703bf365ccfc7 (patch)
tree20f2bc3371b70351de633830b4b91994ef38e80b /drm/DrmEventListener.h
parentaa3cd5456293a2a30a142824e58fd8dd92e628c6 (diff)
downloaddrm_hwcomposer-13cc3666c63010a4fc12568d645703bf365ccfc7.tar.gz
drm_hwcomposer: use CamelCase in source/header files related to class
Main goal is to increase readability of file names. AOSP uses camelcase for files in many projects. Lets do the same for drm_hwcomposer. Keep platform/ directory as is, since class names is different from file names. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: I7e992357851c2a86711f4da1241c4d507359e56b
Diffstat (limited to 'drm/DrmEventListener.h')
-rw-r--r--drm/DrmEventListener.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/drm/DrmEventListener.h b/drm/DrmEventListener.h
new file mode 100644
index 0000000..9f9a4ba
--- /dev/null
+++ b/drm/DrmEventListener.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_DRM_EVENT_LISTENER_H_
+#define ANDROID_DRM_EVENT_LISTENER_H_
+
+#include "autofd.h"
+#include "utils/Worker.h"
+
+namespace android {
+
+class DrmDevice;
+
+class DrmEventHandler {
+ public:
+ DrmEventHandler() {
+ }
+ virtual ~DrmEventHandler() {
+ }
+
+ virtual void HandleEvent(uint64_t timestamp_us) = 0;
+};
+
+class DrmEventListener : public Worker {
+ public:
+ DrmEventListener(DrmDevice *drm);
+ virtual ~DrmEventListener() {
+ }
+
+ int Init();
+
+ void RegisterHotplugHandler(DrmEventHandler *handler);
+
+ static void FlipHandler(int fd, unsigned int sequence, unsigned int tv_sec,
+ unsigned int tv_usec, void *user_data);
+
+ protected:
+ virtual void Routine();
+
+ private:
+ void UEventHandler();
+
+ fd_set fds_;
+ UniqueFd uevent_fd_;
+ int max_fd_ = -1;
+
+ DrmDevice *drm_;
+ std::unique_ptr<DrmEventHandler> hotplug_handler_;
+};
+} // namespace android
+
+#endif