CCMetadata.m 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  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 setDateRecord: self.dateRecord];
  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 setLocalIdentifier: self.localIdentifier];
  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. _dateRecord = [decoder decodeObjectForKey:@"dateRecord"];
  80. _directory = [decoder decodeBoolForKey:@"directory"];
  81. _directoryID = [decoder decodeObjectForKey:@"directoryID"];
  82. _errorPasscode = [decoder decodeBoolForKey:@"errorPasscode"];
  83. _favorite = [decoder decodeBoolForKey:@"favorite"];
  84. _fileID = [decoder decodeObjectForKey:@"fileID"];
  85. _fileName = [decoder decodeObjectForKey:@"fileName"];
  86. _fileNameData = [decoder decodeObjectForKey:@"fileNameData"];
  87. _fileNamePrint = [decoder decodeObjectForKey:@"fileNamePrint"];
  88. _iconName = [decoder decodeObjectForKey:@"iconName"];
  89. _localIdentifier = [decoder decodeObjectForKey:@"localIdentifier"];
  90. _model = [decoder decodeObjectForKey:@"model"];
  91. _nameCurrentDevice = [decoder decodeObjectForKey:@"nameCurrentDevice"];
  92. _permissions = [decoder decodeObjectForKey:@"permissions"];
  93. _protocol = [decoder decodeObjectForKey:@"protocol"];
  94. _rev = [decoder decodeObjectForKey:@"rev"];
  95. _session = [decoder decodeObjectForKey:@"session"];
  96. _sessionError = [decoder decodeObjectForKey:@"sessionError"];
  97. _sessionID = [decoder decodeObjectForKey:@"sessionID"];
  98. _sessionSelector = [decoder decodeObjectForKey:@"sessionSelector"];
  99. _sessionSelectorPost = [decoder decodeObjectForKey:@"sessionSelectorPost"];
  100. _sessionTaskIdentifier = [decoder decodeInt32ForKey:@"sessionTaskIdentifier"];
  101. _sessionTaskIdentifierPlist = [decoder decodeInt32ForKey:@"sessionTaskIdentifierPlist"];
  102. _size = [decoder decodeDoubleForKey:@"size"];
  103. _thumbnailExists = [decoder decodeBoolForKey:@"thumbnailExists"];
  104. _title = [decoder decodeObjectForKey:@"title"];
  105. _type = [decoder decodeObjectForKey:@"type"];
  106. _typeFile = [decoder decodeObjectForKey:@"typeFile"];
  107. _uuid = [decoder decodeObjectForKey:@"uuid"];
  108. };
  109. return self;
  110. }
  111. - (void)encodeWithCoder:(NSCoder *)encoder
  112. {
  113. [encoder encodeObject:_account forKey:@"account"];
  114. [encoder encodeBool:_cryptated forKey:@"cryptated"];
  115. [encoder encodeObject:_date forKey:@"date"];
  116. [encoder encodeObject:_dateRecord forKey:@"dateRecord"];
  117. [encoder encodeBool:_directory forKey:@"directory"];
  118. [encoder encodeObject:_directoryID forKey:@"directoryID"];
  119. [encoder encodeBool:_errorPasscode forKey:@"errorPasscode"];
  120. [encoder encodeBool:_directory forKey:@"favorite"];
  121. [encoder encodeObject:_fileID forKey:@"fileID"];
  122. [encoder encodeObject:_fileName forKey:@"fileName"];
  123. [encoder encodeObject:_fileNameData forKey:@"fileNameData"];
  124. [encoder encodeObject:_fileNamePrint forKey:@"fileNamePrint"];
  125. [encoder encodeObject:_iconName forKey:@"iconName"];
  126. [encoder encodeObject:_localIdentifier forKey:@"localIdentifier"];
  127. [encoder encodeObject:_model forKey:@"model"];
  128. [encoder encodeObject:_nameCurrentDevice forKey:@"nameCurrentDevice"];
  129. [encoder encodeObject:_permissions forKey:@"permissions"];
  130. [encoder encodeObject:_protocol forKey:@"protocol"];
  131. [encoder encodeObject:_rev forKey:@"rev"];
  132. [encoder encodeObject:_session forKey:@"session"];
  133. [encoder encodeObject:_sessionError forKey:@"sessionError"];
  134. [encoder encodeObject:_sessionID forKey:@"sessionID"];
  135. [encoder encodeObject:_sessionSelector forKey:@"sessionSelector"];
  136. [encoder encodeObject:_sessionSelectorPost forKey:@"sessionSelectorPost"];
  137. [encoder encodeInt32:_sessionTaskIdentifier forKey:@"sessionTaskIdentifier"];
  138. [encoder encodeInt32:_sessionTaskIdentifierPlist forKey:@"sessionTaskIdentifierPlist"];
  139. [encoder encodeDouble:_size forKey:@"size"];
  140. [encoder encodeBool:_thumbnailExists forKey:@"thumbnailExists"];
  141. [encoder encodeObject:_title forKey:@"title"];
  142. [encoder encodeObject:_type forKey:@"type"];
  143. [encoder encodeObject:_typeFile forKey:@"typeFile"];
  144. [encoder encodeObject:_uuid forKey:@"uuid"];
  145. }
  146. @end
  147. @implementation CCMetadataNet
  148. - (id)init
  149. {
  150. self = [super init];
  151. self.priority = NSOperationQueuePriorityNormal;
  152. return self;
  153. }
  154. - (id)initWithAccount:(NSString *)withAccount
  155. {
  156. self = [super init];
  157. if (self) {
  158. _account = withAccount;
  159. _priority = NSOperationQueuePriorityNormal;
  160. }
  161. return self;
  162. }
  163. - (id)copyWithZone: (NSZone *) zone
  164. {
  165. CCMetadataNet *metadataNet = [[CCMetadataNet allocWithZone: zone] init];
  166. [metadataNet setAccount: self.account];
  167. [metadataNet setAction: self.action];
  168. [metadataNet setIdentifier: self.identifier];
  169. [metadataNet setCryptated: self.cryptated];
  170. [metadataNet setDate: self.date];
  171. [metadataNet setDelegate: self.delegate];
  172. [metadataNet setDirectory: self.directory];
  173. [metadataNet setDirectoryID: self.directoryID];
  174. [metadataNet setDirectoryIDTo: self.directoryIDTo];
  175. [metadataNet setDownloadData: self.downloadData];
  176. [metadataNet setDownloadPlist: self.downloadPlist];
  177. [metadataNet setErrorCode: self.errorCode];
  178. [metadataNet setErrorRetry: self.errorRetry];
  179. [metadataNet setExpirationTime: self.expirationTime];
  180. [metadataNet setFileID: self.fileID];
  181. [metadataNet setFileName: self.fileName];
  182. [metadataNet setFileNameTo: self.fileNameTo];
  183. [metadataNet setFileNameLocal: self.fileNameLocal];
  184. [metadataNet setFileNamePrint: self.fileNamePrint];
  185. [metadataNet setMetadata: self.metadata];
  186. [metadataNet setOptions: self.options];
  187. [metadataNet setPassword: self.password];
  188. [metadataNet setPathFolder: self.pathFolder];
  189. [metadataNet setPriority: self.priority];
  190. [metadataNet setQueue: self.queue];
  191. [metadataNet setRev:self.rev];
  192. [metadataNet setServerUrl: self.serverUrl];
  193. [metadataNet setServerUrlTo: self.serverUrlTo];
  194. [metadataNet setSelector: self.selector];
  195. [metadataNet setSelectorPost: self.selectorPost];
  196. [metadataNet setSession: self.session];
  197. [metadataNet setSessionID: self.sessionID];
  198. [metadataNet setShare: self.share];
  199. [metadataNet setShareeType: self.shareeType];
  200. [metadataNet setSharePermission: self.sharePermission];
  201. [metadataNet setSize: self.size];
  202. [metadataNet setTaskStatus: self.taskStatus];
  203. return metadataNet;
  204. }
  205. @end