kdsoap-ws-discovery-client  0.4.0
wsdiscoveryprobejob.h
1 /* SPDX-FileCopyrightText: 2019 Casper Meijn <casper@meijn.net>
2  * SPDX-License-Identifier: GPL-3.0-or-later
3  *
4  */
5 #ifndef WSDISCOVERYPROBEJOB_H
6 #define WSDISCOVERYPROBEJOB_H
7 
8 #include "wsdiscoveryclient_export.h"
9 #include <KDSoapClient/KDQName>
10 #include <QObject>
11 #include <QTimer>
12 #include <QUrl>
13 
14 class WSDiscoveryClient;
16 
24 class WSDISCOVERYCLIENT_EXPORT WSDiscoveryProbeJob : public QObject
25 {
26  Q_OBJECT
27 public:
34 
38  QList<KDQName> typeList() const;
42  void setTypeList(const QList<KDQName> &typeList);
46  void addType(const KDQName &type);
47 
51  QList<QUrl> scopeList() const;
55  void setScopeList(const QList<QUrl> &scopeList);
59  void addScope(const QUrl &scope);
60 
64  int interval() const;
68  void setInterval(int interval);
69 
70 Q_SIGNALS:
75  void matchReceived(const WSDiscoveryTargetService &matchedService);
76 
77 public Q_SLOTS:
81  void start();
85  void stop();
86 
87  // TODO: Hide private interface
88 private Q_SLOTS:
89  void timeout();
90  void probeMatchReceived(const WSDiscoveryTargetService &probeMatchService);
91 
92 private:
93  WSDiscoveryClient *m_client;
94  QList<KDQName> m_typeList;
95  QList<QUrl> m_scopeList;
96  QTimer m_timer;
97 };
98 
99 #endif // WSDISCOVERYPROBEJOB_H
WSDiscoveryClient is a low-level helper for sending and receiving WS-Discovery messages.
Definition: wsdiscoveryclient.h:37
Periodically probe the network for WS-Discovery devices.
Definition: wsdiscoveryprobejob.h:25
void setInterval(int interval)
void setTypeList(const QList< KDQName > &typeList)
void addScope(const QUrl &scope)
QList< KDQName > typeList() const
void addType(const KDQName &type)
void setScopeList(const QList< QUrl > &scopeList)
void matchReceived(const WSDiscoveryTargetService &matchedService)
int interval() const
QList< QUrl > scopeList() const
WSDiscoveryProbeJob(WSDiscoveryClient *parent)
Definition: wsdiscoverytargetservice.h:16