libcamera  v0.3.0
Supporting cameras in Linux since 2019
event_notifier.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 /*
3  * Copyright (C) 2019, Google Inc.
4  *
5  * File descriptor event notifier
6  */
7 
8 #pragma once
9 
10 #include <libcamera/base/private.h>
11 
12 #include <libcamera/base/object.h>
13 #include <libcamera/base/signal.h>
14 
15 namespace libcamera {
16 
17 class Message;
18 
19 class EventNotifier : public Object
20 {
21 public:
22  enum Type {
26  };
27 
28  EventNotifier(int fd, Type type, Object *parent = nullptr);
29  virtual ~EventNotifier();
30 
31  Type type() const { return type_; }
32  int fd() const { return fd_; }
33 
34  bool enabled() const { return enabled_; }
35  void setEnabled(bool enable);
36 
38 
39 protected:
40  void message(Message *msg) override;
41 
42 private:
43  int fd_;
44  Type type_;
45  bool enabled_;
46 };
47 
48 } /* namespace libcamera */
Type type() const
Retrieve the type of the event being monitored.
Definition: event_notifier.h:31
Type
Definition: event_notifier.h:22
void setEnabled(bool enable)
Enable or disable the notifier.
Definition: event_notifier.cpp:108
Top-level libcamera namespace.
Definition: backtrace.h:17
Signal & slot implementation.
A message that can be posted to a Thread.
Definition: message.h:23
int fd() const
Retrieve the file descriptor being monitored.
Definition: event_notifier.h:32
Signal activated
Signal emitted when the event occurs.
Definition: event_notifier.h:37
Definition: event_notifier.h:24
Base object to support automatic signal disconnection.
Object * parent() const
Retrieve the object&#39;s parent.
Definition: object.h:47
Generic signal and slot communication mechanism.
Definition: object.h:20
Notify of activity on a file descriptor.
Definition: event_notifier.h:19
Definition: event_notifier.h:23
bool enabled() const
Retrieve the notifier state.
Definition: event_notifier.h:34
Definition: event_notifier.h:25
EventNotifier(int fd, Type type, Object *parent=nullptr)
Construct an event notifier with a file descriptor and event type.
Definition: event_notifier.cpp:69
Base object to support automatic signal disconnection.
Definition: object.h:24
void message(Message *msg) override
Message handler for the object.
Definition: event_notifier.cpp:134