File indexing completed on 2024-04-28 04:58:00

0001 /*
0002     SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003     SPDX-FileCopyrightText: 2019 Harald Sitter <sitter@kde.org>
0004 */
0005 
0006 #ifndef DISCOVERY_H
0007 #define DISCOVERY_H
0008 
0009 #include <KIO/UDSEntry>
0010 #include <QSharedPointer>
0011 
0012 class Discovery
0013 {
0014 public:
0015     typedef QSharedPointer<Discovery> Ptr;
0016 
0017     Discovery();
0018     virtual ~Discovery();
0019     virtual QString udsName() const = 0;
0020     virtual KIO::UDSEntry toEntry() const = 0;
0021 };
0022 
0023 class Discoverer
0024 {
0025 public:
0026     Discoverer();
0027     virtual ~Discoverer();
0028 
0029     virtual void start() = 0;
0030     virtual void stop() = 0;
0031     virtual bool isFinished() const = 0;
0032 
0033     // Implement as signal!
0034     virtual void newDiscovery(Discovery::Ptr discovery) = 0;
0035     virtual void finished() = 0;
0036 };
0037 
0038 #endif // DISCOVERY_H