CCGlobal.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. //
  2. // CCGlobal.h
  3. // Crypto Cloud Technology Nextcloud
  4. //
  5. // Created by Marino Faggiana on 13/10/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 <UIKit/UIKit.h>
  24. #import "CCStandardImages.h"
  25. #ifdef CUSTOM_BUILD
  26. #import "CustomImages.h"
  27. #import "CustomConstant.h"
  28. #else
  29. #import "CCNextcloudImages.h"
  30. #import "CCNextcloudConstant.h"
  31. #endif
  32. extern NSString *const appApplicationSupport;
  33. extern NSString *const appDatabase;
  34. extern NSString *const appCertificates;
  35. extern NSString *const webDAV;
  36. extern NSString *const dav;
  37. extern NSString *const appKeyCryptoCloud;
  38. extern NSString *const appSecretCryptoCloud;
  39. extern NSString *const urlBaseDownloadDB;
  40. extern NSString *const urlBaseUploadDB;
  41. #ifndef EXTENSION
  42. //AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  43. #define app ((AppDelegate *)[[UIApplication sharedApplication] delegate])
  44. #define CALL_ORIGIN NSLog(@"Origin: [%@]", [[[[NSThread callStackSymbols] objectAtIndex:1] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"[]"]] objectAtIndex:1])
  45. #endif
  46. // Version Protocol plist
  47. #define k_versionProtocolPlist @"1.3"
  48. // UUID
  49. #define k_UUID_SIM @"4BACFE4A-61A6-44B1-9A85-13FD167565AB"
  50. #define k_dismissAfterSecond 4
  51. #define k_MaxDimensionUpload 524288000 // 500 MB
  52. #define k_dayForceReadFolder 3
  53. #define k_MaxGroupBySessionUploadDatasource 50
  54. #define k_MaxGroupBySessionDownloadDatasource 50
  55. #define k_returnCreateFolderPlain 0
  56. #define k_returnCreateFotoVideoPlain 1
  57. #define k_returnCreateFilePlain 2
  58. #define k_returnCreateFolderEncrypted 3
  59. #define k_returnCreateFotoVideoEncrypted 4
  60. #define k_returnCreateFileEncrypted 5
  61. #define k_returnCartaDiCredito 6
  62. #define k_returnBancomat 7
  63. #define k_returnContoCorrente 8
  64. #define k_returnAccountWeb 9
  65. #define k_returnNote 10
  66. #define k_returnPatenteGuida 11
  67. #define k_returnCartaIdentita 12
  68. #define k_returnPassaporto 13
  69. // File Name Const
  70. #define k_folderDefaultCameraUpload @"Photos"
  71. // Picker select image
  72. #define k_pickerControllerMax 100.0
  73. // define Nextcloud IOS
  74. #define k_share_link_middle_part_url_after_version_8 @"index.php/s/"
  75. // Constants to identify the different permissions of a file
  76. #define k_permission_shared @"S"
  77. #define k_permission_can_share @"R"
  78. #define k_permission_mounted @"M"
  79. #define k_permission_file_can_write @"W"
  80. #define k_permission_can_create_file @"C"
  81. #define k_permission_can_create_folder @"K"
  82. #define k_permission_can_delete @"D"
  83. #define k_permission_can_rename @"N"
  84. #define k_permission_can_move @"V"
  85. #define k_networkingSessionNotification @"networkingSessionNotification"
  86. // Session
  87. #define k_domain_session_queue @"it.twsweb.Crypto-Cloud"
  88. #define k_download_session @"it.twsweb.Crypto-Cloud.download.session"
  89. #define k_download_session_foreground @"it.twsweb.Crypto-Cloud.download.sessionforeground"
  90. #define k_download_session_wwan @"it.twsweb.Crypto-Cloud.download.sessionwwan"
  91. #define k_upload_session @"it.twsweb.Crypto-Cloud.upload.session"
  92. #define k_upload_session_foreground @"it.twsweb.Crypto-Cloud.upload.sessionforeground"
  93. #define k_upload_session_wwan @"it.twsweb.Crypto-Cloud.upload.sessionwwan"
  94. // OperationQueue
  95. #define k_queue @"it.twsweb.Crypto-Cloud.queue"
  96. #define k_download_queue @"it.twsweb.Crypto-Cloud.download.queue"
  97. #define k_download_queuewwan @"it.twsweb.Crypto-Cloud.download.queuewwan"
  98. #define k_upload_queue @"it.twsweb.Crypto-Cloud.upload.queue"
  99. #define k_upload_queuewwan @"it.twsweb.Crypto-Cloud.upload.queuewwan"
  100. // Service Key Share
  101. #define k_serviceShareKeyChain @"Crypto Cloud"
  102. #define k_metadataKeyedUnarchiver @"it.twsweb.Crypto-Cloud.metadata"
  103. // TaskIdentifier
  104. #define k_taskIdentifierDone -1
  105. #define k_taskIdentifierStop -2
  106. #define k_taskIdentifierError -99999
  107. #define k_taskIdentifierNULL 99999
  108. // TaskStatus
  109. #define k_taskStatusNone 0
  110. #define k_taskStatusCancel -1
  111. #define k_taskStatusResume -2
  112. #define k_taskStatusSuspend -3
  113. #define k_timerVerifySession 15.0
  114. #define k_maxConcurrentOperation 10
  115. #define k_maxConcurrentOperationDownloadUpload 10
  116. // Error
  117. #define k_CCErrorTaskNil -9999
  118. #define k_CCErrorTaskDownloadNotFound -9998
  119. #define k_CCErrorFileUploadNotFound -9997
  120. #define k_CCErrorInternalError -9996
  121. // Metadata ed ID
  122. #define k_uploadSessionID @"ID_UPLOAD_"
  123. // Metadata.Net SELECTOR
  124. #define selectorAddFavorite @"addFavorite"
  125. #define selectorAddLocal @"addLocal"
  126. #define selectorAddOffline @"addOffline"
  127. #define selectorCreateFolder @"createFolder"
  128. #define selectorDecryptFile @"decryptFile"
  129. #define selectorDelete @"delete"
  130. #define selectorDeleteCrypto @"deleteCrypto"
  131. #define selectorDeletePlist @"deletePlist"
  132. #define selectorDownloadFile @"downloadFile"
  133. #define selectorDownloadThumbnail @"downloadThumbnail"
  134. #define selectorDownloadSynchronize @"downloadSynchronize"
  135. #define selectorEncryptFile @"encryptFile"
  136. #define selectorGetUserAndGroup @"getUserAndGroup"
  137. #define selectorLoadFileView @"loadFileView"
  138. #define selectorLoadModelView @"loadModelView"
  139. #define selectorLoadPlist @"loadPlist"
  140. #define selectorLoadViewImage @"loadViewImage"
  141. #define selectorLoadCopy @"loadCopy"
  142. #define selectorMove @"move"
  143. #define selectorMoveCrypto @"moveCrypto"
  144. #define selectorMovePlist @"movePlist"
  145. #define selectorOpenIn @"openIn"
  146. #define selectorOpenWindowShare @"openWindowShare"
  147. #define selectorReadFile @"readFile"
  148. #define selectorReadFileUploadFile @"readFileUploadFile"
  149. #define selectorReadFileVerifyUpload @"readFileVerifyUpload"
  150. #define selectorReadFolder @"readFolder"
  151. #define selectorReadFolderForced @"readFolderForced"
  152. #define selectorReadFolderWithDownload @"readFolderWithDownload"
  153. #define selectorReadShare @"readShare"
  154. #define selectorRename @"rename"
  155. #define selectorSave @"save"
  156. #define selectorShare @"share"
  157. #define selectorSearch @"search"
  158. #define selectorUnshare @"unshare"
  159. #define selectorUpdateShare @"updateShare"
  160. #define selectorUploadAutomatic @"uploadAutomatic"
  161. #define selectorUploadAutomaticAll @"uploadAutomaticAll"
  162. #define selectorUploadFile @"uploadFile"
  163. #define selectorUploadFileCrypto @"uploadFileCrypto"
  164. #define selectorUploadFilePlist @"uploadFilePlist"
  165. #define selectorUploadRemovePhoto @"uploadRemovePhoto"
  166. // Metadata.Net ACTION
  167. #define actionCreateFolder @"createFolder"
  168. #define actionDeleteFileDirectory @"deleteFileOrFolder"
  169. #define actionDownloadFile @"downloadFile"
  170. #define actionDownloadThumbnail @"downloadThumbnail"
  171. #define actionGetActivityServer @"getActivityServer"
  172. #define actionGetCapabilities @"getCapabilitiesOfServer"
  173. #define actionGetFeaturesSuppServer @"getFeaturesSupportedByServer"
  174. #define actionGetUserAndGroup @"getUserAndGroup"
  175. #define actionGetUserProfile @"getUserProfile"
  176. #define actionGetNotificationServer @"getNotificationServer"
  177. #define actionSetNotificationServer @"setNotificationServer"
  178. #define actionGetExternalSitesServer @"getExternalSitesServer"
  179. #define actionListingFavorites @"listingFavorites"
  180. #define actionMoveFileOrFolder @"moveFileOrFolder"
  181. #define actionReadFile @"readFile"
  182. #define actionReadFolder @"readFolder"
  183. #define actionReadShareServer @"readShareServer"
  184. #define actionSearch @"search"
  185. #define actionSettingFavorite @"settingFavorite"
  186. #define actionShare @"share"
  187. #define actionShareWith @"shareWith"
  188. #define actionSubscribingNextcloudServer @"subscribingNextcloudServer"
  189. #define actionUnShare @"unShare"
  190. #define actionUpdateShare @"updateShare"
  191. #define actionUploadFile @"uploadFile"
  192. #define actionUploadAsset @"uploadAsset"
  193. #define actionUploadTemplate @"uploadTemplate"
  194. #define actionUploadOnlyPlist @"uploadOnlyPlist"
  195. // Metadata : FileType
  196. #define k_metadataTypeFile_audio @"audio"
  197. #define k_metadataTypeFile_compress @"compress"
  198. #define k_metadataTypeFile_directory @"directory"
  199. #define k_metadataTypeFile_document @"document"
  200. #define k_metadataTypeFile_image @"image"
  201. #define k_metadataTypeFile_template @"template"
  202. #define k_metadataTypeFile_unknown @"unknow"
  203. #define k_metadataTypeFile_video @"video"
  204. // Metadata : Type
  205. #define k_metadataType_file @"file"
  206. #define k_metadataType_template @"model"
  207. #define k_metadataType_local @"local"
  208. // Metadata : Filename Type
  209. #define k_metadataTypeFilenamePlain 0
  210. #define k_metadataTypeFilenamePlist 1
  211. #define k_metadataTypeFilenameCrypto 2
  212. #define k_tabBarApplicationIndexFile 0
  213. #define k_tabBarApplicationIndexOffline 1
  214. #define k_tabBarApplicationIndexHide 2
  215. #define k_tabBarApplicationIndexPhotos 3
  216. #define k_tabBarApplicationIndexMore 4
  217. #define k_keyFileNameMask @"fileNameMask"
  218. #define k_keyFileNameMaskAutomaticPhotos @"fileNameMaskAutomaticPhotos"
  219. // Type of page Offline
  220. #define k_pageOfflineFavorites @"Favorites"
  221. #define k_pageOfflineOffline @"Offline"
  222. #define k_pageOfflineLocal @"Local"
  223. #define k_pageControlCenterTransfer @"Transfer"
  224. #define k_pageControlCenterActivity @"Activity"
  225. // Search
  226. #define k_minCharsSearch 2
  227. // Activity
  228. #define k_activityVerboseDefault 0
  229. #define k_activityVerboseHigh 1
  230. #define k_activityTypeInfo @"info"
  231. #define k_activityTypeSuccess @"success"
  232. #define k_activityTypeFailure @"error"
  233. #define k_activityDebugActionDownload @"Download"
  234. #define k_activityDebugActionDownloadPicker @"Download Picker"
  235. #define k_activityDebugActionDownloadThumbnail @"Download Thumbnail"
  236. #define k_activityDebugActionUpload @"Upload"
  237. #define k_activityDebugActionUploadPicker @"Upload Picker"
  238. #define k_activityDebugActionUploadShare @"Upload Share"
  239. #define k_activityDebugActionAutomaticUpload @"Automatic Upload"
  240. #define k_activityDebugActionReadFolder @"Read Folder"
  241. #define k_activityDebugActionGetNotification @"Get Notification Server"
  242. #define k_activityDebugActionPushProxy @"Subscribing Push Proxy"
  243. #define k_activityDebugActionServerPush @"Subscribing Server Push"
  244. #define k_activityDebugActionFeatures @"Features Supported By Server"
  245. #define k_activityDebugActionCapabilities @"Capabilities Of Server"
  246. // -----------------------------------------------------------------------------------------------------------
  247. // -----------------------------------------------------------------------------------------------------------
  248. @interface CCAspect : NSObject
  249. + (void)aspectNavigationControllerBar:(UINavigationBar *)nav encrypted:(BOOL)encrypted online:(BOOL)online hidden:(BOOL)hidden;
  250. + (void)aspectTabBar:(UITabBar *)tab hidden:(BOOL)hidden;
  251. @end