hyperion.ng
CaptureCont.h
1 #pragma once
2 
3 #include <utils/Logger.h>
4 #include <utils/settings.h>
5 #include <utils/Components.h>
6 #include <utils/Image.h>
7 
8 class Hyperion;
9 class QTimer;
10 
15 class CaptureCont : public QObject
16 {
17  Q_OBJECT
18 public:
20  ~CaptureCont();
21 
22  void setSystemCaptureEnable(const bool& enable);
23  void setV4LCaptureEnable(const bool& enable);
24 
25 private slots:
31  void componentStateChanged(const hyperion::Components component, bool enable);
32 
38  void handleSettingsUpdate(const settings::type& type, const QJsonDocument& config);
39 
44  void handleSystemImage(const QString& name, const Image<ColorRgb>& image);
45 
50  void handleV4lImage(const QString& name, const Image<ColorRgb> & image);
51 
55  void setV4lInactive();
56 
60  void setSystemInactive();
61 
62 private:
64  Hyperion* _hyperion;
65 
67  bool _systemCaptEnabled;
68  quint8 _systemCaptPrio;
69  QString _systemCaptName;
70  QTimer* _systemInactiveTimer;
71 
73  bool _v4lCaptEnabled;
74  quint8 _v4lCaptPrio;
75  QString _v4lCaptName;
76  QTimer* _v4lInactiveTimer;
77 };
The main class of Hyperion.
Definition: Hyperion.h:57
Provide utility methods for Hyperion class.
Definition: BlackBorderDetector.h:7
Capture Control class which is a interface to the HyperionDaemon native capture classes.
Definition: CaptureCont.h:15
Components
Enumeration of components in Hyperion.
Definition: Components.h:10