-
-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Moved archive download interface files and converted documetnation to…
… doxygen
- Loading branch information
1 parent
8332e41
commit bf8ad07
Showing
5 changed files
with
122 additions
and
137 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
// | ||
// ArchiveDownloadInterface.h | ||
// libraries/script-engine/src | ||
// | ||
// Created by Elisa Lupin-Jimenez on 6/28/16. | ||
// Copyright 2016 High Fidelity, Inc. | ||
// Copyright 2023 Overte e.V. | ||
// | ||
// Distributed under the Apache License, Version 2.0. | ||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html | ||
// | ||
|
||
/// @addtogroup Interface | ||
/// @{ | ||
|
||
#ifndef hifi_ArchiveDownloadInterface_h | ||
#define hifi_ArchiveDownloadInterface_h | ||
|
||
#include <QtCore/QObject> | ||
#include <QtCore/QUrl> | ||
#include <QFileInfo> | ||
#include <QString> | ||
|
||
/** | ||
* @brief The ArchiveDownloadInterface API provides some facilities for working with the file system. | ||
*/ | ||
class ArchiveDownloadInterface : public QObject { | ||
Q_OBJECT | ||
|
||
public: | ||
ArchiveDownloadInterface(QObject* parent); | ||
|
||
public slots: | ||
|
||
/** | ||
* @brief Extracts a filename from a URL, where the filename is specified in the query part of the URL as filename=. | ||
* @param url - The URL to extract the filename from. | ||
* @return The filename specified in the URL; an empty string if no filename is specified. | ||
*/ | ||
QString convertUrlToPath(QUrl url); | ||
|
||
/** | ||
* @brief Unzips a file in the local file system to a new, unique temporary directory. | ||
* @param path - The path of the zip file in the local file system. May have a leading "file:///". | ||
* Need not have a ".zip" extension if it is in a temporary directory (as created by | ||
* getTempDir). | ||
* @param url - Not used. | ||
* @param autoAdd - Not used by user scripts. The value is simply passed through to the | ||
* unzipResult signal. | ||
* @param isZip - Set to true if path has a ".zip" extension, | ||
* false if it doesn't (but should still be treated as a zip file). | ||
* @param isBlocks - Not used by user scripts. The value is simply passed through to the | ||
* unzipResult signal. | ||
* @example (Old example from JS, needs to be converted) | ||
* Select and unzip a file. | ||
* File.unzipResult.connect(function (zipFile, unzipFiles, autoAdd, isZip, isBlocks) { | ||
* print("File.unzipResult()"); | ||
* print("- zipFile: " + zipFile); | ||
* print("- unzipFiles(" + unzipFiles.length + "): " + unzipFiles); | ||
* print("- autoAdd: " + autoAdd); | ||
* print("- isZip: " + isZip); | ||
* print("- isBlocks: " + isBlocks); | ||
* }); | ||
* | ||
* var zipFile = Window.browse("Select a Zip File", "", "*.zip"); | ||
* if (zipFile) { | ||
* File.runUnzip(zipFile, "", false, true, false); | ||
* } else { | ||
* print("Zip file not selected."); | ||
* } | ||
*/ | ||
void runUnzip(QString path, QUrl url, bool autoAdd, bool isZip, bool isBlocks); | ||
|
||
/** | ||
* Creates a new, unique directory for temporary use. | ||
* @return The path of the newly created temporary directory. | ||
*/ | ||
QString getTempDir(); | ||
|
||
signals: | ||
|
||
/** | ||
* Triggered when runUnzip completes. | ||
* @param zipFile - The file that was unzipped. | ||
* @param unzipFiles - The paths of the unzipped files in a newly created temporary directory. Includes entries | ||
* for any subdirectories created. An empty array if the zipFile could not be unzipped. | ||
* @param autoAdd - The value that runUnzip was called with. | ||
* @param isZip - true if runUnzip was called with isZip == true, | ||
* unless there is no FBX or OBJ file in the unzipped file(s) in which case the value is false. | ||
* @param isBlocks - The value that runUnzip was called with. | ||
*/ | ||
void unzipResult(QString zipFile, QStringList unzipFile, bool autoAdd, bool isZip, bool isBlocks); | ||
|
||
private: | ||
bool isTempDir(QString tempDir); | ||
bool hasModel(QStringList fileList); | ||
QStringList unzipFile(QString path, QString tempDir); | ||
void recursiveFileScan(QFileInfo file, QString* dirName); | ||
void downloadZip(QString path, const QString link); | ||
|
||
}; | ||
|
||
#endif // hifi_ArchiveDownloadInterface_h | ||
|
||
/// @} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.