#ifndef NATIVEIO_H #define NATIVEIO_H #include #include #include class QWebPage; // class that exposes filesystem to web environment class NativeIO : public QObject { Q_OBJECT private: QWebPage* webpage; QString errstr; const QDir runtimedir; const QDir cwd; const QMap pathPermissions; public: typedef QMap PathMap; PathMap v; NativeIO(QObject* parent, const QDir& runtimedir, const QDir& cwd, const PathMap& pathPermissions = PathMap()); public slots: /** * Return the last error. */ QString error() { return errstr; } QString readFileSync(const QString& path, const QString& encoding); QString read(const QString& path, int offset, int length); void writeFile(const QString& path, const QString& data); void unlink(const QString& path); int getFileSize(const QString& path); void exit(int exitcode); QString currentDirectory() const; QStringList libraryPaths() const; }; #endif