/* SPDX-FileCopyrightText: 2007 Ivan Cukic SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include class KDirWatch; /** * This class evaluates the basic expressions given in the interface. */ class FileBrowserEngine : public Plasma5Support::DataEngine { Q_OBJECT public: FileBrowserEngine(QObject *parent); ~FileBrowserEngine() override; protected: bool sourceRequestEvent(const QString &path) override; void init(); protected Q_SLOTS: void dirDirty(const QString &path); void dirCreated(const QString &path); void dirDeleted(const QString &path); private: enum EventType { INIT, DIRTY, CREATED, DELETED, }; enum ObjectType { NOTHING, FILE, DIRECTORY, }; KDirWatch *const m_dirWatch; void updateData(const QString &path, EventType event); void clearData(const QString &path); // QMap < QString, QStringList > m_regiteredListeners; };