CCMetadata.m 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. //
  2. // CCMetadata.m
  3. // Crypto Cloud Technology Nextcloud
  4. //
  5. // Created by Marino Faggiana on 04/09/14.
  6. // Copyright (c) 2014 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. @implementation CCMetadata
  25. // override del metodo init
  26. //
  27. - (id)init {
  28. self = [super init];
  29. return self;
  30. }
  31. - (id)initWithCCMetadata:(CCMetadata *)metadata {
  32. self = [self init];
  33. return [metadata copy];
  34. }
  35. - (id)copyWithZone: (NSZone *) zone
  36. {
  37. CCMetadata *metadata = [[CCMetadata allocWithZone: zone] init];
  38. [metadata setAccount: self.account];
  39. [metadata setCryptated: self.cryptated];
  40. [metadata setDate: self.date];
  41. [metadata setDirectory: self.directory];
  42. [metadata setDirectoryID: self.directoryID];
  43. [metadata setErrorPasscode: self.errorPasscode];
  44. [metadata setFavorite: self.favorite];
  45. [metadata setFileID: self.fileID];
  46. [metadata setFileName: self.fileName];
  47. [metadata setFileNameData: self.fileNameData];
  48. [metadata setFileNamePrint: self.fileNamePrint];
  49. [metadata setIconName: self.iconName];
  50. [metadata setAssetLocalIdentifier: self.assetLocalIdentifier];
  51. [metadata setModel: self.model];
  52. [metadata setNameCurrentDevice: self.nameCurrentDevice];
  53. [metadata setPermissions: self.permissions];
  54. [metadata setProtocol: self.protocol];
  55. [metadata setRev: self.rev];
  56. [metadata setSession: self.session];
  57. [metadata setSessionError: self.sessionError];
  58. [metadata setSessionID: self.sessionID];
  59. [metadata setSessionSelector: self.sessionSelector];
  60. [metadata setSessionSelectorPost: self.sessionSelectorPost];
  61. [metadata setSessionTaskIdentifier: self.sessionTaskIdentifier];
  62. [metadata setSessionTaskIdentifierPlist: self.sessionTaskIdentifierPlist];
  63. [metadata setSize: self.size];
  64. [metadata setThumbnailExists: self.thumbnailExists];
  65. [metadata setTitle: self.title];
  66. [metadata setType: self.type];
  67. [metadata setTypeFile: self.typeFile];
  68. [metadata setUuid: self.uuid];
  69. return metadata;
  70. }
  71. /** Implentation of the NSCoding protocol. */
  72. -(id)initWithCoder:(NSCoder *)decoder
  73. {
  74. if (self = [self init]) {
  75. _account = [decoder decodeObjectForKey:@"account"];
  76. _cryptated = [decoder decodeBoolForKey:@"cryptated"];
  77. _date = [decoder decodeObjectForKey:@"date"];
  78. _directory = [decoder decodeBoolForKey:@"directory"];
  79. _directoryID = [decoder decodeObjectForKey:@"directoryID"];
  80. _errorPasscode = [decoder decodeBoolForKey:@"errorPasscode"];
  81. _favorite = [decoder decodeBoolForKey:@"favorite"];
  82. _fileID = [decoder decodeObjectForKey:@"fileID"];
  83. _fileName = [decoder decodeObjectForKey:@"fileName"];
  84. _fileNameData = [decoder decodeObjectForKey:@"fileNameData"];
  85. _fileNamePrint = [decoder decodeObjectForKey:@"fileNamePrint"];
  86. _iconName = [decoder decodeObjectForKey:@"iconName"];
  87. _assetLocalIdentifier = [decoder decodeObjectForKey:@"assetLocalIdentifier"];
  88. _model = [decoder decodeObjectForKey:@"model"];
  89. _nameCurrentDevice = [decoder decodeObjectForKey:@"nameCurrentDevice"];
  90. _permissions = [decoder decodeObjectForKey:@"permissions"];
  91. _protocol = [decoder decodeObjectForKey:@"protocol"];
  92. _rev = [decoder decodeObjectForKey:@"rev"];
  93. _session = [decoder decodeObjectForKey:@"session"];
  94. _sessionError = [decoder decodeObjectForKey:@"sessionError"];
  95. _sessionID = [decoder decodeObjectForKey:@"sessionID"];
  96. _sessionSelector = [decoder decodeObjectForKey:@"sessionSelector"];
  97. _sessionSelectorPost = [decoder decodeObjectForKey:@"sessionSelectorPost"];
  98. _sessionTaskIdentifier = [decoder decodeInt32ForKey:@"sessionTaskIdentifier"];
  99. _sessionTaskIdentifierPlist = [decoder decodeInt32ForKey:@"sessionTaskIdentifierPlist"];
  100. _size = [decoder decodeDoubleForKey:@"size"];
  101. _thumbnailExists = [decoder decodeBoolForKey:@"thumbnailExists"];
  102. _title = [decoder decodeObjectForKey:@"title"];
  103. _type = [decoder decodeObjectForKey:@"type"];
  104. _typeFile = [decoder decodeObjectForKey:@"typeFile"];
  105. _uuid = [decoder decodeObjectForKey:@"uuid"];
  106. };
  107. return self;
  108. }
  109. - (void)encodeWithCoder:(NSCoder *)encoder
  110. {
  111. [encoder encodeObject:_account forKey:@"account"];
  112. [encoder encodeBool:_cryptated forKey:@"cryptated"];
  113. [encoder encodeObject:_date forKey:@"date"];
  114. [encoder encodeBool:_directory forKey:@"directory"];
  115. [encoder encodeObject:_directoryID forKey:@"directoryID"];
  116. [encoder encodeBool:_errorPasscode forKey:@"errorPasscode"];
  117. [encoder encodeBool:_directory forKey:@"favorite"];
  118. [encoder encodeObject:_fileID forKey:@"fileID"];
  119. [encoder encodeObject:_fileName forKey:@"fileName"];
  120. [encoder encodeObject:_fileNameData forKey:@"fileNameData"];
  121. [encoder encodeObject:_fileNamePrint forKey:@"fileNamePrint"];
  122. [encoder encodeObject:_iconName forKey:@"iconName"];
  123. [encoder encodeObject:_assetLocalIdentifier forKey:@"assetLocalIdentifier"];
  124. [encoder encodeObject:_model forKey:@"model"];
  125. [encoder encodeObject:_nameCurrentDevice forKey:@"nameCurrentDevice"];
  126. [encoder encodeObject:_permissions forKey:@"permissions"];
  127. [encoder encodeObject:_protocol forKey:@"protocol"];
  128. [encoder encodeObject:_rev forKey:@"rev"];
  129. [encoder encodeObject:_session forKey:@"session"];
  130. [encoder encodeObject:_sessionError forKey:@"sessionError"];
  131. [encoder encodeObject:_sessionID forKey:@"sessionID"];
  132. [encoder encodeObject:_sessionSelector forKey:@"sessionSelector"];
  133. [encoder encodeObject:_sessionSelectorPost forKey:@"sessionSelectorPost"];
  134. [encoder encodeInt32:_sessionTaskIdentifier forKey:@"sessionTaskIdentifier"];
  135. [encoder encodeInt32:_sessionTaskIdentifierPlist forKey:@"sessionTaskIdentifierPlist"];
  136. [encoder encodeDouble:_size forKey:@"size"];
  137. [encoder encodeBool:_thumbnailExists forKey:@"thumbnailExists"];
  138. [encoder encodeObject:_title forKey:@"title"];
  139. [encoder encodeObject:_type forKey:@"type"];
  140. [encoder encodeObject:_typeFile forKey:@"typeFile"];
  141. [encoder encodeObject:_uuid forKey:@"uuid"];
  142. }
  143. @end
  144. @implementation CCMetadataNet
  145. - (id)init
  146. {
  147. self = [super init];
  148. self.priority = NSOperationQueuePriorityNormal;
  149. return self;
  150. }
  151. - (id)initWithAccount:(NSString *)withAccount
  152. {
  153. self = [super init];
  154. if (self) {
  155. _account = withAccount;
  156. _priority = NSOperationQueuePriorityNormal;
  157. }
  158. return self;
  159. }
  160. - (id)copyWithZone: (NSZone *) zone
  161. {
  162. CCMetadataNet *metadataNet = [[CCMetadataNet allocWithZone: zone] init];
  163. [metadataNet setAccount: self.account];
  164. [metadataNet setAction: self.action];
  165. [metadataNet setAssetLocalIdentifier: self.assetLocalIdentifier];
  166. [metadataNet setCryptated: self.cryptated];
  167. [metadataNet setDate: self.date];
  168. [metadataNet setDelegate: self.delegate];
  169. [metadataNet setDirectory: self.directory];
  170. [metadataNet setDirectoryID: self.directoryID];
  171. [metadataNet setDirectoryIDTo: self.directoryIDTo];
  172. [metadataNet setDownloadData: self.downloadData];
  173. [metadataNet setDownloadPlist: self.downloadPlist];
  174. [metadataNet setErrorCode: self.errorCode];
  175. [metadataNet setErrorRetry: self.errorRetry];
  176. [metadataNet setExpirationTime: self.expirationTime];
  177. [metadataNet setFileID: self.fileID];
  178. [metadataNet setFileName: self.fileName];
  179. [metadataNet setFileNameTo: self.fileNameTo];
  180. [metadataNet setFileNameLocal: self.fileNameLocal];
  181. [metadataNet setFileNamePrint: self.fileNamePrint];
  182. [metadataNet setMetadata: self.metadata];
  183. [metadataNet setOptions: self.options];
  184. [metadataNet setPassword: self.password];
  185. [metadataNet setPathFolder: self.pathFolder];
  186. [metadataNet setPriority: self.priority];
  187. [metadataNet setQueue: self.queue];
  188. [metadataNet setRev:self.rev];
  189. [metadataNet setServerUrl: self.serverUrl];
  190. [metadataNet setServerUrlTo: self.serverUrlTo];
  191. [metadataNet setSelector: self.selector];
  192. [metadataNet setSelectorPost: self.selectorPost];
  193. [metadataNet setSession: self.session];
  194. [metadataNet setSessionID: self.sessionID];
  195. [metadataNet setShare: self.share];
  196. [metadataNet setShareeType: self.shareeType];
  197. [metadataNet setSharePermission: self.sharePermission];
  198. [metadataNet setSize: self.size];
  199. [metadataNet setTaskStatus: self.taskStatus];
  200. return metadataNet;
  201. }
  202. @end