27aff949fb
Move the functionality for the following components to the new base support library: - BoundMethod - EventDispatcher - EventDispatcherPoll - Log - Message - Object - Signal - Semaphore - Thread - Timer While it would be preferable to see these split to move one component per commit, these components are all interdependent upon each other, which leaves us with one big change performing the move for all of them. Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
36 lines
750 B
C++
36 lines
750 B
C++
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
/*
|
|
* Copyright (C) 2019, Google Inc.
|
|
*
|
|
* event_dispatcher.h - Event dispatcher
|
|
*/
|
|
#ifndef __LIBCAMERA_BASE_EVENT_DISPATCHER_H__
|
|
#define __LIBCAMERA_BASE_EVENT_DISPATCHER_H__
|
|
|
|
#include <vector>
|
|
|
|
namespace libcamera {
|
|
|
|
class EventNotifier;
|
|
class Timer;
|
|
|
|
class EventDispatcher
|
|
{
|
|
public:
|
|
virtual ~EventDispatcher();
|
|
|
|
virtual void registerEventNotifier(EventNotifier *notifier) = 0;
|
|
virtual void unregisterEventNotifier(EventNotifier *notifier) = 0;
|
|
|
|
virtual void registerTimer(Timer *timer) = 0;
|
|
virtual void unregisterTimer(Timer *timer) = 0;
|
|
|
|
virtual void processEvents() = 0;
|
|
|
|
virtual void interrupt() = 0;
|
|
};
|
|
|
|
} /* namespace libcamera */
|
|
|
|
#endif /* __LIBCAMERA_BASE_EVENT_DISPATCHER_H__ */
|