File indexing completed on 2024-05-12 04:42:00

0001 /* SPDX-FileCopyrightText: 2019 Casper Meijn <casper@meijn.net>
0002  * SPDX-License-Identifier: GPL-3.0-or-later
0003  *
0004  */
0005 #ifndef ONVIFDISCOVER_H
0006 #define ONVIFDISCOVER_H
0007 
0008 #include <QObject>
0009 
0010 class WSDiscoveryClient;
0011 class WSDiscoveryProbeJob;
0012 class WSDiscoveryTargetService;
0013 class WSDiscoveryServiceAggregator;
0014 
0015 class OnvifDiscover : public QObject
0016 {
0017     Q_OBJECT
0018 public:
0019     explicit OnvifDiscover(QObject *parent = nullptr);
0020     ~OnvifDiscover();
0021 
0022 public Q_SLOTS:
0023     void start();
0024 
0025 private Q_SLOTS:
0026     void matchReceived(const QSharedPointer<WSDiscoveryTargetService> &matchedService);
0027 
0028 private:
0029     WSDiscoveryClient *m_client;
0030     WSDiscoveryProbeJob *m_probeJob;
0031     WSDiscoveryServiceAggregator *m_aggregator;
0032 };
0033 
0034 #endif // ONVIFDISCOVER_H