CCMetadata.m 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. //
  2. // CCMetadata.m
  3. // Crypto Cloud Technology Nextcloud
  4. //
  5. // Created by Marino Faggiana on 04/09/14.
  6. // Copyright (c) 2017 TWS. All rights reserved.
  7. //
  8. // Author Marino Faggiana <m.faggiana@twsweb.it>
  9. //
  10. // This program is free software: you can redistribute it and/or modify
  11. // it under the terms of the GNU General Public License as published by
  12. // the Free Software Foundation, either version 3 of the License, or
  13. // (at your option) any later version.
  14. //
  15. // This program is distributed in the hope that it will be useful,
  16. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. // GNU General Public License for more details.
  19. //
  20. // You should have received a copy of the GNU General Public License
  21. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  22. //
  23. #import "CCMetadata.h"
  24. /*
  25. @implementation CCMetadata
  26. // override del metodo init
  27. //
  28. - (id)init {
  29. self = [super init];
  30. return self;
  31. }
  32. - (id)initWithCCMetadata:(CCMetadata *)metadata {
  33. self = [self init];
  34. return [metadata copy];
  35. }
  36. - (id)copyWithZone: (NSZone *) zone
  37. {
  38. CCMetadata *metadata = [[CCMetadata allocWithZone: zone] init];
  39. [metadata setAccount: self.account];
  40. [metadata setCryptated: self.cryptated];
  41. [metadata setDate: self.date];
  42. [metadata setDirectory: self.directory];
  43. [metadata setDirectoryID: self.directoryID];
  44. [metadata setErrorPasscode: self.errorPasscode];
  45. [metadata setFavorite: self.favorite];
  46. [metadata setFileID: self.fileID];
  47. [metadata setFileName: self.fileName];
  48. [metadata setFileNameData: self.fileNameData];
  49. [metadata setFileNamePrint: self.fileNamePrint];
  50. [metadata setIconName: self.iconName];
  51. [metadata setAssetLocalIdentifier: self.assetLocalIdentifier];
  52. [metadata setModel: self.model];
  53. [metadata setNameCurrentDevice: self.nameCurrentDevice];
  54. [metadata setPermissions: self.permissions];
  55. [metadata setProtocol: self.protocol];
  56. [metadata setRev: self.rev];
  57. [metadata setSession: self.session];
  58. [metadata setSessionError: self.sessionError];
  59. [metadata setSessionID: self.sessionID];
  60. [metadata setSessionSelector: self.sessionSelector];
  61. [metadata setSessionSelectorPost: self.sessionSelectorPost];
  62. [metadata setSessionTaskIdentifier: self.sessionTaskIdentifier];
  63. [metadata setSessionTaskIdentifierPlist: self.sessionTaskIdentifierPlist];
  64. [metadata setSize: self.size];
  65. [metadata setThumbnailExists: self.thumbnailExists];
  66. [metadata setTitle: self.title];
  67. [metadata setType: self.type];
  68. [metadata setTypeFile: self.typeFile];
  69. [metadata setUuid: self.uuid];
  70. return metadata;
  71. }
  72. // Implentation of the NSCoding protocol.
  73. -(id)initWithCoder:(NSCoder *)decoder
  74. {
  75. if (self = [self init]) {
  76. _account = [decoder decodeObjectForKey:@"account"];
  77. _cryptated = [decoder decodeBoolForKey:@"cryptated"];
  78. _date = [decoder decodeObjectForKey:@"date"];
  79. _directory = [decoder decodeBoolForKey:@"directory"];
  80. _directoryID = [decoder decodeObjectForKey:@"directoryID"];
  81. _errorPasscode = [decoder decodeBoolForKey:@"errorPasscode"];
  82. _favorite = [decoder decodeBoolForKey:@"favorite"];
  83. _fileID = [decoder decodeObjectForKey:@"fileID"];
  84. _fileName = [decoder decodeObjectForKey:@"fileName"];
  85. _fileNameData = [decoder decodeObjectForKey:@"fileNameData"];
  86. _fileNamePrint = [decoder decodeObjectForKey:@"fileNamePrint"];
  87. _iconName = [decoder decodeObjectForKey:@"iconName"];
  88. _assetLocalIdentifier = [decoder decodeObjectForKey:@"assetLocalIdentifier"];
  89. _model = [decoder decodeObjectForKey:@"model"];
  90. _nameCurrentDevice = [decoder decodeObjectForKey:@"nameCurrentDevice"];
  91. _permissions = [decoder decodeObjectForKey:@"permissions"];
  92. _protocol = [decoder decodeObjectForKey:@"protocol"];
  93. _rev = [decoder decodeObjectForKey:@"rev"];
  94. _session = [decoder decodeObjectForKey:@"session"];
  95. _sessionError = [decoder decodeObjectForKey:@"sessionError"];
  96. _sessionID = [decoder decodeObjectForKey:@"sessionID"];
  97. _sessionSelector = [decoder decodeObjectForKey:@"sessionSelector"];
  98. _sessionSelectorPost = [decoder decodeObjectForKey:@"sessionSelectorPost"];
  99. _sessionTaskIdentifier = [decoder decodeInt32ForKey:@"sessionTaskIdentifier"];
  100. _sessionTaskIdentifierPlist = [decoder decodeInt32ForKey:@"sessionTaskIdentifierPlist"];
  101. _size = [decoder decodeDoubleForKey:@"size"];
  102. _thumbnailExists = [decoder decodeBoolForKey:@"thumbnailExists"];
  103. _title = [decoder decodeObjectForKey:@"title"];
  104. _type = [decoder decodeObjectForKey:@"type"];
  105. _typeFile = [decoder decodeObjectForKey:@"typeFile"];
  106. _uuid = [decoder decodeObjectForKey:@"uuid"];
  107. };
  108. return self;
  109. }
  110. - (void)encodeWithCoder:(NSCoder *)encoder
  111. {
  112. [encoder encodeObject:_account forKey:@"account"];
  113. [encoder encodeBool:_cryptated forKey:@"cryptated"];
  114. [encoder encodeObject:_date forKey:@"date"];
  115. [encoder encodeBool:_directory forKey:@"directory"];
  116. [encoder encodeObject:_directoryID forKey:@"directoryID"];
  117. [encoder encodeBool:_errorPasscode forKey:@"errorPasscode"];
  118. [encoder encodeBool:_directory forKey:@"favorite"];
  119. [encoder encodeObject:_fileID forKey:@"fileID"];
  120. [encoder encodeObject:_fileName forKey:@"fileName"];
  121. [encoder encodeObject:_fileNameData forKey:@"fileNameData"];
  122. [encoder encodeObject:_fileNamePrint forKey:@"fileNamePrint"];
  123. [encoder encodeObject:_iconName forKey:@"iconName"];
  124. [encoder encodeObject:_assetLocalIdentifier forKey:@"assetLocalIdentifier"];
  125. [encoder encodeObject:_model forKey:@"model"];
  126. [encoder encodeObject:_nameCurrentDevice forKey:@"nameCurrentDevice"];
  127. [encoder encodeObject:_permissions forKey:@"permissions"];
  128. [encoder encodeObject:_protocol forKey:@"protocol"];
  129. [encoder encodeObject:_rev forKey:@"rev"];
  130. [encoder encodeObject:_session forKey:@"session"];
  131. [encoder encodeObject:_sessionError forKey:@"sessionError"];
  132. [encoder encodeObject:_sessionID forKey:@"sessionID"];
  133. [encoder encodeObject:_sessionSelector forKey:@"sessionSelector"];
  134. [encoder encodeObject:_sessionSelectorPost forKey:@"sessionSelectorPost"];
  135. [encoder encodeInt32:_sessionTaskIdentifier forKey:@"sessionTaskIdentifier"];
  136. [encoder encodeInt32:_sessionTaskIdentifierPlist forKey:@"sessionTaskIdentifierPlist"];
  137. [encoder encodeDouble:_size forKey:@"size"];
  138. [encoder encodeBool:_thumbnailExists forKey:@"thumbnailExists"];
  139. [encoder encodeObject:_title forKey:@"title"];
  140. [encoder encodeObject:_type forKey:@"type"];
  141. [encoder encodeObject:_typeFile forKey:@"typeFile"];
  142. [encoder encodeObject:_uuid forKey:@"uuid"];
  143. }
  144. @end
  145. */
  146. @implementation CCMetadataNet
  147. - (id)init
  148. {
  149. self = [super init];
  150. self.priority = NSOperationQueuePriorityNormal;
  151. return self;
  152. }
  153. - (id)initWithAccount:(NSString *)withAccount
  154. {
  155. self = [super init];
  156. if (self) {
  157. _account = withAccount;
  158. _priority = NSOperationQueuePriorityNormal;
  159. }
  160. return self;
  161. }
  162. - (id)copyWithZone: (NSZone *) zone
  163. {
  164. CCMetadataNet *metadataNet = [[CCMetadataNet allocWithZone: zone] init];
  165. [metadataNet setAccount: self.account];
  166. [metadataNet setAction: self.action];
  167. [metadataNet setAssetLocalIdentifier: self.assetLocalIdentifier];
  168. [metadataNet setCryptated: self.cryptated];
  169. [metadataNet setDate: self.date];
  170. [metadataNet setDelegate: self.delegate];
  171. [metadataNet setDirectory: self.directory];
  172. [metadataNet setDirectoryID: self.directoryID];
  173. [metadataNet setDirectoryIDTo: self.directoryIDTo];
  174. [metadataNet setDownloadData: self.downloadData];
  175. [metadataNet setDownloadPlist: self.downloadPlist];
  176. [metadataNet setErrorCode: self.errorCode];
  177. [metadataNet setErrorRetry: self.errorRetry];
  178. [metadataNet setExpirationTime: self.expirationTime];
  179. [metadataNet setFileID: self.fileID];
  180. [metadataNet setFileName: self.fileName];
  181. [metadataNet setFileNameTo: self.fileNameTo];
  182. [metadataNet setFileNameLocal: self.fileNameLocal];
  183. [metadataNet setFileNamePrint: self.fileNamePrint];
  184. [metadataNet setMetadata: self.metadata];
  185. [metadataNet setOptions: self.options];
  186. [metadataNet setPassword: self.password];
  187. [metadataNet setPathFolder: self.pathFolder];
  188. [metadataNet setPriority: self.priority];
  189. [metadataNet setQueue: self.queue];
  190. [metadataNet setRev:self.rev];
  191. [metadataNet setServerUrl: self.serverUrl];
  192. [metadataNet setServerUrlTo: self.serverUrlTo];
  193. [metadataNet setSelector: self.selector];
  194. [metadataNet setSelectorPost: self.selectorPost];
  195. [metadataNet setSession: self.session];
  196. [metadataNet setSessionID: self.sessionID];
  197. [metadataNet setShare: self.share];
  198. [metadataNet setShareeType: self.shareeType];
  199. [metadataNet setSharePermission: self.sharePermission];
  200. [metadataNet setSize: self.size];
  201. [metadataNet setTaskStatus: self.taskStatus];
  202. return metadataNet;
  203. }
  204. @end