|
@@ -34,13 +34,16 @@ import NCCommunication
|
|
|
|
|
|
private var downloadQueue = Queuer(name: "downloadQueue", maxConcurrentOperationCount: 5, qualityOfService: .default)
|
|
|
private let readFolderSyncQueue = Queuer(name: "readFolderSyncQueue", maxConcurrentOperationCount: 1, qualityOfService: .default)
|
|
|
+ private let createFolderQueue = Queuer(name: "createFolderQueue", maxConcurrentOperationCount: 1, qualityOfService: .default)
|
|
|
private let downloadThumbnailQueue = Queuer(name: "downloadThumbnailQueue", maxConcurrentOperationCount: 10, qualityOfService: .default)
|
|
|
private let readFileForMediaQueue = Queuer(name: "readFileForMediaQueue", maxConcurrentOperationCount: 10, qualityOfService: .default)
|
|
|
+
|
|
|
private var timerReadFileForMediaQueue: Timer?
|
|
|
|
|
|
@objc func cancelAllQueue() {
|
|
|
downloadCancelAll()
|
|
|
readFolderSyncCancelAll()
|
|
|
+ createFolderCancelAll()
|
|
|
downloadThumbnailCancelAll()
|
|
|
readFileForMediaCancelAll()
|
|
|
}
|
|
@@ -58,6 +61,7 @@ import NCCommunication
|
|
|
}
|
|
|
|
|
|
// Read Folder Synchronize
|
|
|
+
|
|
|
@objc func readFolderSync(serverUrl: String, selector: String ,account: String) {
|
|
|
readFolderSyncQueue.addOperation(NCOperationReadFolderSync.init(serverUrl: serverUrl, selector: selector, account: account))
|
|
|
}
|
|
@@ -65,6 +69,15 @@ import NCCommunication
|
|
|
readFolderSyncQueue.cancelAll()
|
|
|
}
|
|
|
|
|
|
+ // Create Folder
|
|
|
+
|
|
|
+ @objc func createFolder(filename: String, serverUrl: String, account: String, url: String, overwrite: Bool) {
|
|
|
+ createFolderQueue.addOperation(NCOperationCreaterFolder.init(filename: filename, serverUrl: serverUrl, account: account, url: url, overwrite: overwrite))
|
|
|
+ }
|
|
|
+ @objc func createFolderCancelAll() {
|
|
|
+ createFolderQueue.cancelAll()
|
|
|
+ }
|
|
|
+
|
|
|
// Download Thumbnail
|
|
|
|
|
|
@objc func downloadThumbnail(metadata: tableMetadata, activeUrl: String, view: Any, indexPath: IndexPath) {
|
|
@@ -182,6 +195,35 @@ class NCOperationReadFolderSync: ConcurrentOperation {
|
|
|
|
|
|
//MARK: -
|
|
|
|
|
|
+class NCOperationCreaterFolder: ConcurrentOperation {
|
|
|
+
|
|
|
+ private var filename: String
|
|
|
+ private var serverUrl: String
|
|
|
+ private var account: String
|
|
|
+ private var url: String
|
|
|
+ private var overwrite: Bool
|
|
|
+
|
|
|
+ init(filename: String, serverUrl: String, account: String, url: String, overwrite: Bool) {
|
|
|
+ self.filename = filename
|
|
|
+ self.serverUrl = serverUrl
|
|
|
+ self.account = account
|
|
|
+ self.url = url
|
|
|
+ self.overwrite = overwrite
|
|
|
+ }
|
|
|
+
|
|
|
+ override func start() {
|
|
|
+ if isCancelled {
|
|
|
+ self.finish()
|
|
|
+ } else {
|
|
|
+ NCNetworking.shared.createFolder(fileName: filename, serverUrl: serverUrl, account: account, url: url, overwrite: overwrite) { (errorCode, errorDescription) in
|
|
|
+ self.finish()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//MARK: -
|
|
|
+
|
|
|
class NCOperationDownloadThumbnail: ConcurrentOperation {
|
|
|
|
|
|
var metadata: tableMetadata
|