File indexing completed on 2024-07-21 10:07:49

0001 /* SPDX-FileCopyrightText: 2019 Casper Meijn <casper@meijn.net>
0002  * SPDX-License-Identifier: GPL-3.0-or-later
0003  *
0004  */
0005 #ifndef WSDISCOVERYTARGETSERVICE_H
0006 #define WSDISCOVERYTARGETSERVICE_H
0007 
0008 #include "wsdiscoveryclient_export.h"
0009 #include <KDSoapClient/KDQName>
0010 #include <QDateTime>
0011 #include <QUrl>
0012 
0013 class WSDiscoveryTargetServiceData;
0014 
0015 class WSDISCOVERYCLIENT_EXPORT WSDiscoveryTargetService
0016 {
0017 public:
0018     explicit WSDiscoveryTargetService();
0019     explicit WSDiscoveryTargetService(const QString &endpointReference);
0020     WSDiscoveryTargetService(const WSDiscoveryTargetService &other);
0021     ~WSDiscoveryTargetService();
0022 
0023     void setEndpointReference(const QString &endpointReference);
0024     QString endpointReference() const;
0025     QList<KDQName> typeList() const;
0026     void setTypeList(const QList<KDQName> &typeList);
0027     QList<QUrl> scopeList() const;
0028     void setScopeList(const QList<QUrl> &scopeList);
0029     QList<QUrl> xAddrList() const;
0030     void setXAddrList(const QList<QUrl> &xAddrList);
0031     QDateTime lastSeen() const;
0032     void setLastSeen(const QDateTime &lastSeen);
0033     void updateLastSeen();
0034 
0035     bool isMatchingType(const KDQName &matchingType) const;
0036     bool isMatchingScope(const QUrl &matchingScope) const;
0037 
0038 private:
0039     QSharedDataPointer<WSDiscoveryTargetServiceData> d;
0040 };
0041 
0042 #endif // WSDISCOVERYTARGETSERVICE_H