From a8113fb3a89984cc65d51436480cee45b60543e8 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Thu, 20 Oct 2022 01:25:45 +0300 Subject: apps: Share common source between applications Multiple source files in the src/apps/cam/ directory are used by cam, qcam and lc-compliance. They are compiled separately for each application. Move them to a new src/apps/common/ directory and compile them in a static library to decrease the number of compilation operations. Signed-off-by: Laurent Pinchart Reviewed-by: Umang Jain Reviewed-by: Kieran Bingham --- src/apps/cam/event_loop.h | 68 ----------------------------------------------- 1 file changed, 68 deletions(-) delete mode 100644 src/apps/cam/event_loop.h (limited to 'src/apps/cam/event_loop.h') diff --git a/src/apps/cam/event_loop.h b/src/apps/cam/event_loop.h deleted file mode 100644 index ef79e8e5..00000000 --- a/src/apps/cam/event_loop.h +++ /dev/null @@ -1,68 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Copyright (C) 2019, Google Inc. - * - * event_loop.h - cam - Event loop - */ - -#pragma once - -#include -#include -#include -#include -#include - -#include - -struct event_base; - -class EventLoop -{ -public: - enum EventType { - Read = 1, - Write = 2, - }; - - EventLoop(); - ~EventLoop(); - - static EventLoop *instance(); - - int exec(); - void exit(int code = 0); - - void callLater(const std::function &func); - - void addFdEvent(int fd, EventType type, - const std::function &handler); - - using duration = std::chrono::steady_clock::duration; - void addTimerEvent(const std::chrono::microseconds period, - const std::function &handler); - -private: - struct Event { - Event(const std::function &callback); - ~Event(); - - static void dispatch(int fd, short events, void *arg); - - std::function callback_; - struct event *event_; - }; - - static EventLoop *instance_; - - struct event_base *base_; - int exitCode_; - - std::list> calls_; - std::list> events_; - std::mutex lock_; - - static void dispatchCallback(evutil_socket_t fd, short flags, - void *param); - void dispatchCall(); -}; -- cgit v1.2.1