MythTV master
CustomEventRelayer.h
Go to the documentation of this file.
1#ifndef CUSTOMEVENTRELAYER_H
2#define CUSTOMEVENTRELAYER_H
3
4#include <QObject>
5
7
8/* This is a simple class that relays a QT custom event to an ordinary function
9 * pointer. Useful when you have a relativly small app like mythcommflag that
10 * you don't want to wrap inside a class.
11 */
12
13class QEvent;
14class CustomEventRelayer : public QObject
15{
16 Q_OBJECT
17
18 public:
19 explicit CustomEventRelayer(void (*fp_in)(QEvent*)) : m_fp(fp_in)
20 {
22 }
23
25 {
27 }
28
29 virtual void deleteLater(void)
30 {
32 QObject::deleteLater();
33 }
34
35 void customEvent(QEvent *e) override //QObject
36 { m_fp(e); }
37
38 protected:
39 ~CustomEventRelayer() override = default;
40
41 private:
42 void (*m_fp)(QEvent*) {nullptr};
43};
44
45#endif // CUSTOMEVENTRELAYER_H
46
47/* vim: set expandtab tabstop=4 shiftwidth=4: */
virtual void deleteLater(void)
void customEvent(QEvent *e) override
CustomEventRelayer(void(*fp_in)(QEvent *))
~CustomEventRelayer() override=default
void(* m_fp)(QEvent *)
void addListener(QObject *listener)
Add a listener to the observable.
void removeListener(QObject *listener)
Remove a listener to the observable.
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.