Initial implementation
[harmattan/cameraplus] / lib / qtcamgstreamermessagelistener.h
1 // -*- c++ -*-
2
3 #ifndef QT_CAM_GSTREAMER_MESSAGE_LISTENER_H
4 #define QT_CAM_GSTREAMER_MESSAGE_LISTENER_H
5
6 #include <QObject>
7 #include <gst/gst.h>
8
9 class QtCamGStreamerMessageListenerPrivate;
10 class QtCamGStreamerMessageHandler;
11 class QtCamDevicePrivate;
12
13 class QtCamGStreamerMessageListener : public QObject {
14   Q_OBJECT
15
16 public:
17   QtCamGStreamerMessageListener(GstBus *bus, QtCamDevicePrivate *d, QObject *parent = 0);
18   ~QtCamGStreamerMessageListener();
19
20   void addHandler(QtCamGStreamerMessageHandler *handler);
21   void removeHandler(QtCamGStreamerMessageHandler *handler);
22   void addSyncHandler(QtCamGStreamerMessageHandler *handler);
23   void removeSyncHandler(QtCamGStreamerMessageHandler *handler);
24
25   void flushMessages();
26
27 signals:
28   void error(const QString& message, int code, const QString& debug);
29   void started();
30   void stopped();
31
32 private:
33   QtCamGStreamerMessageListenerPrivate *d_ptr;
34 };
35
36 #endif /* QT_CAM_GSTREAMER_MESSAGE_LISTENER_H */