diff options
Diffstat (limited to 'drm/UEventListener.h')
-rw-r--r-- | drm/UEventListener.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/drm/UEventListener.h b/drm/UEventListener.h index c8b8582..4f2be7c 100644 --- a/drm/UEventListener.h +++ b/drm/UEventListener.h @@ -14,35 +14,31 @@ * limitations under the License. */ -#ifndef ANDROID_UEVENT_LISTENER_H_ -#define ANDROID_UEVENT_LISTENER_H_ +#pragma once #include <functional> #include "utils/UEvent.h" -#include "utils/Worker.h" namespace android { -class UEventListener : public Worker { +class UEventListener { public: - UEventListener(); - ~UEventListener() override = default; + ~UEventListener() = default; - int Init(); + static auto CreateInstance() -> std::shared_ptr<UEventListener>; void RegisterHotplugHandler(std::function<void()> hotplug_handler) { hotplug_handler_ = std::move(hotplug_handler); } - protected: - void Routine() override; - private: + UEventListener() = default; + + void ThreadFn(const std::shared_ptr<UEventListener> &uel); + std::unique_ptr<UEvent> uevent_; std::function<void()> hotplug_handler_; }; } // namespace android - -#endif |