File indexing completed on 2024-04-21 05:48:32

0001 /***********************************************************************
0002  * SPDX-FileCopyrightText: 2003-2004 Max Howell <max.howell@methylblue.com>
0003  * SPDX-FileCopyrightText: 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
0004  * SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007  ***********************************************************************/
0008 
0009 #pragma once
0010 
0011 #include <memory>
0012 
0013 #include <KDirLister>
0014 
0015 #include "fileTree.h"
0016 
0017 namespace Filelight
0018 {
0019 class ScanManager;
0020 struct Store;
0021 
0022 class RemoteLister : public KDirLister
0023 {
0024     Q_OBJECT
0025 public:
0026     RemoteLister(const QUrl &url, ScanManager *parent);
0027     ~RemoteLister() override;
0028 
0029 Q_SIGNALS:
0030     void branchCompleted(std::shared_ptr<Folder> tree);
0031 
0032 private Q_SLOTS:
0033     void onCompleted();
0034     void onCanceled();
0035 
0036 private:
0037     std::shared_ptr<Store> m_root;
0038     std::shared_ptr<Store> m_store;
0039     ScanManager *m_manager;
0040     Q_DISABLE_COPY_MOVE(RemoteLister)
0041 };
0042 } // namespace Filelight