20        DIRS = DRIVE | DIR | SYMLINK | SPECIAL,
 
   24    Q_DECLARE_FLAGS(TYPES, TYPE)
 
   31    enum class ColumnValue {
 
   41    [[nodiscard]] 
static QString HeaderData(
int section);
 
   42    [[nodiscard]] QVariant Data(
int column);
 
   44    [[nodiscard]] 
int ChildCount();
 
   45    [[nodiscard]] 
static int ColumnCount();
 
   53    int RemoveChild(
int index);
 
   57    [[nodiscard]] 
int IndexOf(
const QString& szPath);
 
   58    [[nodiscard]] 
int IndexOfParent();
 
   66    [[nodiscard]] 
const State GetState() 
const;
 
   67    void SetState(State s);
 
   69    [[nodiscard]] QString GetPath();
 
   70    [[nodiscard]] QString GetName();
 
   72    [[nodiscard]] quint64 GetSize();
 
   73    void SetSize(quint64 size);
 
   75    [[nodiscard]] TYPES GetType();
 
   76    [[nodiscard]] 
bool IsDir();
 
   77    [[nodiscard]] QIcon Icon();
 
   79    [[nodiscard]] QDateTime GetCreateTime();
 
   80    void SetCreateTime(
const QDateTime &date);
 
   81    [[nodiscard]] QDateTime GetLastModified();
 
   82    void SetLastModified(
const QDateTime& date);
 
   84    void SetPermissions(QFileDevice::Permissions privileges);
 
   85    [[nodiscard]] QFileDevice::Permissions GetPermissions();
 
   87    [[nodiscard]] QString GetOwner();
 
   88    void SetOwner(QString szOwner);
 
   92    QVector<CRemoteFileSystem*> m_vChild;
 
   96    QDateTime m_createTime;
 
   97    QDateTime m_lastModifed;
 
   98    QFileDevice::Permissions m_Permissions;
 
 
  109        QObject *parent = 
nullptr,
 
  110        CRemoteFileSystem::TYPES filter = CRemoteFileSystem::TYPE::ALL
 
  114    QModelIndex SetRootPath(
const QString &szPath);
 
  116    [[nodiscard]] 
CRemoteFileSystem* GetRemoteFileSystemFromIndex(
const QModelIndex &index) 
const;
 
  117    [[nodiscard]] CRemoteFileSystem::TYPES GetFilter();
 
  119    void CreateDir(QModelIndex index, 
const QString& dir);
 
  120    void RemoveDir(QModelIndex index);
 
  122    QVariant headerData(
int section,
 
  123                        Qt::Orientation orientation,
 
  124                        int role = Qt::DisplayRole) 
const override;
 
  127    [[nodiscard]] QModelIndex index(
const QString& szPath) 
const;
 
  128    QModelIndex index(
int row, 
int column, 
const QModelIndex &parent = QModelIndex()) 
const override;
 
  129    QModelIndex parent(
const QModelIndex &index) 
const override;
 
  131    int rowCount(
const QModelIndex &parent = QModelIndex()) 
const override;
 
  132    int columnCount(
const QModelIndex &parent = QModelIndex()) 
const override;
 
  134    virtual Qt::ItemFlags flags(
const QModelIndex &index) 
const override;
 
  135    virtual bool setData(
const QModelIndex &index, 
const QVariant &value, 
int role) 
override;
 
  136    QVariant data(
const QModelIndex &index, 
int role = Qt::DisplayRole) 
const override;
 
  137    virtual void fetchMore(
const QModelIndex &parent) 
override;
 
  138    virtual bool canFetchMore(
const QModelIndex &parent) 
const override;
 
  142    void sigMakeDir(
const QString& dir);
 
  143    void sigRemoveDir(
const QString& szPath);
 
  144    void sigRemoveFile(
const QString& szFile);
 
  145    void sigRename(
const QString& oldName, 
const QString& newName);
 
  148                       QVector<QSharedPointer<CRemoteFileSystem> > contents,
 
  153    CRemoteFileSystem::TYPES m_Filter;
 
  154    QList<CRemoteFileSystem*> m_GetFolder;