/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef FILEAPI_H_SDASDASDAS #define FILEAPI_H_SDASDASDAS #include #include #include #include class File: public CPlugin { Q_OBJECT public: explicit File(Cordova *cordova); virtual const QString fullName() override { return File::fullID(); } virtual const QString shortName() override { return "File"; } static const QString fullID() { return "File"; } QPair resolveURI(const QString &uri); QPair resolveURI(int ecId, const QString &uri); QVariantMap file2map(const QFileInfo &dir); public slots: void requestFileSystem(int scId, int ecId, unsigned short type, unsigned long long size); void resolveLocalFileSystemURI(int scId, int ecId, const QString&); void getDirectory(int scId, int ecId, const QString&, const QString&, const QVariantMap&); void getFile(int scId, int ecId, const QString &parentPath, const QString &rpath, const QVariantMap &options); void readEntries(int scId, int ecId, const QString &uri); void getParent(int scId, int ecId, const QString &uri); void copyTo(int scId, int ecId, const QString& source, const QString& destinationDir, const QString& newName); void moveTo(int scId, int ecId, const QString& source, const QString& destinationDir, const QString& newName); void getFileMetadata(int scId, int ecId, const QString &); void getMetadata(int scId, int ecId, const QString &); void remove(int scId, int ecId, const QString &); void removeRecursively(int scId, int ecId, const QString&); void write(int scId, int ecId, const QString&, const QString&, unsigned long long position, bool binary); void readAsText(int scId, int ecId, const QString&, const QString &encoding, int sliceStart, int sliceEnd); void readAsDataURL(int scId, int ecId, const QString&, int sliceStart, int sliceEnd); void readAsArrayBuffer(int scId, int ecId, const QString&, int sliceStart, int sliceEnd); void readAsBinaryString(int scId, int ecId, const QString&, int sliceStart, int sliceEnd); void truncate(int scId, int ecId, const QString&, unsigned long long size); void _getLocalFilesystemPath(int scId, int ecId, const QString&); private: void moveFile(int scId, int ecId,const QString&, const QString&, const QString&); void moveDir(int scId, int ecId,const QString&, const QString&, const QString&); bool copyFile(int scId, int ecId, const QString&, const QString&, const QString&); void copyDir(int scId, int ecId, const QString&, const QString&, const QString&); bool rmDir(const QDir &dir); bool copyFolder(const QString&, const QString&); QPair GetRelativePath(const QFileInfo &fileInfo); QVariantMap dir2map(const QDir &dir); QMimeDatabase _db; const QDir _persistentDir; QNetworkAccessManager _manager; }; #endif