45 lines
890 B
C++
45 lines
890 B
C++
#ifndef FUSEINTERFACE_H
|
|
#define FUSEINTERFACE_H
|
|
|
|
#include <QObject>
|
|
#include <QDir>
|
|
#include <QSocketNotifier>
|
|
#include <QDateTime>
|
|
|
|
extern "C" {
|
|
#define FUSE_USE_VERSION 31
|
|
|
|
#include <fuse3/fuse.h>
|
|
#include <fuse3/fuse_lowlevel.h>
|
|
#include <fcntl.h>
|
|
#include <stdarg.h>
|
|
#include <unistd.h>
|
|
}
|
|
|
|
class ArchiveManager;
|
|
class FSProxy;
|
|
class Database;
|
|
class FuseInterface : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
int m_fuse_id;
|
|
struct fuse *m_fuse;
|
|
struct fuse_session *m_fuse_session;
|
|
|
|
ArchiveManager *m_archive;
|
|
FSProxy *m_proxy;
|
|
Database *m_database;
|
|
|
|
QMap< QString, QStringList > m_dircache;
|
|
QMap<QString, struct stat *> m_shortcuts;
|
|
QSocketNotifier *m_notifier;
|
|
|
|
public:
|
|
explicit FuseInterface(QObject *parent = nullptr);
|
|
~FuseInterface();
|
|
|
|
signals:
|
|
};
|
|
|
|
#endif // FUSEINTERFACE_H
|