struct EE::UI::Models::FileSystemModel::Node

#include <filesystemmodel.hpp>

struct Node {
    // construction

    Node(const std::string& rootPath, const FileSystemModel& model, const std::shared_ptr<ThreadPool>& threadPool = {});
    Node(FileInfo&& info, Node* parent);
    ~Node();

    // methods

    const std::string& getName() const;
    const String& getDisplayName() const;
    Node* getParent() const;
    const FileInfo& info() const;
    const std::string& fullPath() const;
    const std::string& getMimeType() const;
    size_t childCount() const;
    const Node& getChild(const size_t& index);
    void invalidate();
    bool inParentTree(Node* parent) const;
    Node* findChildName(const std::string& name, const FileSystemModel& model, bool forceRefresh = false);
    Int64 findChildRowFromInternalData(void* internalData, const FileSystemModel& model, bool forceRefresh = false);
    Int64 findChildRowFromName(const std::string& name, const FileSystemModel& model, bool forceRefresh = false);
    bool refresh(const FileSystemModel& model);
    FileSystemModel::Node* childWithPathExists(const std::string& path);
    Uint32 getHash() const;
};