4 * This file is part of CameraPlus.
6 * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 #ifndef QT_CAM_NOTIFICATIONS_P_H
24 #define QT_CAM_NOTIFICATIONS_P_H
27 #include "qtcamgstreamermessagehandler.h"
28 #include "qtcamgstreamermessagelistener.h"
29 #include "qtcamnotifications.h"
30 #ifndef GST_USE_UNSTABLE_API
31 #define GST_USE_UNSTABLE_API
32 #endif /* GST_USE_UNSTABLE_API */
33 #include <gst/interfaces/photography.h>
35 class QtCamNotificationsPrivate : public QObject {
40 QPointer<QtCamGStreamerMessageHandler> imageStart;
41 QPointer<QtCamGStreamerMessageHandler> imageEnd;
43 QPointer<QtCamGStreamerMessageHandler> videoDone;
45 QPointer<QtCamGStreamerMessageHandler> af;
47 QPointer<QtCamGStreamerMessageListener> listener;
49 QtCamNotifications *q_ptr;
52 void autoFocusStatusChanged(GstMessage *message) {
53 if (!message || !gst_message_get_structure(message)) {
57 const GstStructure *s = gst_message_get_structure(message);
58 int st = GST_PHOTOGRAPHY_FOCUS_STATUS_NONE;
59 if (gst_structure_get_int(s, "status", &st)) {
60 if (st == GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS) {
61 emit q_ptr->autoFocusAcquired();
67 #endif /* QT_CAM_NOTIFICATIONS_P_H */