Browse Source

Merge branch 'develop'

Marino Faggiana 7 years ago
parent
commit
c466241715
100 changed files with 9 additions and 7906 deletions
  1. 9 1
      ChangeLog.txt
  2. 0 200
      Libraries external/DropboxSDK/CHANGELOG
  3. BIN
      Libraries external/DropboxSDK/DropboxSDK.framework/DropboxSDK
  4. 0 31
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBAccountInfo.h
  5. 0 36
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBBase64Transcoder.h
  6. 0 21
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBDeltaEntry.h
  7. 0 21
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBError.h
  8. 0 75
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJSON.h
  9. 0 86
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJsonBase.h
  10. 0 87
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJsonParser.h
  11. 0 129
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJsonWriter.h
  12. 0 38
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBLog.h
  13. 0 47
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBMetadata.h
  14. 0 24
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBQuota.h
  15. 0 80
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBRequest.h
  16. 0 225
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBRestClient.h
  17. 0 24
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBSession+iOS.h
  18. 0 59
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBSession.h
  19. 0 7
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DropboxSDK-Prefix.pch
  20. 0 21
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DropboxSDK.h
  21. 0 55
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/JSON.h
  22. 0 14
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPDebug.h
  23. 0 20
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuth.h
  24. 0 86
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAPI.h
  25. 0 50
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAPIRequestLoader.h
  26. 0 30
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAuthenticationMethod.h
  27. 0 44
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAuthenticationMethodOAuth.h
  28. 0 29
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthConnection.h
  29. 0 18
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthCredentialConcreteStore+KeychainAdditions.h
  30. 0 40
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthCredentialConcreteStore.h
  31. 0 33
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthCredentialStore.h
  32. 0 28
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthParameterFactory.h
  33. 0 28
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthSignatureParameter.h
  34. 0 32
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthURLRequest.h
  35. 0 20
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthURLResponse.h
  36. 0 30
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPURLRequestParameter.h
  37. 0 15
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSDictionary+Dropbox.h
  38. 0 68
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSObject+DBJSON.h
  39. 0 58
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSString+DBJSON.h
  40. 0 18
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSString+Dropbox.h
  41. 0 21
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSString+URLEscapingAdditions.h
  42. 0 21
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSURL+MPURLParameterAdditions.h
  43. 0 14
      Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSURLResponse+Encoding.h
  44. BIN
      Libraries external/DropboxSDK/DropboxSDK.framework/Info.plist
  45. 0 9
      Libraries external/DropboxSDK/DropboxSDK/64bit.xcconfig
  46. 0 82
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBAccountInfo.m
  47. 0 131
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBAuthHelperOSX.m
  48. 0 344
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBConnectController.m
  49. 0 63
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBDeltaEntry.m
  50. 0 11
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBError.m
  51. 0 131
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBKeychain-OSX.m
  52. 0 111
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBKeychain-iOS.m
  53. 0 81
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBKeychain-iOS.original.m
  54. 0 94
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBLog.m
  55. 0 153
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBMetadata.m
  56. 0 52
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBQuota.m
  57. 0 1029
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBRequest.m
  58. 0 150
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBRestClient+OSX.m
  59. 0 1373
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBRestClient.m
  60. 0 168
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBSession+iOS.m
  61. 0 221
      Libraries external/DropboxSDK/DropboxSDK/Classes/DBSession.m
  62. 0 30
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxOSX-Info.plist
  63. 0 7
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxOSX-Prefix.pch
  64. 0 46
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK-Info.plist
  65. 0 7
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK-Prefix.pch
  66. 0 31
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBAccountInfo.h
  67. 0 30
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBAuthHelperOSX.h
  68. 0 36
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBBase64Transcoder.h
  69. 0 16
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBConnectController.h
  70. 0 21
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBDeltaEntry.h
  71. 0 21
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBError.h
  72. 0 75
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJSON.h
  73. 0 86
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJsonBase.h
  74. 0 87
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJsonParser.h
  75. 0 129
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJsonWriter.h
  76. 0 17
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBKeychain.h
  77. 0 38
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBLog.h
  78. 0 47
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBMetadata.h
  79. 0 24
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBQuota.h
  80. 0 80
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBRequest.h
  81. 0 34
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBRestClient+OSX.h
  82. 0 225
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBRestClient.h
  83. 0 24
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBSession+iOS.h
  84. 0 59
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBSession.h
  85. 0 21
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DropboxOSX.h
  86. 0 21
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DropboxSDK.h
  87. 0 55
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/JSON.h
  88. 0 14
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPDebug.h
  89. 0 20
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuth.h
  90. 0 86
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAPI.h
  91. 0 50
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAPIRequestLoader.h
  92. 0 30
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAuthenticationMethod.h
  93. 0 44
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAuthenticationMethodOAuth.h
  94. 0 29
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthConnection.h
  95. 0 18
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthCredentialConcreteStore+KeychainAdditions.h
  96. 0 40
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthCredentialConcreteStore.h
  97. 0 33
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthCredentialStore.h
  98. 0 28
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthParameterFactory.h
  99. 0 28
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthSignatureParameter.h
  100. 0 32
      Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthURLRequest.h

+ 9 - 1
ChangeLog.txt

@@ -1,4 +1,12 @@
-	* Version 2.17 (xx.xx.2017)
+	* Version 2.17.4 (xx.xx.2017)
+		See x
+	* Version 2.17.3 (23.05.2017)
+		See https://github.com/nextcloud/ios/milestone/7?closed=1
+	* Version 2.17.2 (05.05.2017)
+		See https://github.com/nextcloud/ios/milestone/6?closed=1
+	* Version 2.17.1 (26.04.2017)
+		See https://github.com/nextcloud/ios/milestone/5?closed=1
+	* Version 2.17 (21.04.2017)
 		* Improvement:
 			* Use milestone information
 		* Bug fixes:

+ 0 - 200
Libraries external/DropboxSDK/CHANGELOG

@@ -1,200 +0,0 @@
-Upgrade instructions
-1. Right-click on the DropboxSDK group in the file browser and select Delete
-2. Select "Also move to trash" option when prompted
-3. Follow the installation instructions from the README to install the
-   newest version of the SDK
-
-Changes from 1.3.13 to 1.3.14
-- Check for and use the Dropbox EMM app for dauth if the Dropbox app is not available. You must add
-  dbapi-8-emm to your LSApplicationQueriesSchemes whitelist to allow the SDK to detect the Dropbox EMM app.
-  This is in addition to the dbapi-2 that you should already have in your LSApplicationQueriesSchemes
-  whitelist to detect the Dropbox app.
-- Minimum iOS version raised to 6.0 to support bitcode.
-- Bug fixes
-
-Changes from 1.3.12 to 1.3.13
-- Fix for "Cannot validate a certificate for the host" issue
-
-Changes from 1.3.11 to 1.3.12
-- Swift compatibility
-
-Changes from 1.3.10 to 1.3.11
-- Fix 404s on page transitions during authentication on iOS
-- Upgrade project files for use with XCode 5.1
-
-Changes from 1.3.9 to 1.3.10
-- Stricter validation of server certificates on HTTP requests
-- Fix an issue in DBRoulette sample when switching between users
-
-Changes from 1.3.8 to 1.3.9
-- You will *not* believe the 64 bit support in this version
-
-Changes from 1.3.7 to 1.3.8
-- Correctly fix the iOS7 background operation bug for users who have already linked Dropbox
-
-Changes from 1.3.6 to 1.3.7
-- Better 64 bit support for iOS
-- Fix a bug when using iOS7's background operation while a passcode is set
-
-Changes from 1.3.5 to 1.3.6
-- Optimized the SDK for iOS7
-
-Changes from 1.3.4 to 1.3.5
-- Fixed bug where cancel url wasn't always getting sent when the user cancelled
-  the authentication flow.
-- Fixed a bug where uploads would sometimes fail on iOS 5
-- Added a new optional delegate method,
-  -[DBRestClient restClient:uploadFileChunkProgress:forFile:offset:fromPath:],
-  which allows you to get the progress of chunks you're uploading.
-
-Changes from 1.3.3 to 1.3.4
-- Added a new DBRestClientDelegate callback, -restClient:createdCopyRef:forPath:
-  that replaces the existing method -restClient:createdCopyRef
-- Fix authentication bug
-
-Changes from 1.3.2 to 1.3.3
-- Bug fixes for chunked uploads and more!
-
-Changes from 1.3.1 to 1.3.2
-- Bug fixes
-- Added support for iPhone 5
-
-Changes from 1.3 to 1.3.1
-- Bug fixes
-- Improved iOS 3 compatibility
-- OS X SDK now mutes desktop notifications on the same machine
-
-Changes from 1.2.3 to 1.3
-- The SDK now supports uploading large files using
-  -[DBRestClient uploadFileChunk:offset:fromPath:] and
-  -[DBRestClient uploadFile:toPath:withParentRev:fromUploadId:]. See
-  the developers site and DBRestClient.h for more information on using them.
-- There is a new method, -[DBRestClient loadSharableLinkForFile:shortUrl], that
-  allows you to create links that are not shortened with the db.tt url
-  shortener.
-
-Changes from 1.2.2 to 1.2.3
-- Cancelling from the embedded login flow on iOS now correctly sends a cancel
-  url to the app delegate.
-
-Changes from 1.2.1 to 1.2.2
-- Fixes for building the OS X SDK using Xcode3 and on older versions of OS X
-- iOS authentication now happens inside an embedded web view if the
-  Dropbox app is not installed. QuartzCore is also now a required framework on
-  iOS, so you'll need to add it if you don't have it yet.
-
-Changes from 1.2 to 1.2.1
-- Made DropboxOSX.framework compatible with 32-bit apps
-- Added the -[DBRestClient cancelAllRequests] method
-- Store all access tokens in the keychain rather than userDefaults. The SDK
-  will migrate and remove existing credentials stored in your app's userDefaults
-
-Changes from 1.1 to 1.2
-- The copy and move delegate callbacks have been changed to return the metadata
-  of the file copied/moved rather than just the path it was copied/moved to.
-  The new delegate callbacks are named restClient:copiedPath:to: and
-  restClient:movedPath:to:
-- DBMetadata objects have a new field, clientMtime, which is a displayable
-  time for the last time the files contents were modified.
-- Added DropboxOSX.framework, an OSX compatible version of the Dropbox SDK
-- -[DBRestClient loadDelta:] method added, which loads a list of metadata
-  entries that have changed since the last time the method was called.
-- -[DBRestClient createCopyRef] and -[DBRestClient copyFromRef:toPath:] methods
-  were also added, which give you the ability to copy files between Dropboxes
-  without downloading and re-uploading the file
-
-Changes from 1.0 to 1.1
-- The SBJson library included in the DropboxSDK framework has been renamed to
-  DBJson to prevent duplicate symbols with other libraries that use SBJson
-- The loadFile and loadThumbnail APIs now support callbacks that also return
-  metadata. loadFile - for the file being downloaded. loadThumbnail - for the
-  file whose thumbnail is being downloaded.
-- Removed email from DBAccountInfo. This field is being deprecated from the API.
-  userId is the recommended way to reference an account.
-- Various bug fixes
-
-Changes from 0.3 to 1.0
-- The SDK is now packaged as a framework rather than importing the source
-  directly into your project. This allows the SDK to work with projects
-  that are using ARC.
-- Because the SDK is now a framework, you need to import DropboxSDK.h like this:
-  #import <DropboxSDK/DropboxSDK.h>
-- The SDK uses an all new authentication method. First, the SDK is no longer
-  able to login or create accounts directly, instead you need to call link
-  on the DBSession object. This will launch the official iOS app if it's
-  installed, and Safari otherwise, and the user will have the option of
-  approving your app for access. See the Authentication guide on
-  https://www.dropbox.com/developers for more details.
-- The SDK can now handle linking multiple users to the same app.
-- DBMetadata objects now have a "rev" field, which deprecates the old revision
-  field.
-- You can now load a list of past revisions for a file using
-  loadRevisionsForFile: on DBRestClient. This call returns a list of DBMetadata
-  objects that represent each revision. To restore the file to that state,
-  you can call restoreFile:toRev:. You can also download the contents of the
-  file at that state using loadFile:atRev:intoPath:.
-- The upload call has been updated in several ways. First it takes an optional
-  parentRev parameter, which indicates the parent version of the file you are
-  uploading. If the file on the server does not have the same rev, it will
-  spin off a conflicted copy with a different name. If you do not provide a rev,
-  it will assume the file is new, and uploading to that file will spin off a
-  conflicted copy if any file with the same name exists there. The upload
-  DBRestClientDelegate callback also provides the metadata of the newly uploaded
-  file, called restClient:uploadedFile:from:metadata:. The metadata will contain
-  the path of the file if it is not the same as specified on upload due to
-  conflicts.
-- Searching the contents of the user's Dropbox is now possible using the
-  searchPath:forKeyword: method on DBRestClient
-- Generate links to files that can be shared with other users using the
-  loadSharableLinkForFile: method on DBRestClient
-- Get a link that can be used to stream audio and video for a limited amount of
-  time using the loadStreamableURLForFile: method on DBRestClient
-- Downloading a thumbnail of a .png or .gif will now download a .png instead of
-  .jpeg to cut down on artifacts
-- Various bug fixes
-
-
-Changes from 0.2 to 0.3
-- Made DBLoginController compatibile with iOS 5
-
-
-Changes from 0.1 to 0.2
-DBRestClient.h:
-- Various bug fixes
-- Added a new upload callback that gives you the Dropbox path of the file that
-  was just uploaded in addition to the source path.
-
-DBSession.h:
-- You can now get a callback when a request fails due to authentication error.
-  Set yourself as the delegate to DBSession to get these events.
-  For an example of how to implement this check out DBRouletteAppDelegate
-  where it implements sessionDidReceiveAuthorizationFailure:
-
-
-Changes from beta version in 0.1
-README:
-  - This file now has step-by-step instructions to getting started using the SDK
-
-DropboxSDK.h:
-  - A single file has been added that you can import to get all important SDK
-    classes
-
-DBRestClient:
-  - initWithSession:root: has been deprecated. All apps are by default have
-    full access.
-  - The delegate response restClient:loadedMetadata: now returns a DBMetadata*
-    object instead of a raw dictionary.
-  - The possible delegate responses from loadMetadata:withHash: now includes
-    restClient:metadataUnchangedAtPath: when no changes to the metadata has
-    occurred since the last loadMetadata:withHash: call.
-  - The delegate response restClient:loadedAccountInfo: now returns a
-    DBAccountInfo* object.
-  - The delegate response restClient:createdFolder: now returns a DBMetadata*
-    object
-
-DBLoginController:
-  - This class has been added to provide a well designed login form with an easy
-    to use interface for developers. It is recommended that you use it in your 
-    app for the least amount of code and best user experience.
-  - Simply create it and call [loginController presentFromController:self] to
-    display on both iPhone and iPad

BIN
Libraries external/DropboxSDK/DropboxSDK.framework/DropboxSDK


+ 0 - 31
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBAccountInfo.h

@@ -1,31 +0,0 @@
-//
-//  DBAccountInfo.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-#import "DBQuota.h"
-
-@interface DBAccountInfo : NSObject <NSCoding> {
-    NSString* email;
-    NSString* country;
-    NSString* displayName;
-    DBQuota* quota;
-    NSString* userId;
-    NSString* referralLink;
-    NSDictionary* original;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict;
-
-@property (nonatomic, readonly) NSString* email;
-@property (nonatomic, readonly) NSString* country;
-@property (nonatomic, readonly) NSString* displayName;
-@property (nonatomic, readonly) DBQuota* quota;
-@property (nonatomic, readonly) NSString* userId;
-@property (nonatomic, readonly) NSString* referralLink;
-
-@end

+ 0 - 36
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBBase64Transcoder.h

@@ -1,36 +0,0 @@
-/*
- *  Base64Transcoder.h
- *  Base64Test
- *
- *  Created by Jonathan Wight on Tue Mar 18 2003.
- *  Copyright (c) 2003 Toxic Software. All rights reserved.
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a copy
- *  of this software and associated documentation files (the "Software"), to deal
- *  in the Software without restriction, including without limitation the rights
- *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- *  copies of the Software, and to permit persons to whom the Software is
- *  furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- *  THE SOFTWARE.
- *
- */
-
-#include <stdlib.h>
-#include <stdbool.h>
-
-size_t DBEstimateBas64EncodedDataSize(size_t inDataSize);
-size_t DBEstimateBas64DecodedDataSize(size_t inDataSize);
-
-bool DBBase64EncodeData(const void *inInputData, size_t inInputDataSize, char *outOutputData, size_t *ioOutputDataSize);
-bool DBBase64DecodeData(const void *inInputData, size_t inInputDataSize, void *ioOutputData, size_t *ioOutputDataSize);
-

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBDeltaEntry.h

@@ -1,21 +0,0 @@
-//
-//  DBDeltaEntry.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/25/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBMetadata.h"
-
-@interface DBDeltaEntry : NSObject <NSCoding> {
-    NSString *lowercasePath;
-    DBMetadata *metadata;
-}
-
-- (id)initWithArray:(NSArray *)array;
-
-@property (nonatomic, readonly) NSString *lowercasePath;
-@property (nonatomic, readonly) DBMetadata *metadata; // nil if file has been deleted
-
-@end

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBError.h

@@ -1,21 +0,0 @@
-//
-//  DBError.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 7/21/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-/* This file contains error codes and the dropbox error domain */
-
-extern NSString* DBErrorDomain;
-
-// Error codes in the dropbox.com domain represent the HTTP status code if less than 1000
-typedef enum {
-    DBErrorNone = 0,
-    DBErrorGenericError = 1000,
-    DBErrorFileNotFound,
-    DBErrorInsufficientDiskSpace,
-    DBErrorIllegalFileType, // Error sent if you try to upload a directory
-    DBErrorInvalidResponse, // Sent when the client does not get valid JSON when it's expecting it
-} DBErrorCode;

+ 0 - 75
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJSON.h

@@ -1,75 +0,0 @@
-/*
- Copyright (C) 2007-2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import "DBJsonParser.h"
-#import "DBJsonWriter.h"
-
-/**
- @brief Facade for DBJsonWriter/DBJsonParser.
-
- Requests are forwarded to instances of DBJsonWriter and DBJsonParser.
- */
-@interface DBJSON : DBJsonBase <DBJsonParser, DBJsonWriter> {
-
-@private    
-    DBJsonParser *jsonParser;
-    DBJsonWriter *jsonWriter;
-}
-
-
-/// Return the fragment represented by the given string
-- (id)fragmentWithString:(NSString*)jsonrep
-                   error:(NSError**)error;
-
-/// Return the object represented by the given string
-- (id)objectWithString:(NSString*)jsonrep
-                 error:(NSError**)error;
-
-/// Parse the string and return the represented object (or scalar)
-- (id)objectWithString:(id)value
-           allowScalar:(BOOL)x
-    			 error:(NSError**)error;
-
-
-/// Return JSON representation of an array  or dictionary
-- (NSString*)stringWithObject:(id)value
-                        error:(NSError**)error;
-
-/// Return JSON representation of any legal JSON value
-- (NSString*)stringWithFragment:(id)value
-                          error:(NSError**)error;
-
-/// Return JSON representation (or fragment) for the given object
-- (NSString*)stringWithObject:(id)value
-                  allowScalar:(BOOL)x
-    					error:(NSError**)error;
-
-
-@end

+ 0 - 86
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJsonBase.h

@@ -1,86 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-extern NSString * DBJSONErrorDomain;
-
-
-enum {
-    EUNSUPPORTED = 1,
-    EPARSENUM,
-    EPARSE,
-    EFRAGMENT,
-    ECTRL,
-    EUNICODE,
-    EDEPTH,
-    EESCAPE,
-    ETRAILCOMMA,
-    ETRAILGARBAGE,
-    EEOF,
-    EINPUT
-};
-
-/**
- @brief Common base class for parsing & writing.
-
- This class contains the common error-handling code and option between the parser/writer.
- */
-@interface DBJsonBase : NSObject {
-    NSMutableArray *errorTrace;
-
-@protected
-    NSUInteger depth, maxDepth;
-}
-
-/**
- @brief The maximum recursing depth.
- 
- Defaults to 512. If the input is nested deeper than this the input will be deemed to be
- malicious and the parser returns nil, signalling an error. ("Nested too deep".) You can
- turn off this security feature by setting the maxDepth value to 0.
- */
-@property NSUInteger maxDepth;
-
-/**
- @brief Return an error trace, or nil if there was no errors.
- 
- Note that this method returns the trace of the last method that failed.
- You need to check the return value of the call you're making to figure out
- if the call actually failed, before you know call this method.
- */
- @property(copy,readonly) NSArray* errorTrace;
-
-/// @internal for use in subclasses to add errors to the stack trace
-- (void)addErrorWithCode:(NSUInteger)code description:(NSString*)str;
-
-/// @internal for use in subclasess to clear the error before a new parsing attempt
-- (void)clearErrorTrace;
-
-@end

+ 0 - 87
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJsonParser.h

@@ -1,87 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import "DBJsonBase.h"
-
-/**
-  @brief Options for the parser class.
- 
- This exists so the DBJSON facade can implement the options in the parser without having to re-declare them.
- */
-@protocol DBJsonParser
-
-/**
- @brief Return the object represented by the given string.
- 
- Returns the object represented by the passed-in string or nil on error. The returned object can be
- a string, number, boolean, null, array or dictionary.
- 
- @param repr the json string to parse
- */
-- (id)objectWithString:(NSString *)repr;
-
-@end
-
-
-/**
- @brief The JSON parser class.
- 
- JSON is mapped to Objective-C types in the following way:
- 
- @li Null -> NSNull
- @li String -> NSMutableString
- @li Array -> NSMutableArray
- @li Object -> NSMutableDictionary
- @li Boolean -> NSNumber (initialised with -initWithBool:)
- @li Number -> NSDecimalNumber
- 
- Since Objective-C doesn't have a dedicated class for boolean values, these turns into NSNumber
- instances. These are initialised with the -initWithBool: method, and 
- round-trip back to JSON properly. (They won't silently suddenly become 0 or 1; they'll be
- represented as 'true' and 'false' again.)
- 
- JSON numbers turn into NSDecimalNumber instances,
- as we can thus avoid any loss of precision. (JSON allows ridiculously large numbers.)
- 
- */
-@interface DBJsonParser : DBJsonBase <DBJsonParser> {
-    
-@private
-    const char *c;
-}
-
-@end
-
-// don't use - exists for backwards compatibility with 2.1.x only. Will be removed in 2.3.
-@interface DBJsonParser (Private)
-- (id)fragmentWithString:(id)repr;
-@end
-
-

+ 0 - 129
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBJsonWriter.h

@@ -1,129 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import "DBJsonBase.h"
-
-/**
- @brief Options for the writer class.
- 
- This exists so the DBJSON facade can implement the options in the writer without having to re-declare them.
- */
-@protocol DBJsonWriter
-
-/**
- @brief Whether we are generating human-readable (multiline) JSON.
- 
- Set whether or not to generate human-readable JSON. The default is NO, which produces
- JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable
- JSON with linebreaks after each array value and dictionary key/value pair, indented two
- spaces per nesting level.
- */
-@property BOOL humanReadable;
-
-/**
- @brief Whether or not to sort the dictionary keys in the output.
- 
- If this is set to YES, the dictionary keys in the JSON output will be in sorted order.
- (This is useful if you need to compare two structures, for example.) The default is NO.
- */
-@property BOOL sortKeys;
-
-/**
- @brief Return JSON representation (or fragment) for the given object.
- 
- Returns a string containing JSON representation of the passed in value, or nil on error.
- If nil is returned and @p error is not NULL, @p *error can be interrogated to find the cause of the error.
- 
- @param value any instance that can be represented as a JSON fragment
- 
- */
-- (NSString*)stringWithObject:(id)value;
-
-@end
-
-
-/**
- @brief The JSON writer class.
- 
- Objective-C types are mapped to JSON types in the following way:
- 
- @li NSNull -> Null
- @li NSString -> String
- @li NSArray -> Array
- @li NSDictionary -> Object
- @li NSNumber (-initWithBool:) -> Boolean
- @li NSNumber -> Number
- 
- In JSON the keys of an object must be strings. NSDictionary keys need
- not be, but attempting to convert an NSDictionary with non-string keys
- into JSON will throw an exception.
- 
- NSNumber instances created with the +initWithBool: method are
- converted into the JSON boolean "true" and "false" values, and vice
- versa. Any other NSNumber instances are converted to a JSON number the
- way you would expect.
- 
- */
-@interface DBJsonWriter : DBJsonBase <DBJsonWriter> {
-
-@private
-    BOOL sortKeys, humanReadable;
-}
-
-@end
-
-// don't use - exists for backwards compatibility. Will be removed in 2.3.
-@interface DBJsonWriter (Private)
-- (NSString*)stringWithFragment:(id)value;
-@end
-
-/**
- @brief Allows generation of JSON for otherwise unsupported classes.
- 
- If you have a custom class that you want to create a JSON representation for you can implement
- this method in your class. It should return a representation of your object defined
- in terms of objects that can be translated into JSON. For example, a Person
- object might implement it like this:
- 
- @code
- - (id)jsonProxyObject {
-    return [NSDictionary dictionaryWithObjectsAndKeys:
-        name, @"name",
-        phone, @"phone",
-        email, @"email",
-        nil];
- }
- @endcode
- 
- */
-@interface NSObject (SBProxyForJson)
-- (id)proxyForJson;
-@end
-

+ 0 - 38
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBLog.h

@@ -1,38 +0,0 @@
-//
-//  DBLog.h
-//  Dropbox
-//
-//  Created by Will Stockwell on 11/4/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-#if !defined(NS_FORMAT_FUNCTION)
-#define NS_FORMAT_FUNCTION(F, A)
-#endif
-
-typedef enum {
-	DBLogLevelInfo = 0,
-	DBLogLevelAnalytics,
-	DBLogLevelWarning,
-	DBLogLevelError,
-	DBLogLevelFatal
-} DBLogLevel;
-
-typedef void DBLogCallback(DBLogLevel logLevel, NSString *format, va_list args);
-
-NSString * DBLogFilePath(void);
-void DBSetupLogToFile(void);
-
-NSString* DBStringFromLogLevel(DBLogLevel logLevel);
-
-
-void DBLogSetLevel(DBLogLevel logLevel);
-void DBLogSetCallback(DBLogCallback *callback);
-
-void DBLog(DBLogLevel logLevel, NSString *format, ...) NS_FORMAT_FUNCTION(2,3);
-void DBLogInfo(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-void DBLogWarning(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-void DBLogError(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-void DBLogFatal(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);

+ 0 - 47
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBMetadata.h

@@ -1,47 +0,0 @@
-//
-//  DBMetadata.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-@interface DBMetadata : NSObject <NSCoding> {
-    BOOL thumbnailExists;
-    long long totalBytes;
-    NSDate* lastModifiedDate;
-    NSDate *clientMtime; // file's mtime for display purposes only
-    NSString* path;
-    BOOL isDirectory;
-    NSArray* contents;
-    NSString* hash;
-    NSString* humanReadableSize;
-    NSString* root;
-    NSString* icon;
-    NSString* rev;
-    long long revision; // Deprecated; will be removed in version 2. Use rev whenever possible
-    BOOL isDeleted;
-
-    NSString *filename;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict;
-
-@property (nonatomic, readonly) BOOL thumbnailExists;
-@property (nonatomic, readonly) long long totalBytes;
-@property (nonatomic, readonly) NSDate* lastModifiedDate;
-@property (nonatomic, readonly) NSDate* clientMtime;
-@property (nonatomic, readonly) NSString* path;
-@property (nonatomic, readonly) BOOL isDirectory;
-@property (nonatomic, readonly) NSArray* contents;
-@property (nonatomic, readonly) NSString* hash;
-@property (nonatomic, readonly) NSString* humanReadableSize;
-@property (nonatomic, readonly) NSString* root;
-@property (nonatomic, readonly) NSString* icon;
-@property (nonatomic, readonly) long long revision; // Deprecated, use rev instead
-@property (nonatomic, readonly) NSString* rev;
-@property (nonatomic, readonly) BOOL isDeleted;
-@property (nonatomic, readonly) NSString* filename;
-
-@end

+ 0 - 24
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBQuota.h

@@ -1,24 +0,0 @@
-//
-//  DBQuota.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-@interface DBQuota : NSObject <NSCoding> {
-    long long normalConsumedBytes;
-    long long sharedConsumedBytes;
-    long long totalBytes;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict;
-
-@property (nonatomic, readonly) long long normalConsumedBytes;
-@property (nonatomic, readonly) long long sharedConsumedBytes;
-@property (nonatomic, readonly) long long totalConsumedBytes;
-@property (nonatomic, readonly) long long totalBytes;
-
-@end

+ 0 - 80
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBRequest.h

@@ -1,80 +0,0 @@
-//
-//  DBRestRequest.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/9/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-@protocol DBNetworkRequestDelegate;
-
-/* DBRestRequest will download a URL either into a file that you provied the name to or it will
-   create an NSData object with the result. When it has completed downloading the URL, it will
-   notify the target with a selector that takes the DBRestRequest as the only parameter. */
-@interface DBRequest : NSObject {
-    NSURLRequest* request;
-    id target;
-    SEL selector;
-    NSURLConnection* urlConnection;
-    NSFileHandle* fileHandle;
-    NSFileManager* fileManager;
-
-    SEL failureSelector;
-    SEL downloadProgressSelector;
-    SEL uploadProgressSelector;
-    NSString* resultFilename;
-    NSString* tempFilename;
-    NSDictionary* userInfo;
-    NSString *sourcePath;
-
-    NSHTTPURLResponse* response;
-    NSDictionary* xDropboxMetadataJSON;
-    NSInteger bytesDownloaded;
-    CGFloat downloadProgress;
-    CGFloat uploadProgress;
-    NSMutableData* resultData;
-    NSError* error;
-}
-
-/*  Set this to get called when _any_ request starts or stops. This should hook into whatever
-    network activity indicator system you have. */
-+ (void)setNetworkRequestDelegate:(id<DBNetworkRequestDelegate>)delegate;
-
-/*  This constructor downloads the URL into the resultData object */
-- (id)initWithURLRequest:(NSURLRequest*)request andInformTarget:(id)target selector:(SEL)selector;
-
-/*  Cancels the request and prevents it from sending additional messages to the delegate. */
-- (void)cancel;
-
-/* If there is no error, it will parse the response as JSON and make sure the JSON object is the
-   correct type. If not, it will set the error object with an error code of DBErrorInvalidResponse */
-- (id)parseResponseAsType:(Class)cls;
-
-@property (nonatomic, assign) SEL failureSelector; // To send failure events to a different selector set this
-@property (nonatomic, assign) SEL downloadProgressSelector; // To receive download progress events set this
-@property (nonatomic, assign) SEL uploadProgressSelector; // To receive upload progress events set this
-@property (nonatomic, retain) NSString* resultFilename; // The file to put the HTTP body in, otherwise body is stored in resultData
-@property (nonatomic, retain) NSDictionary* userInfo;
-@property (nonatomic, retain) NSString *sourcePath; // Used by methods that upload to refresh the input stream
-
-@property (nonatomic, readonly) NSURLRequest* request;
-@property (nonatomic, readonly) NSHTTPURLResponse* response;
-@property (nonatomic, readonly) NSDictionary* xDropboxMetadataJSON;
-@property (nonatomic, readonly) NSInteger statusCode;
-@property (nonatomic, readonly) CGFloat downloadProgress;
-@property (nonatomic, readonly) CGFloat uploadProgress;
-@property (nonatomic, readonly) NSData* resultData;
-@property (nonatomic, readonly) NSString* resultString;
-@property (nonatomic, readonly) NSObject* resultJSON;
-@property (nonatomic, readonly) NSError* error;
-
-@end
-
-
-@protocol DBNetworkRequestDelegate 
-
-- (void)networkRequestStarted;
-- (void)networkRequestStopped;
-
-@end

+ 0 - 225
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBRestClient.h

@@ -1,225 +0,0 @@
-//
-//  DBRestClient.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/9/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-#import "DBSession.h"
-
-@protocol DBRestClientDelegate;
-@class DBAccountInfo;
-@class DBMetadata;
-
-@interface DBRestClient : NSObject {
-    DBSession* session;
-    NSString* userId;
-    NSString* root;
-    NSMutableSet* requests;
-    /* Map from path to the load request. Needs to be expanded to a general framework for cancelling
-       requests. */
-    NSMutableDictionary* loadRequests;
-    NSMutableDictionary* imageLoadRequests;
-    NSMutableDictionary* uploadRequests;
-    id<DBRestClientDelegate> delegate;
-}
-
-- (id)initWithSession:(DBSession*)session;
-- (id)initWithSession:(DBSession *)session userId:(NSString *)userId;
-
-/* Cancels all outstanding requests. No callback for those requests will be sent */
-- (void)cancelAllRequests;
-
-
-/* Loads metadata for the object at the given root/path and returns the result to the delegate as a 
-   dictionary */
-- (void)loadMetadata:(NSString*)path withHash:(NSString*)hash;
-
-- (void)loadMetadata:(NSString*)path;
-
-/* This will load the metadata of a file at a given rev */
-- (void)loadMetadata:(NSString *)path atRev:(NSString *)rev;
-
-/* Loads a list of files (represented as DBDeltaEntry objects) that have changed since the cursor was generated */
-- (void)loadDelta:(NSString *)cursor;
-
-
-/* Loads the file contents at the given root/path and stores the result into destinationPath */
-- (void)loadFile:(NSString *)path intoPath:(NSString *)destinationPath;
-
-/* This will load a file as it existed at a given rev */
-- (void)loadFile:(NSString *)path atRev:(NSString *)rev intoPath:(NSString *)destPath;
-
-- (void)cancelFileLoad:(NSString*)path;
-
-
-- (void)loadThumbnail:(NSString *)path ofSize:(NSString *)size intoPath:(NSString *)destinationPath;
-- (void)cancelThumbnailLoad:(NSString*)path size:(NSString*)size;
-
-/* Uploads a file that will be named filename to the given path on the server. sourcePath is the
-   full path of the file you want to upload. If you are modifying a file, parentRev represents the
-   rev of the file before you modified it as returned from the server. If you are uploading a new
-   file set parentRev to nil. */
-- (void)uploadFile:(NSString *)filename toPath:(NSString *)path withParentRev:(NSString *)parentRev
-    fromPath:(NSString *)sourcePath;
-
-- (void)cancelFileUpload:(NSString *)path;
-
-/* Avoid using this because it is very easy to overwrite conflicting changes. Provided for backwards
-   compatibility reasons only */
-- (void)uploadFile:(NSString*)filename toPath:(NSString*)path fromPath:(NSString *)sourcePath __attribute__((deprecated));
-
-/* These calls allow you to upload files in chunks, which is better for file larger than a few megabytes.
-   You can append bytes to the file using -[DBRestClient uploadFileChunk:offset:uploadId:] and then call
-   -[DBRestClient uploadFile:toPath:withParentRev:fromUploadId:] to turn the bytes appended at that uploadId
-   into an actual file in the user's Dropbox.
-   Use a nil uploadId to start uploading a new file. */
-- (void)uploadFileChunk:(NSString *)uploadId offset:(unsigned long long)offset fromPath:(NSString *)localPath;
-- (void)uploadFile:(NSString *)filename toPath:(NSString *)parentFolder withParentRev:(NSString *)parentRev
-	fromUploadId:(NSString *)uploadId;
-
-
-/* Loads a list of up to 10 DBMetadata objects representing past revisions of the file at path */
-- (void)loadRevisionsForFile:(NSString *)path;
-
-/* Same as above but with a configurable limit to number of DBMetadata objects returned, up to 1000 */
-- (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit;
-
-/* Restores a file at path as it existed at the given rev and returns the metadata of the restored
-   file after restoration */
-- (void)restoreFile:(NSString *)path toRev:(NSString *)rev;
-
-/* Creates a folder at the given root/path */
-- (void)createFolder:(NSString*)path;
-
-- (void)deletePath:(NSString*)path;
-
-- (void)copyFrom:(NSString*)fromPath toPath:(NSString *)toPath;
-
-- (void)createCopyRef:(NSString *)path; // Used to copy between Dropboxes
-- (void)copyFromRef:(NSString*)copyRef toPath:(NSString *)toPath; // Takes copy ref created by above call
-
-- (void)moveFrom:(NSString*)fromPath toPath:(NSString *)toPath;
-
-- (void)loadAccountInfo;
-
-- (void)searchPath:(NSString*)path forKeyword:(NSString*)keyword;
-
-- (void)loadSharableLinkForFile:(NSString *)path;
-- (void)loadSharableLinkForFile:(NSString *)path shortUrl:(BOOL)createShortUrl;
-
-- (void)loadStreamableURLForFile:(NSString *)path;
-
-- (NSUInteger)requestCount;
-
-@property (nonatomic, assign) id<DBRestClientDelegate> delegate;
-
-@end
-
-
-
-
-/* The delegate provides allows the user to get the result of the calls made on the DBRestClient.
-   Right now, the error parameter of failed calls may be nil and [error localizedDescription] does
-   not contain an error message appropriate to show to the user. */
-@protocol DBRestClientDelegate <NSObject>
-
-@optional
-
-- (void)restClient:(DBRestClient*)client loadedMetadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client metadataUnchangedAtPath:(NSString*)path;
-- (void)restClient:(DBRestClient*)client loadMetadataFailedWithError:(NSError*)error; 
-// [error userInfo] contains the root and path of the call that failed
-
-- (void)restClient:(DBRestClient*)client loadedDeltaEntries:(NSArray *)entries reset:(BOOL)shouldReset cursor:(NSString *)cursor hasMore:(BOOL)hasMore;
-- (void)restClient:(DBRestClient*)client loadDeltaFailedWithError:(NSError *)error;
-
-- (void)restClient:(DBRestClient*)client loadedAccountInfo:(DBAccountInfo*)info;
-- (void)restClient:(DBRestClient*)client loadAccountInfoFailedWithError:(NSError*)error; 
-
-- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)destPath;
-// Implement the following callback instead of the previous if you care about the value of the
-// Content-Type HTTP header and the file metadata. Only one will be called per successful response.
-- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)destPath contentType:(NSString*)contentType metadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client loadProgress:(CGFloat)progress forFile:(NSString*)destPath;
-- (void)restClient:(DBRestClient*)client loadFileFailedWithError:(NSError*)error;
-// [error userInfo] contains the destinationPath
-
-
-- (void)restClient:(DBRestClient*)client loadedThumbnail:(NSString*)destPath metadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client loadThumbnailFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)client uploadedFile:(NSString*)destPath from:(NSString*)srcPath 
-        metadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client uploadProgress:(CGFloat)progress 
-        forFile:(NSString*)destPath from:(NSString*)srcPath;
-- (void)restClient:(DBRestClient*)client uploadFileFailedWithError:(NSError*)error;
-// [error userInfo] contains the sourcePath
-
-- (void)restClient:(DBRestClient *)client uploadedFileChunk:(NSString *)uploadId newOffset:(unsigned long long)offset
-	fromFile:(NSString *)localPath expires:(NSDate *)expiresDate;
-- (void)restClient:(DBRestClient *)client uploadFileChunkFailedWithError:(NSError *)error;
-- (void)restClient:(DBRestClient *)client uploadFileChunkProgress:(CGFloat)progress
-	forFile:(NSString *)uploadId offset:(unsigned long long)offset fromPath:(NSString *)localPath;
-
-- (void)restClient:(DBRestClient *)client uploadedFile:(NSString *)destPath fromUploadId:(NSString *)uploadId
-    metadata:(DBMetadata *)metadata;
-- (void)restClient:(DBRestClient *)client uploadFromUploadIdFailedWithError:(NSError *)error;
-
-// Deprecated upload callback
-- (void)restClient:(DBRestClient*)client uploadedFile:(NSString*)destPath from:(NSString*)srcPath;
-
-// Deprecated download callbacks
-- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)destPath contentType:(NSString*)contentType;
-- (void)restClient:(DBRestClient*)client loadedThumbnail:(NSString*)destPath;
-
-- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path;
-- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error;
-
-- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata;
-- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error;
-
-- (void)restClient:(DBRestClient*)client createdFolder:(DBMetadata*)folder;
-// Folder is the metadata for the newly created folder
-- (void)restClient:(DBRestClient*)client createFolderFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)client deletedPath:(NSString *)path;
-- (void)restClient:(DBRestClient*)client deletePathFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)client copiedPath:(NSString *)fromPath to:(DBMetadata *)to;
-- (void)restClient:(DBRestClient*)client copyPathFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)client createdCopyRef:(NSString *)copyRef forPath:(NSString *)path;
-- (void)restClient:(DBRestClient*)client createCopyRefFailedWithError:(NSError *)error;
-
-// Deprecated copy ref callback
-- (void)restClient:(DBRestClient*)client createdCopyRef:(NSString *)copyRef;
-
-- (void)restClient:(DBRestClient*)client copiedRef:(NSString *)copyRef to:(DBMetadata *)to;
-- (void)restClient:(DBRestClient*)client copyFromRefFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)client movedPath:(NSString *)from_path to:(DBMetadata *)result;
-- (void)restClient:(DBRestClient*)client movePathFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)restClient loadedSearchResults:(NSArray*)results 
-forPath:(NSString*)path keyword:(NSString*)keyword;
-// results is a list of DBMetadata * objects
-- (void)restClient:(DBRestClient*)restClient searchFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)restClient loadedSharableLink:(NSString*)link 
-forFile:(NSString*)path;
-- (void)restClient:(DBRestClient*)restClient loadSharableLinkFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)restClient loadedStreamableURL:(NSURL*)url forFile:(NSString*)path;
-- (void)restClient:(DBRestClient*)restClient loadStreamableURLFailedWithError:(NSError*)error;
-
-
-@end
-
-

+ 0 - 24
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBSession+iOS.h

@@ -1,24 +0,0 @@
-//
-//  DBSession+iOS.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/7/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBSession.h"
-
-#import <UIKit/UIKit.h>
-
-@interface DBSession (iOS)
-
-+ (NSDictionary*)parseURLParams:(NSString *)query;
-
-- (NSString *)appScheme;
-
-- (void)linkFromController:(UIViewController *)rootController;
-- (void)linkUserId:(NSString *)userId fromController:(UIViewController *)rootController;
-
-- (BOOL)handleOpenURL:(NSURL *)url;
-
-@end

+ 0 - 59
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DBSession.h

@@ -1,59 +0,0 @@
-//
-//  DBSession.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/8/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "MPOAuthCredentialConcreteStore.h"
-
-extern NSString *kDBSDKVersion;
-
-extern NSString *kDBDropboxAPIHost;
-extern NSString *kDBDropboxAPIContentHost;
-extern NSString *kDBDropboxWebHost;
-extern NSString *kDBDropboxAPIVersion;
-
-extern NSString *kDBRootDropbox;
-extern NSString *kDBRootAppFolder;
-
-extern NSString *kDBProtocolHTTPS;
-
-@protocol DBSessionDelegate;
-
-
-/*  Creating and setting the shared DBSession should be done before any other Dropbox objects are
-    used, perferrably in the UIApplication delegate. */
-@interface DBSession : NSObject {
-    NSDictionary *baseCredentials;
-    NSMutableDictionary *credentialStores;
-    MPOAuthCredentialConcreteStore *anonymousStore;
-    NSString *root;
-    id<DBSessionDelegate> delegate;
-}
-
-+ (DBSession*)sharedSession;
-+ (void)setSharedSession:(DBSession *)session;
-
-- (id)initWithAppKey:(NSString *)key appSecret:(NSString *)secret root:(NSString *)root;
-- (BOOL)isLinked; // Session must be linked before creating any DBRestClient objects
-
-- (void)unlinkAll;
-- (void)unlinkUserId:(NSString *)userId;
-
-- (MPOAuthCredentialConcreteStore *)credentialStoreForUserId:(NSString *)userId;
-- (void)updateAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId;
-
-@property (nonatomic, readonly) NSString *root;
-@property (nonatomic, readonly) NSArray *userIds;
-@property (nonatomic, assign) id<DBSessionDelegate> delegate;
-
-@end
-
-
-@protocol DBSessionDelegate
-
-- (void)sessionDidReceiveAuthorizationFailure:(DBSession *)session userId:(NSString *)userId;
-
-@end

+ 0 - 7
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DropboxSDK-Prefix.pch

@@ -1,7 +0,0 @@
-//
-// Prefix header for all source files of the 'DropboxSDK' target in the 'DropboxSDK' project
-//
-
-#ifdef __OBJC__
-    #import <UIKit/UIKit.h>
-#endif

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/DropboxSDK.h

@@ -1,21 +0,0 @@
-/*
- *  DropboxSDK.h
- *  DropboxSDK
- *
- *  Created by Brian Smith on 7/13/10.
- *  Copyright 2010 Dropbox, Inc. All rights reserved.
- *
- */
-
-/* Import this file to get the most important header files imported */
-#import "DBAccountInfo.h"
-#import "DBSession.h"
-#import "DBRestClient.h"
-#import "DBRequest.h"
-#import "DBMetadata.h"
-#import "DBQuota.h"
-#import "DBError.h"
-#import "NSString+Dropbox.h"
-#import "DBDeltaEntry.h"
-
-#import "DBSession+iOS.h"

+ 0 - 55
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/JSON.h

@@ -1,55 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- @mainpage A strict JSON parser and generator for Objective-C
-
- JSON (JavaScript Object Notation) is a lightweight data-interchange
- format. This framework provides two apis for parsing and generating
- JSON. One standard object-based and a higher level api consisting of
- categories added to existing Objective-C classes.
-
- Learn more on the http://code.google.com/p/json-framework project site.
- 
- This framework does its best to be as strict as possible, both in what it
- accepts and what it generates. For example, it does not support trailing commas
- in arrays or objects. Nor does it support embedded comments, or
- anything else not in the JSON specification. This is considered a feature. 
-
-
- SBJson has been renamed to DBJson in the DropboxSDK because static libraries
- are unable to hide symbols and other libraries that developers use include
- SBJson
- 
-*/
-
-#import "DBJSON.h"
-#import "NSObject+DBJSON.h"
-#import "NSString+DBJSON.h"
-

+ 0 - 14
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPDebug.h

@@ -1,14 +0,0 @@
-//
-//  MPDebug.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 09.02.06.
-//  Copyright 2009 matrixPointer. All rights reserved.
-//
-
-// Removing oauth logging for now, set to '#ifdef DEBUG' to re-enable
-#if 0
-	#define MPLog(...) NSLog(__VA_ARGS__)
-#else
-	#define MPLog(...) do { } while (0)
-#endif

+ 0 - 20
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuth.h

@@ -1,20 +0,0 @@
-//
-//  MPOAuth.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.13.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-#import <MPOAuth/MPOAuthAPI.h>
-#import <MPOAuth/MPOAuthAPIRequestLoader.h>
-#import <MPOAuth/MPOAuthAuthenticationMethod.h>
-#import <MPOAuth/MPOAuthAuthenticationMethodOAuth.h>
-#import <MPOAuth/MPOAuthCredentialStore.h>
-#import <MPOAuth/MPOAuthParameterFactory.h>
-#import <MPOAuth/MPOAuthConnection.h>
-#import <MPOAuth/MPOAuthURLRequest.h>
-#import <MPOAuth/MPOAuthURLResponse.h>

+ 0 - 86
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAPI.h

@@ -1,86 +0,0 @@
-//
-//  MPOAuthAPI.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthCredentialStore.h"
-#import "MPOAuthParameterFactory.h"
-
-extern NSString * const MPOAuthNotificationAccessTokenReceived;
-extern NSString * const MPOAuthNotificationAccessTokenRejected;
-extern NSString * const MPOAuthNotificationAccessTokenRefreshed;
-extern NSString * const MPOAuthNotificationOAuthCredentialsReady;
-extern NSString * const MPOAuthNotificationErrorHasOccurred;
-
-extern NSString * const MPOAuthCredentialRequestTokenKey;
-extern NSString * const MPOAuthCredentialRequestTokenSecretKey;
-extern NSString * const MPOAuthCredentialAccessTokenKey;
-extern NSString * const MPOAuthCredentialAccessTokenSecretKey;
-extern NSString * const MPOAuthCredentialSessionHandleKey;
-
-extern NSString * const MPOAuthTokenRefreshDateDefaultsKey;
-
-typedef enum {
-	MPOAuthSignatureSchemePlainText,
-	MPOAuthSignatureSchemeHMACSHA1,
-	MPOAuthSignatureSchemeRSASHA1
-} MPOAuthSignatureScheme;
-
-typedef enum {
-	MPOAuthAuthenticationStateUnauthenticated		= 0,
-	MPOAuthAuthenticationStateAuthenticating		= 1,
-	MPOAuthAuthenticationStateAuthenticated			= 2
-} MPOAuthAuthenticationState;
-
-@protocol MPOAuthAPIInternalClient
-@end
-
-@class MPOAuthAuthenticationMethod;
-
-@interface MPOAuthAPI : NSObject <MPOAuthAPIInternalClient> {
-@private
-	id <MPOAuthCredentialStore, MPOAuthParameterFactory>		credentials_;
-	NSURL														*baseURL_;
-	NSURL														*authenticationURL_;
-	MPOAuthAuthenticationMethod									*authenticationMethod_;
-	MPOAuthSignatureScheme										signatureScheme_;
-	NSMutableArray												*activeLoaders_;
-	MPOAuthAuthenticationState									oauthAuthenticationState_;
-}
-
-@property (nonatomic, readonly, retain) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
-@property (nonatomic, readonly, retain) NSURL *baseURL;
-@property (nonatomic, readonly, retain) NSURL *authenticationURL;
-@property (nonatomic, readwrite, retain) MPOAuthAuthenticationMethod *authenticationMethod;
-@property (nonatomic, readwrite, assign) MPOAuthSignatureScheme signatureScheme;
-
-@property (nonatomic, readonly, assign) MPOAuthAuthenticationState authenticationState;
-
-
-- (id)initWithCredentials:(NSDictionary *)inCredentials andBaseURL:(NSURL *)inURL;
-- (id)initWithCredentials:(NSDictionary *)inCredentials authenticationURL:(NSURL *)inAuthURL andBaseURL:(NSURL *)inBaseURL;
-- (id)initWithCredentials:(NSDictionary *)inCredentials authenticationURL:(NSURL *)inAuthURL andBaseURL:(NSURL *)inBaseURL autoStart:(BOOL)aFlag;
-
-- (void)authenticate;
-- (BOOL)isAuthenticated;
-
-- (void)performMethod:(NSString *)inMethod withTarget:(id)inTarget andAction:(SEL)inAction;
-- (void)performMethod:(NSString *)inMethod atURL:(NSURL *)inURL withParameters:(NSArray *)inParameters withTarget:(id)inTarget andAction:(SEL)inAction;
-- (void)performPOSTMethod:(NSString *)inMethod atURL:(NSURL *)inURL withParameters:(NSArray *)inParameters withTarget:(id)inTarget andAction:(SEL)inAction;
-- (void)performURLRequest:(NSURLRequest *)inRequest withTarget:(id)inTarget andAction:(SEL)inAction;
-
-- (NSData *)dataForMethod:(NSString *)inMethod;
-- (NSData *)dataForMethod:(NSString *)inMethod withParameters:(NSArray *)inParameters;
-- (NSData *)dataForURL:(NSURL *)inURL andMethod:(NSString *)inMethod withParameters:(NSArray *)inParameters;
-
-- (id)credentialNamed:(NSString *)inCredentialName;
-- (void)setCredential:(id)inCredential withName:(NSString *)inName;
-- (void)removeCredentialNamed:(NSString *)inName;
-
-- (void)discardCredentials;
-
-@end

+ 0 - 50
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAPIRequestLoader.h

@@ -1,50 +0,0 @@
-//
-//  MPOAuthAPIRequestLoader.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-extern NSString * const MPOAuthNotificationRequestTokenReceived;
-extern NSString * const MPOAuthNotificationRequestTokenRejected;
-extern NSString * const MPOAuthNotificationAccessTokenReceived;
-extern NSString * const MPOAuthNotificationAccessTokenRejected;
-extern NSString * const MPOAuthNotificationAccessTokenRefreshed;
-extern NSString * const MPOAuthNotificationErrorHasOccurred;
-
-@protocol MPOAuthCredentialStore;
-@protocol MPOAuthParameterFactory;
-
-@class MPOAuthURLRequest;
-@class MPOAuthURLResponse;
-@class MPOAuthCredentialConcreteStore;
-
-@interface MPOAuthAPIRequestLoader : NSObject {
-	MPOAuthCredentialConcreteStore	*_credentials;
-	MPOAuthURLRequest				*_oauthRequest;
-	MPOAuthURLResponse				*_oauthResponse;
-	NSMutableData					*_dataBuffer;
-	NSString						*_dataAsString;
-	NSError							*_error;
-	id								_target;
-	SEL								_action;
-}
-
-@property (nonatomic, readwrite, retain) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
-@property (nonatomic, readwrite, retain) MPOAuthURLRequest *oauthRequest;
-@property (nonatomic, readwrite, retain) MPOAuthURLResponse *oauthResponse;
-@property (nonatomic, readonly, retain) NSData *data;
-@property (nonatomic, readonly, retain) NSString *responseString;
-@property (nonatomic, readwrite, assign) id target;
-@property (nonatomic, readwrite, assign) SEL action;
-
-- (id)initWithURL:(NSURL *)inURL;
-- (id)initWithRequest:(MPOAuthURLRequest *)inRequest;
-
-- (void)loadSynchronously:(BOOL)inSynchronous;
-
-@end
-

+ 0 - 30
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAuthenticationMethod.h

@@ -1,30 +0,0 @@
-//
-//  MPOAuthAuthenticationMethod.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 09.12.19.
-//  Copyright 2009 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-extern NSString * const MPOAuthAccessTokenURLKey;
-
-@class MPOAuthAPI;
-
-@interface MPOAuthAuthenticationMethod : NSObject {
-	MPOAuthAPI								*oauthAPI_;
-	NSURL									*oauthGetAccessTokenURL_;
-	NSTimer									*refreshTimer_;
-}
-
-@property (nonatomic, readwrite, assign) MPOAuthAPI *oauthAPI;
-@property (nonatomic, readwrite, retain) NSURL *oauthGetAccessTokenURL;
-
-- (id)initWithAPI:(MPOAuthAPI *)inAPI forURL:(NSURL *)inURL;
-- (id)initWithAPI:(MPOAuthAPI *)inAPI forURL:(NSURL *)inURL withConfiguration:(NSDictionary *)inConfig;
-- (void)authenticate;
-
-- (void)setTokenRefreshInterval:(NSTimeInterval)inTimeInterval;
-- (void)refreshAccessToken;
-@end

+ 0 - 44
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthAuthenticationMethodOAuth.h

@@ -1,44 +0,0 @@
-//
-//  MPOAuthAuthenticationMethodOAuth.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 09.12.19.
-//  Copyright 2009 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthAuthenticationMethod.h"
-#import "MPOAuthAPI.h"
-#import "MPOAuthAPIRequestLoader.h"
-
-extern NSString * const MPOAuthNotificationRequestTokenReceived;
-extern NSString * const MPOAuthNotificationRequestTokenRejected;
-
-@protocol MPOAuthAuthenticationMethodOAuthDelegate;
-
-@interface MPOAuthAuthenticationMethodOAuth : MPOAuthAuthenticationMethod <MPOAuthAPIInternalClient> {
-	NSURL									*oauthRequestTokenURL_;
-	NSURL									*oauthAuthorizeTokenURL_;
-	BOOL									oauth10aModeActive_;
-	
-	id <MPOAuthAuthenticationMethodOAuthDelegate> delegate_;
-}
-
-@property (nonatomic, readwrite, assign) id <MPOAuthAuthenticationMethodOAuthDelegate> delegate;
-
-@property (nonatomic, readwrite, retain) NSURL *oauthRequestTokenURL;
-@property (nonatomic, readwrite, retain) NSURL *oauthAuthorizeTokenURL;
-
-- (void)authenticate;
-
-@end
-
-@protocol MPOAuthAuthenticationMethodOAuthDelegate <NSObject>
-- (NSURL *)callbackURLForCompletedUserAuthorization;
-- (BOOL)automaticallyRequestAuthenticationFromURL:(NSURL *)inAuthURL withCallbackURL:(NSURL *)inCallbackURL;
-
-@optional
-- (NSString *)oauthVerifierForCompletedUserAuthorization;
-- (void)authenticationDidFailWithError:(NSError *)error;
-@end
-

+ 0 - 29
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthConnection.h

@@ -1,29 +0,0 @@
-//
-//  MPOAuthConnection.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-@protocol MPOAuthCredentialStore;
-@protocol MPOAuthParameterFactory;
-
-@class MPOAuthURLRequest;
-@class MPOAuthURLResponse;
-@class MPOAuthCredentialConcreteStore;
-
-@interface MPOAuthConnection : NSURLConnection {
-@private
-	MPOAuthCredentialConcreteStore *_credentials;
-}
-
-@property (nonatomic, readonly) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
-
-+ (MPOAuthConnection *)connectionWithRequest:(MPOAuthURLRequest *)inRequest delegate:(id)inDelegate credentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials;
-+ (NSData *)sendSynchronousRequest:(MPOAuthURLRequest *)inRequest usingCredentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials returningResponse:(MPOAuthURLResponse **)outResponse error:(NSError **)inError;
-- (id)initWithRequest:(MPOAuthURLRequest *)inRequest delegate:(id)inDelegate credentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials;
-
-@end

+ 0 - 18
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthCredentialConcreteStore+KeychainAdditions.h

@@ -1,18 +0,0 @@
-//
-//  MPOAuthCredentialConcreteStore+TokenAdditionsMac.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.13.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthCredentialConcreteStore.h"
-
-@interface MPOAuthCredentialConcreteStore (KeychainAdditions)
-
-- (void)addToKeychainUsingName:(NSString *)inName andValue:(NSString *)inValue;
-- (NSString *)findValueFromKeychainUsingName:(NSString *)inName;
-- (void)removeValueFromKeychainUsingName:(NSString *)inName;
-
-@end

+ 0 - 40
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthCredentialConcreteStore.h

@@ -1,40 +0,0 @@
-//
-//  MPOAuthCredentialConcreteStore.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.11.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthCredentialStore.h"
-#import "MPOAuthParameterFactory.h"
-
-@interface MPOAuthCredentialConcreteStore : NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> {
-	NSMutableDictionary *store_;
-	NSURL				*baseURL_;
-	NSURL				*authenticationURL_;
-}
-
-@property (nonatomic, readonly, retain) NSURL *baseURL;
-@property (nonatomic, readonly, retain) NSURL *authenticationURL;
-
-@property (nonatomic, readonly) NSString *tokenSecret;
-@property (nonatomic, readonly) NSString *signingKey;
-
-@property (nonatomic, readwrite, retain) NSString *requestToken;
-@property (nonatomic, readwrite, retain) NSString *requestTokenSecret;
-@property (nonatomic, readwrite, retain) NSString *accessToken;
-@property (nonatomic, readwrite, retain) NSString *accessTokenSecret;
-
-@property (nonatomic, readwrite, retain) NSString *sessionHandle;
-
-- (id)initWithCredentials:(NSDictionary *)inCredential;
-- (id)initWithCredentials:(NSDictionary *)inCredentials forBaseURL:(NSURL *)inBaseURL;
-- (id)initWithCredentials:(NSDictionary *)inCredentials forBaseURL:(NSURL *)inBaseURL withAuthenticationURL:(NSURL *)inAuthenticationURL;
-
-- (void)setCredential:(id)inCredential withName:(NSString *)inName;
-- (void)removeCredentialNamed:(NSString *)inName;
-	
-
-@end

+ 0 - 33
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthCredentialStore.h

@@ -1,33 +0,0 @@
-//
-//  MPOAuthCredentialStore.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.06.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-extern NSString *kMPOAuthCredentialConsumerKey;
-extern NSString *kMPOAuthCredentialConsumerSecret;
-extern NSString *kMPOAuthCredentialUsername;
-extern NSString *kMPOAuthCredentialPassword;
-extern NSString *kMPOAuthCredentialRequestToken;
-extern NSString *kMPOAuthCredentialRequestTokenSecret;
-extern NSString *kMPOAuthCredentialAccessToken;
-extern NSString *kMPOAuthCredentialAccessTokenSecret;
-extern NSString *kMPOAuthCredentialSessionHandle;
-extern NSString *kMPOAuthCredentialRealm;
-
-@protocol MPOAuthCredentialStore <NSObject>
-
-@property (nonatomic, readonly) NSString *consumerKey;
-@property (nonatomic, readonly) NSString *consumerSecret;
-@property (nonatomic, readonly) NSString *username;
-@property (nonatomic, readonly) NSString *password;
-@property (nonatomic, readonly, retain) NSString *requestToken;
-@property (nonatomic, readonly, retain) NSString *requestTokenSecret;
-@property (nonatomic, readonly, retain) NSString *accessToken;
-@property (nonatomic, readonly, retain) NSString *accessTokenSecret;
-
-- (NSString *)credentialNamed:(NSString *)inCredentialName;
-- (void)discardOAuthCredentials;
-@end

+ 0 - 28
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthParameterFactory.h

@@ -1,28 +0,0 @@
-//
-//  MPOAuthParameterFactory.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.06.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-extern NSString *kMPOAuthSignatureMethod;
-
-@class MPURLRequestParameter;
-
-@protocol MPOAuthParameterFactory <NSObject>
-
-@property (nonatomic, readwrite, retain) NSString *signatureMethod;
-@property (nonatomic, readonly) NSString *signingKey;
-@property (nonatomic, readonly) NSString *timestamp;
-
-- (NSArray *)oauthParameters;
-
-- (MPURLRequestParameter *)oauthConsumerKeyParameter;
-- (MPURLRequestParameter *)oauthTokenParameter;
-- (MPURLRequestParameter *)oauthSignatureMethodParameter;
-- (MPURLRequestParameter *)oauthTimestampParameter;
-- (MPURLRequestParameter *)oauthNonceParameter;
-- (MPURLRequestParameter *)oauthVersionParameter;
-
-@end

+ 0 - 28
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthSignatureParameter.h

@@ -1,28 +0,0 @@
-//
-//  MPOAuthSignatureParameter.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.07.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPURLRequestParameter.h"
-
-#define kMPOAuthSignatureMethodPlaintext	@"PLAINTEXT"
-#define kMPOAuthSignatureMethodHMACSHA1		@"HMAC-SHA1"
-#define kMPOAuthSignatureMethodRSASHA1		@"RSA-SHA1"
-
-@class MPOAuthURLRequest;
-
-@interface MPOAuthSignatureParameter : MPURLRequestParameter {
-
-}
-
-+ (NSString *)signatureBaseStringUsingParameterString:(NSString *)inParameterString forRequest:(MPOAuthURLRequest *)inRequest;
-+ (NSString *)HMAC_SHA1SignatureForText:(NSString *)inText usingSecret:(NSString *)inSecret;
-
-- (id)initWithText:(NSString *)inText andSecret:(NSString *)inSecret forRequest:(MPOAuthURLRequest *)inRequest usingMethod:(NSString *)inMethod;
-
-
-@end

+ 0 - 32
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthURLRequest.h

@@ -1,32 +0,0 @@
-//
-//  MPOAuthURLRequest.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface MPOAuthURLRequest : NSObject {
-@private
-	NSURL			*_url;
-	NSString		*_httpMethod;
-	NSURLRequest	*_urlRequest;
-	NSMutableArray	*_parameters;
-}
-
-@property (nonatomic, readwrite, retain) NSURL *url;
-@property (nonatomic, readwrite, retain) NSString *HTTPMethod;
-@property (nonatomic, readonly, retain) NSURLRequest *urlRequest;
-@property (nonatomic, readwrite, retain) NSMutableArray *parameters;
-
-- (id)initWithURL:(NSURL *)inURL andParameters:(NSArray *)parameters;
-- (id)initWithURLRequest:(NSURLRequest *)inRequest;
-
-- (void)addParameters:(NSArray *)inParameters;
-
-- (NSMutableURLRequest*)urlRequestSignedWithSecret:(NSString *)inSecret usingMethod:(NSString *)inScheme;
-
-@end

+ 0 - 20
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPOAuthURLResponse.h

@@ -1,20 +0,0 @@
-//
-//  MPOAuthURLResponse.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface MPOAuthURLResponse : NSObject {
-	NSURLResponse	*_urlResponse;
-	NSDictionary	*_oauthParameters;
-}
-
-@property (nonatomic, readonly, retain) NSURLResponse *urlResponse;
-@property (nonatomic, readonly, retain) NSDictionary *oauthParameters;
-
-@end

+ 0 - 30
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/MPURLRequestParameter.h

@@ -1,30 +0,0 @@
-//
-//  MPURLParameter.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface MPURLRequestParameter : NSObject {
-	NSString *_name;
-	NSString *_value;
-}
-
-@property (nonatomic, readwrite, copy) NSString *name;
-@property (nonatomic, readwrite, copy) NSString *value;
-
-+ (NSArray *)parametersFromString:(NSString *)inString;
-+ (NSArray *)parametersFromDictionary:(NSDictionary *)inDictionary;
-+ (NSDictionary *)parameterDictionaryFromString:(NSString *)inString;
-+ (NSString *)parameterStringForParameters:(NSArray *)inParameters;
-+ (NSString *)parameterStringForDictionary:(NSDictionary *)inParameterDictionary;
-
-- (id)initWithName:(NSString *)inName andValue:(NSString *)inValue;
-
-- (NSString *)URLEncodedParameterString;
-
-@end

+ 0 - 15
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSDictionary+Dropbox.h

@@ -1,15 +0,0 @@
-//
-//  NSDictionary+Dropbox.h
-//  Dropbox
-//
-//  Created by Brian Smith on 6/5/11.
-//  Copyright 2011 Dropbox, Inc. All rights reserved.
-//
-
-
-@interface NSDictionary (Dropbox)
-
-+ (NSDictionary *)dictionaryWithQueryString:(NSString *)query;
-- (NSString *)urlRepresentation;
-
-@end

+ 0 - 68
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSObject+DBJSON.h

@@ -1,68 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-
-/**
- @brief Adds JSON generation to Foundation classes
- 
- This is a category on NSObject that adds methods for returning JSON representations
- of standard objects to the objects themselves. This means you can call the
- -JSONRepresentation method on an NSArray object and it'll do what you want.
- */
-@interface NSObject (NSObject_DBJSON)
-
-/**
- @brief Returns a string containing the receiver encoded as a JSON fragment.
- 
- This method is added as a category on NSObject but is only actually
- supported for the following objects:
- @li NSDictionary
- @li NSArray
- @li NSString
- @li NSNumber (also used for booleans)
- @li NSNull 
- 
- @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed.
- */
-- (NSString *)JSONFragment;
-
-/**
- @brief Returns a string containing the receiver encoded in JSON.
-
- This method is added as a category on NSObject but is only actually
- supported for the following objects:
- @li NSDictionary
- @li NSArray
- */
-- (NSString *)JSONRepresentation;
-
-@end
-

+ 0 - 58
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSString+DBJSON.h

@@ -1,58 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-/**
- @brief Adds JSON parsing methods to NSString
- 
-This is a category on NSString that adds methods for parsing the target string.
-*/
-@interface NSString (NSString_DBJSON)
-
-
-/**
- @brief Returns the object represented in the receiver, or nil on error. 
- 
- Returns a a scalar object represented by the string's JSON fragment representation.
- 
- @deprecated Given we bill ourselves as a "strict" JSON library, this method should be removed.
- */
-- (id)JSONFragmentValue;
-
-/**
- @brief Returns the NSDictionary or NSArray represented by the current string's JSON representation.
- 
- Returns the dictionary or array represented in the receiver, or nil on error.
-
- Returns the NSDictionary or NSArray represented by the current string's JSON representation.
- */
-- (id)JSONValue;
-
-@end

+ 0 - 18
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSString+Dropbox.h

@@ -1,18 +0,0 @@
-//
-//  NSString+Dropbox.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 7/19/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-@interface NSString (Dropbox)
-
-// This will take a path for a resource and normalize so you can compare paths
-- (NSString*)normalizedDropboxPath;
-
-// Normalizes both paths and compares them
-- (BOOL)isEqualToDropboxPath:(NSString*)otherPath;
-
-@end

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSString+URLEscapingAdditions.h

@@ -1,21 +0,0 @@
-//
-//  NSString+URLEscapingAdditions.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.07.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface NSString (MPURLEscapingAdditions)
-
-- (BOOL)isIPAddress;
-- (NSString *)stringByAddingURIPercentEscapesUsingEncoding:(NSStringEncoding)inEncoding;
-
-@end
-
-@interface NSURL (MPURLEscapingAdditions)
-- (NSString *)stringByAddingURIPercentEscapesUsingEncoding:(NSStringEncoding)inEncoding;
-@end

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSURL+MPURLParameterAdditions.h

@@ -1,21 +0,0 @@
-//
-//  NSURL+MPURLParameterAdditions.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.08.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface NSURL (MPURLParameterAdditions)
-
-- (NSURL *)urlByAddingParameters:(NSArray *)inParameters;
-- (NSURL *)urlByAddingParameterDictionary:(NSDictionary *)inParameters;
-- (NSURL *)urlByRemovingQuery;
-- (NSString *)absoluteNormalizedString;
-
-- (BOOL)domainMatches:(NSString *)inString;
-
-@end

+ 0 - 14
Libraries external/DropboxSDK/DropboxSDK.framework/Headers/NSURLResponse+Encoding.h

@@ -1,14 +0,0 @@
-//
-//  NSURL+MPEncodingAdditions.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface NSURLResponse (EncodingAdditions)
-- (NSStringEncoding)encoding;
-@end

BIN
Libraries external/DropboxSDK/DropboxSDK.framework/Info.plist


+ 0 - 9
Libraries external/DropboxSDK/DropboxSDK/64bit.xcconfig

@@ -1,9 +0,0 @@
-//
-//  64bit.xcconfig
-//  DropboxSDK
-//
-//  Created by brian on 9/23/13.
-//
-//
-ARCHS = arm64 x86_64
-IPHONEOS_DEPLOYMENT_TARGET=7.0

+ 0 - 82
Libraries external/DropboxSDK/DropboxSDK/Classes/DBAccountInfo.m

@@ -1,82 +0,0 @@
-//
-//  DBAccountInfo.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBAccountInfo.h"
-
-
-@implementation DBAccountInfo
-
-- (id)initWithDictionary:(NSDictionary*)dict {
-    if ((self = [super init])) {
-        email = [[dict objectForKey:@"email"] retain];
-        country = [[dict objectForKey:@"country"] retain];
-        displayName = [[dict objectForKey:@"display_name"] retain];
-        if ([dict objectForKey:@"quota_info"]) {
-            quota = [[DBQuota alloc] initWithDictionary:[dict objectForKey:@"quota_info"]];
-        }
-        userId = [[[dict objectForKey:@"uid"] stringValue] retain];
-        referralLink = [[dict objectForKey:@"referral_link"] retain];
-        original = [dict retain];
-    }
-    return self;
-}
-
-- (void)dealloc {
-    [email release];
-    [country release];
-    [displayName release];
-    [quota release];
-    [userId release];
-    [referralLink release];
-    [original release];
-    [super dealloc];
-}
-
-@synthesize email;
-@synthesize country;
-@synthesize displayName;
-@synthesize quota;
-@synthesize userId;
-@synthesize referralLink;
-
-
-#pragma mark NSCoding methods
-
-- (void)encodeWithCoder:(NSCoder*)coder {
-    [coder encodeObject:original forKey:@"original"];
-}
-
-- (id)initWithCoder:(NSCoder*)coder {
-    if ([coder containsValueForKey:@"original"]) {
-        return [self initWithDictionary:[coder decodeObjectForKey:@"original"]];
-    } else {
-        NSMutableDictionary *mDict = [NSMutableDictionary dictionary];
-
-        [mDict setObject:[coder decodeObjectForKey:@"country"] forKey:@"country"];
-        [mDict setObject:[coder decodeObjectForKey:@"displayName"] forKey:@"display_name"];
-
-        DBQuota *tempQuota = [coder decodeObjectForKey:@"quota"];
-        NSDictionary *quotaDict =
-            [NSDictionary dictionaryWithObjectsAndKeys:
-             [NSNumber numberWithLongLong:tempQuota.normalConsumedBytes], @"normal",
-             [NSNumber numberWithLongLong:tempQuota.sharedConsumedBytes], @"shared",
-             [NSNumber numberWithLongLong:tempQuota.totalBytes], @"quota", nil];
-        [mDict setObject:quotaDict forKey:@"quota_info"];
-
-        NSNumber *uid = [NSNumber numberWithLongLong:[[coder decodeObjectForKey:@"userId"] longLongValue]];
-        [mDict setObject:uid forKey:@"uid"];
-        [mDict setObject:[coder decodeObjectForKey:@"referralLink"] forKey:@"referral_link"];
-        if ([coder containsValueForKey:@"email"]) {
-            [mDict setObject:[coder decodeObjectForKey:@"email"] forKey:@"email"];
-        }
-
-        return [self initWithDictionary:mDict];
-    }
-}
-
-@end

+ 0 - 131
Libraries external/DropboxSDK/DropboxSDK/Classes/DBAuthHelperOSX.m

@@ -1,131 +0,0 @@
-//
-//  DBAuthHelperOSX.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/26/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBAuthHelperOSX.h"
-
-#import "DBLog.h"
-
-NSString *DBAuthHelperOSXStateChangedNotification = @"DBAuthHelperOSXStateChangedNotification";
-
-
-@interface DBAuthHelperOSX () <DBRestClientOSXDelegate>
-
-- (void)postStateChangedNotification:(NSError *)error;
-
-@property (nonatomic, readonly) DBRestClient *restClient;
-
-@end
-
-
-@implementation DBAuthHelperOSX
-
-@synthesize loading;
-
-+ (DBAuthHelperOSX *)sharedHelper {
-	static DBAuthHelperOSX *sharedHelper;
-	if (!sharedHelper) {
-		sharedHelper = [DBAuthHelperOSX new];
-	}
-
-	return sharedHelper;
-}
-
-- (id)init {
-	if ((self = [super init])) {
-	}
-	return self;
-}
-
-- (void)dealloc {
-	[[NSNotificationCenter defaultCenter] removeObserver:self];
-	[restClient release];
-	[super dealloc];
-}
-
-
-#pragma mark public methods
-
-- (void)authenticate {
-	if (loading) {
-		DBLogError(@"DropboxSDK: called -[DBAuthHelperOSX authenticate] while the auth helper is already loading. Doing nothing.");
-		return;
-	} else if ([[DBSession sharedSession] isLinked]) {
-		DBLogError(@"DropboxSDK: called -[DBAuthHelperOSX authenticate] when already linked. Doing nothing.");
-		return;
-	}
-
-	loading = YES;
-	[self postStateChangedNotification:nil];
-
-	[self.restClient loadRequestToken];
-}
-
-
-#pragma mark DBRestClientOSXDelegate methods
-
-- (void)restClientLoadedRequestToken:(DBRestClient *)restClient {
-    loading = NO;
-	[self postStateChangedNotification:nil];
-
-	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidBecomeActive:) name:NSApplicationDidBecomeActiveNotification object:nil];
-
-    NSURL *url = [self.restClient authorizeURL];
-    [[NSWorkspace sharedWorkspace] openURL:url];
-}
-
-- (void)restClient:(DBRestClient *)restClient loadRequestTokenFailedWithError:(NSError *)error {
-	loading = NO;
-	if (![self.restClient requestTokenLoaded]) {
-		[[NSNotificationCenter defaultCenter] removeObserver:self];
-	}
-	[self postStateChangedNotification:error];
-}
-
-- (void)restClientLoadedAccessToken:(DBRestClient *)client {
-	loading = NO;
-	[[NSNotificationCenter defaultCenter] removeObserver:self];
-	[restClient autorelease]; // HAX: having this obj maintain it's own rest client maintain it's own client is bad when session unlinks. Need to fix SDK to not cause this
-	restClient = nil;
-	[self postStateChangedNotification:nil];
-}
-
-- (void)restClient:(DBRestClient *)restClient loadAccessTokenFailedWithError:(NSError *)error {
-    loading = NO;
-	[self postStateChangedNotification:error];
-}
-
-
-#pragma mark private methods
-
-- (void)postStateChangedNotification:(NSError *)error {
-	NSDictionary *userInfo = nil;
-	if (error) {
-		userInfo = [NSDictionary dictionaryWithObject:error forKey:@"error"];
-	}
-
-	[[NSNotificationCenter defaultCenter]
-	 postNotificationName:DBAuthHelperOSXStateChangedNotification object:self userInfo:userInfo];
-}
-
-- (DBRestClient *)restClient {
-	if (!restClient) {
-		restClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
-		restClient.delegate = self;
-	}
-	return restClient;
-}
-
-- (void)applicationDidBecomeActive:(NSNotification*)notification {
-	if ([self.restClient requestTokenLoaded] && !loading) {
-		[self postStateChangedNotification:nil];
-
-		[self.restClient loadAccessToken];
-	}
-}
-
-@end

+ 0 - 344
Libraries external/DropboxSDK/DropboxSDK/Classes/DBConnectController.m

@@ -1,344 +0,0 @@
-//
-//  DBConnectController.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/4/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBConnectController.h"
-
-#import <QuartzCore/QuartzCore.h>
-
-#import "DBLog.h"
-#import "DBRequest.h"
-#import "DBSession+iOS.h"
-
-#include "TargetConditionals.h"
-
-
-extern id<DBNetworkRequestDelegate> dbNetworkRequestDelegate;
-
-@interface DBConnectController () <UIWebViewDelegate, UIAlertViewDelegate>
-
-- (void)loadRequest;
-- (BOOL)openUrl:(NSURL *)url;
-- (void)dismiss;
-- (void)dismissAnimated:(BOOL)animated;
-- (void)cancelAnimated:(BOOL)animated;
-
-@property (nonatomic, assign) UIViewController *rootController;
-@property (nonatomic, retain) DBSession *session;
-@property (nonatomic, retain) UIAlertView *alertView;
-@property (nonatomic, assign) BOOL hasLoaded;
-@property (nonatomic, retain) NSURL *url;
-@property (nonatomic, retain) NSURLRequest *request;
-@property (nonatomic, retain) UIWebView *webView;
-
-@end
-
-
-@interface NSURL (DBConnectController)
-
-- (NSArray *)dbPathComponents;
-
-@end
-
-
-@implementation DBConnectController
-
-@synthesize alertView;
-
-- (void)setAlertView:(UIAlertView *)pAlertView {
-    if (pAlertView == alertView) return;
-    alertView.delegate = nil;
-    [alertView release];
-    alertView = [pAlertView retain];
-}
-
-@synthesize rootController;
-@synthesize session;
-@synthesize hasLoaded;
-@synthesize url;
-@synthesize webView;
-
-- (id)initWithUrl:(NSURL *)connectUrl fromController:(UIViewController *)pRootController {
-    return [self initWithUrl:connectUrl fromController:pRootController session:[DBSession sharedSession]];
-}
-
-- (id)initWithUrl:(NSURL *)connectUrl fromController:(UIViewController *)pRootController session:(DBSession *)pSession {
-    return [self initWithUrlRequest:[DBConnectController requestForUrl:connectUrl]
-                     fromController:rootController
-                            session:pSession];
-}
-
-- (id)initWithUrlRequest:(NSURLRequest *)connectReq
-          fromController:(UIViewController *)pRootController
-                 session:(DBSession *)pSession {
-    if ((self = [super init])) {
-        self.url = [connectReq URL];
-        self.request = connectReq;
-        self.rootController = pRootController;
-        self.session = pSession;
-
-        self.title = @"Dropbox";
-        self.navigationItem.rightBarButtonItem =
-            [[[UIBarButtonItem alloc]
-              initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel)]
-             autorelease];
-
-#ifdef __IPHONE_7_0 // Temporary until we can switch to XCode 5 for release.
-        if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) {
-            self.edgesForExtendedLayout = UIRectEdgeNone;
-        }
-#endif
-    }
-    return self;
-}
-
-- (void)dealloc {
-	[session release];
-    alertView.delegate = nil;
-    [alertView release];
-    [url release];
-    if (webView.isLoading) {
-        [webView stopLoading];
-    }
-    webView.delegate = nil;
-    [webView release];
-    [super dealloc];
-}
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    self.view.backgroundColor = [UIColor colorWithRed:241.0/255 green:249.0/255 blue:255.0/255 alpha:1.0];
-
-    UIActivityIndicatorView *activityIndicator =
-        [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
-    activityIndicator.autoresizingMask =
-        UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
-        UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
-    CGRect frame = activityIndicator.frame;
-    frame.origin.x = floorf(self.view.bounds.size.width/2 - frame.size.width/2);
-    frame.origin.y = floorf(self.view.bounds.size.height/2 - frame.size.height/2) - 20;
-    activityIndicator.frame = frame;
-    [activityIndicator startAnimating];
-    [self.view addSubview:activityIndicator];
-
-    self.webView = [[[UIWebView alloc] initWithFrame:self.view.frame] autorelease];
-    self.webView.delegate = self;
-    self.webView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
-    self.webView.scalesPageToFit = YES;
-    self.webView.hidden = YES;
-    self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
-    [self.view addSubview:self.webView];
-
-    [self loadRequest];
-}
-
-- (void)viewDidUnload {
-    [super viewDidUnload];
-    if ([webView isLoading]) {
-        [webView stopLoading];
-    }
-    webView.delegate = nil;
-    [webView release];
-    webView = nil;
-}
-
-- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
-    return UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ||
-            [self.rootController shouldAutorotateToInterfaceOrientation:interfaceOrientation]; // Delegate to presenting view.
-}
-
-
-#pragma mark UIWebViewDelegate methods
-
-- (void)webViewDidStartLoad:(UIWebView *)webView {
-    [dbNetworkRequestDelegate networkRequestStarted];
-}
-
-- (void)webViewDidFinishLoad:(UIWebView *)aWebView {
-    [aWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout = \"none\";"]; // Disable touch-and-hold action sheet
-    [aWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect = \"none\";"]; // Disable text selection
-    webView.frame = self.view.bounds;
-
-    CATransition* transition = [CATransition animation];
-    transition.duration = 0.25;
-    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
-    transition.type = kCATransitionFade;
-    [self.view.layer addAnimation:transition forKey:nil];
-
-    webView.hidden = NO;
-
-    hasLoaded = YES;
-    [dbNetworkRequestDelegate networkRequestStopped];
-}
-
-- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
-    [dbNetworkRequestDelegate networkRequestStopped];
-
-    // ignore "Fame Load Interrupted" errors and cancels
-    if (error.code == 102 && [error.domain isEqual:@"WebKitErrorDomain"]) return;
-    if (error.code == NSURLErrorCancelled && [error.domain isEqual:NSURLErrorDomain]) return;
-
-    DBLogWarning(@"DropboxSDK: error loading DBConnectController - %@", error);
-
-    NSString *title = @"";
-    NSString *message = @"";
-
-    if ([error.domain isEqual:NSURLErrorDomain] && error.code == NSURLErrorNotConnectedToInternet) {
-        title = NSLocalizedString(@"No internet connection", @"");
-        message = NSLocalizedString(@"Try again once you have an internet connection.", @"");
-    } else if ([error.domain isEqual:NSURLErrorDomain] &&
-               (error.code == NSURLErrorTimedOut || error.code == NSURLErrorCannotConnectToHost)) {
-        title = NSLocalizedString(@"Internet connection lost", @"");
-        message    = NSLocalizedString(@"Please try again.", @"");
-    } else {
-        title = NSLocalizedString(@"Unknown Error Occurred", @"");
-        message = NSLocalizedString(@"There was an error loading Dropbox. Please try again.", @"");
-    }
-
-    if (self.hasLoaded) {
-        // If it has loaded, it means it's a form submit, so users can cancel/retry on their own
-        NSString *okStr = NSLocalizedString(@"OK", nil);
-
-        self.alertView =
-            [[[UIAlertView alloc]
-              initWithTitle:title message:message delegate:nil cancelButtonTitle:okStr otherButtonTitles:nil]
-             autorelease];
-    } else {
-        // if the page hasn't loaded, this alert gives the user a way to retry
-        NSString *retryStr = NSLocalizedString(@"Retry", @"Retry loading a page that has failed to load");
-
-        self.alertView =
-            [[[UIAlertView alloc]
-              initWithTitle:title message:message delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel", @"")
-              otherButtonTitles:retryStr, nil]
-             autorelease];
-    }
-
-    [self.alertView show];
-}
-
-- (BOOL)webView:(UIWebView *)aWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
-
-    NSString *appScheme = [self.session appScheme];
-    if ([[[request URL] scheme] isEqual:appScheme]) {
-
-        BOOL success = [self openUrl:[request URL]];
-		if (success && ![self.session isLinked]) {
-			DBLogError(@"DropboxSDK: credentials not saved. Make sure you call -[DBSession handleOpenUrl:] in your app delegate's application:openURL:sourceApplication:annotation: method");
-		}
-
-        [self dismiss];
-        return NO;
-    } else if ([[[request URL] scheme] isEqual:@"itms-apps"]) {
-#if TARGET_IPHONE_SIMULATOR
-        DBLogError(@"DropboxSDK - Can't open on simulator. Run on an iOS device to test this functionality");
-#else
-        [[UIApplication sharedApplication] openURL:[request URL]];
-        [self cancelAnimated:NO];
-#endif
-        return NO;
-    } else if (![[[request URL] dbPathComponents] isEqual:[self.url dbPathComponents]]) {
-        DBConnectController *childController =
-            [[[DBConnectController alloc] initWithUrlRequest:request
-                                              fromController:self.rootController
-                                                     session:self.session] autorelease];
-
-        NSDictionary *queryParams = [DBSession parseURLParams:[[request URL] query]];
-        NSString *title = [queryParams objectForKey:@"embed_title"];
-        if (title) {
-            childController.title = title;
-        } else {
-            childController.title = self.title;
-        }
-        childController.navigationItem.rightBarButtonItem = nil;
-
-        [self.navigationController pushViewController:childController animated:YES];
-        return NO;
-    }
-    return YES;
-}
-
-
-#pragma mark UIAlertView methods
-
-- (void)alertView:(UIAlertView *)pAlertView clickedButtonAtIndex:(NSInteger)buttonIndex {
-    if (buttonIndex != pAlertView.cancelButtonIndex) {
-        [self loadRequest];
-    } else {
-        if ([self.navigationController.viewControllers count] > 1) {
-            [self.navigationController popViewControllerAnimated:YES];
-        } else {
-            [self cancel];
-        }
-    }
-
-    self.alertView = nil;
-}
-
-
-#pragma mark private methods
-
-+ (NSURLRequest *)requestForUrl:(NSURL *)reqUrl {
-    return [[[NSURLRequest alloc] initWithURL:reqUrl
-                                  cachePolicy:NSURLCacheStorageNotAllowed
-                              timeoutInterval:20] autorelease];
-}
-
-- (void)loadRequest {
-    [self.webView loadRequest:self.request];
-}
-
-- (BOOL)openUrl:(NSURL *)openUrl {
-    UIApplication *app = [UIApplication sharedApplication];
-    id<UIApplicationDelegate> delegate = app.delegate;
-
-    if ([delegate respondsToSelector:@selector(application:openURL:sourceApplication:annotation:)]) {
-        [delegate application:app openURL:openUrl sourceApplication:@"com.getdropbox.Dropbox" annotation:nil];
-    } else if ([delegate respondsToSelector:@selector(application:handleOpenURL:)]) {
-        [delegate application:app handleOpenURL:openUrl];
-    } else {
-		DBLogError(@"DropboxSDK: app delegate does not implement application:openURL:sourceApplication:annotation:");
-		return NO;
-	}
-
-	return YES;
-}
-
-- (void)cancelAnimated:(BOOL)animated {
-    [self dismissAnimated:animated];
-
-    NSString *cancelUrl = [NSString stringWithFormat:@"%@://%@/cancel", [self.session appScheme], kDBDropboxAPIVersion];
-    [self openUrl:[NSURL URLWithString:cancelUrl]];
-}
-
-- (void)cancel {
-    [self cancelAnimated:YES];
-}
-
-- (void)dismissAnimated:(BOOL)animated {
-    if ([webView isLoading]) {
-        [webView stopLoading];
-    }
-    [self.navigationController dismissModalViewControllerAnimated:animated];
-}
-
-- (void)dismiss {
-    [self dismissAnimated:YES];
-}
-
-@end
-
-
-@implementation NSURL (DBConnectController)
-
-- (NSArray *)dbPathComponents {
-	return [[self path] pathComponents];
-}
-
-@end
-

+ 0 - 63
Libraries external/DropboxSDK/DropboxSDK/Classes/DBDeltaEntry.m

@@ -1,63 +0,0 @@
-//
-//  DBDeltaEntry.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/25/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBDeltaEntry.h"
-
-@implementation DBDeltaEntry
-
-@synthesize lowercasePath;
-@synthesize metadata;
-
-- (id)initWithArray:(NSArray *)array {
-    if ((self = [super init])) {
-        lowercasePath = [[array objectAtIndex:0] retain];
-        NSObject *maybeMetadata = [array objectAtIndex:1];
-        if (maybeMetadata != [NSNull null]) {
-            metadata = [[DBMetadata alloc] initWithDictionary:[array objectAtIndex:1]];
-        }
-    }
-    return self;
-}
-
-- (void)dealloc {
-    [lowercasePath release];
-    [metadata release];
-    [super dealloc];
-}
-
-- (BOOL)isEqualToDeltaEntry:(DBDeltaEntry *)entry {
-    if (self == entry) return YES;
-    return
-        (lowercasePath == entry.lowercasePath || [lowercasePath isEqual:entry.lowercasePath]) &&
-        (metadata == entry.metadata || [metadata isEqual:entry.metadata]);
-}
-
-- (BOOL)isEqual:(id)other {
-    if (other == self) return YES;
-    if (!other || ![other isKindOfClass:[self class]]) return NO;
-    return [self isEqualToDeltaEntry:other];
-}
-
-
-#pragma mark NSCoding methods
-
-- (id)initWithCoder:(NSCoder*)coder {
-    if ((self = [super init])) {
-        lowercasePath = [[coder decodeObjectForKey:@"lowercasePath"] retain];
-        metadata = [[coder decodeObjectForKey:@"metadata"] retain];
-    }
-    return self;
-}
-
-- (void)encodeWithCoder:(NSCoder*)coder {
-    [coder encodeObject:lowercasePath forKey:@"lowercasePath"];
-    [coder encodeObject:metadata forKey:@"metadata"];
-}
-
-
-@end

+ 0 - 11
Libraries external/DropboxSDK/DropboxSDK/Classes/DBError.m

@@ -1,11 +0,0 @@
-//
-//  DBError.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 7/21/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBError.h"
-
-NSString* DBErrorDomain = @"dropbox.com";

+ 0 - 131
Libraries external/DropboxSDK/DropboxSDK/Classes/DBKeychain-OSX.m

@@ -1,131 +0,0 @@
-//
-//  DBKeychain-OSX.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/8/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBKeychain.h"
-
-#import "DBLog.h"
-
-// Whether we think there are credentials stored in the keychain
-static NSString *kDBLinkedUserDefaultsKey = @"DropboxLinked";
-
-static char *kDBServiceName;
-static const char *kDBAccountName = "Dropbox";
-static SecKeychainItemRef s_itemRef;
-
-@implementation DBKeychain
-
-+ (void)initialize {
-	if ([self class] != [DBKeychain class]) return;
-	NSString *keychainId = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
-	if (![keychainId length]) {
-		keychainId = [[NSBundle mainBundle] bundleIdentifier];
-	}
-	NSInteger len = [keychainId lengthOfBytesUsingEncoding:NSUTF8StringEncoding] + 1;
-	kDBServiceName = malloc(len);
-	[keychainId getCString:kDBServiceName maxLength:len encoding:NSUTF8StringEncoding];
-}
-
-+ (SecKeychainItemRef)itemRef {
-	@synchronized ([DBKeychain class]) {
-		return s_itemRef;
-	}
-}
-
-+ (void)setItemRef:(SecKeychainItemRef)itemRef {
-	@synchronized ([DBKeychain class]) {
-		if (itemRef == s_itemRef)
-			return;
-
-		if (itemRef) {
-			CFRetain(itemRef);
-        }
-		if (s_itemRef) {
-			CFRelease(s_itemRef);
-		}
-		s_itemRef = itemRef;
-	}
-}
-
-+ (NSDictionary *)credentials {
-	if (![[[NSUserDefaults standardUserDefaults] objectForKey:kDBLinkedUserDefaultsKey] boolValue]) {
-		return nil;
-	}
-
-	UInt32 dataLen = 0;
-	void *pData = NULL;
-	SecKeychainItemRef itemRef = nil;
-	OSStatus status = SecKeychainFindGenericPassword(NULL,
-													 (int32_t)strlen(kDBServiceName), kDBServiceName,
-													 (int32_t)strlen(kDBAccountName), kDBAccountName,
-													 &dataLen, &pData, &itemRef);
-
-	NSDictionary *ret = nil;
-	if (status == noErr) {
-		NSData *data = [NSData dataWithBytes:pData length:dataLen];
-		ret = [NSKeyedUnarchiver unarchiveObjectWithData:data];
-		[DBKeychain setItemRef:itemRef];
-	} else if (status != errSecItemNotFound) {
-		DBLogWarning(@"DropboxSDK: error reading stored credentials (%d)", status);
-	}
-
-	if (itemRef) {
-		CFRelease(itemRef);
-	}
-	if (pData) {
-		SecKeychainItemFreeContent(NULL, pData);
-	}
-
-	return ret;
-}
-
-+ (void)setCredentials:(NSDictionary *)credentials {
-	NSData *data = [NSKeyedArchiver archivedDataWithRootObject:credentials];
-
-	[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:kDBLinkedUserDefaultsKey];
-	[[NSUserDefaults standardUserDefaults] synchronize];
-	[self credentials]; // Make sure itemRef is set if credentials hasn't been called yet
-
-	OSStatus status = noErr;
-	SecKeychainItemRef itemRef = [DBKeychain itemRef];
-	if (!itemRef) {
-		status = SecKeychainAddGenericPassword(NULL, (int32_t)strlen(kDBServiceName), kDBServiceName,
-											   (int32_t)strlen(kDBAccountName), kDBAccountName,
-											   (int32_t)[data length], [data bytes], &itemRef);
-		if (status == noErr) {
-			[DBKeychain setItemRef:itemRef];
-		}
-		if (itemRef) {
-			CFRelease(itemRef);
-		}
-	} else {
-		status = SecKeychainItemModifyAttributesAndData(itemRef, NULL, (int32_t)[data length], [data bytes]);
-	}
-
-	if (status != noErr) {
-		DBLogWarning(@"DropboxSDK: error setting stored credentials (%d)", status);
-	}
-}
-
-+ (void)deleteCredentials {
-	[self credentials]; // Make sure itemRef is set if credentials hasn't been called yet
-	SecKeychainItemRef itemRef = [DBKeychain itemRef];
-	if (!itemRef)
-		return;
-
-	OSStatus status = SecKeychainItemDelete(itemRef);
-	[DBKeychain setItemRef:nil];
-
-	if (status == noErr) {
-		[[NSUserDefaults standardUserDefaults] removeObjectForKey:kDBLinkedUserDefaultsKey];
-		[[NSUserDefaults standardUserDefaults] synchronize];
-	} else {
-		DBLogWarning(@"DropboxSDK: error deleting stored credentials (%d)", status);
-	}
-}
-
-@end

+ 0 - 111
Libraries external/DropboxSDK/DropboxSDK/Classes/DBKeychain-iOS.m

@@ -1,111 +0,0 @@
-//
-//  DBKeychain.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/5/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBKeychain.h"
-#import <UIKit/UIKit.h>
-
-#import "DBLog.h"
-
-static NSDictionary *kDBKeychainDict;
-
-@implementation DBKeychain
-
-//TWS modify
-+ (void)initialize {
-    
-	if ([self class] != [DBKeychain class]) return;
-    
-	//NSString *keychainId = [NSString stringWithFormat:@"%@.dropbox.auth", [[NSBundle mainBundle] bundleIdentifier]];
-    //kDBKeychainDict = [[NSDictionary alloc] initWithObjectsAndKeys:(id)kSecClassGenericPassword, (id)kSecClass, keychainId, (id)kSecAttrService, nil];
-    
-    NSString *keychainId = [NSString stringWithFormat:@"%@.dropbox.auth", [self mainBundleName]];
-    kDBKeychainDict = [[NSDictionary alloc] initWithObjectsAndKeys:
-                       (id)kSecClassGenericPassword, (id)kSecClass,
-                       keychainId, (id)kSecAttrService,
-                       @"group.it.twsweb.Crypto-Cloud",(id)kSecAttrAccessGroup,
-                       nil];
-}
-
-//TWS add
-+ (NSString *)mainBundleName
-{
-    /*
-    NSUserDefaults *sharedUserDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.it.twsweb.Crypto-Cloud"];
-    
-    // Esiste la chiave versioneprofessional ??
-    if ([sharedUserDefaults objectForKey:@"versioneprofessional"]) {
-    
-        if ([[sharedUserDefaults objectForKey:@"versioneprofessional"] boolValue] == YES)
-            return @"it.twsweb.Crypto-Cloud";
-        else
-            return @"it.twsweb.Crypto-Lite";
-    } else {
-    */
-        NSMutableArray *components = [NSMutableArray arrayWithArray:[[[NSBundle mainBundle] bundleIdentifier] componentsSeparatedByString:@"."]];
-        while ([components count] > 3) {
-            [components removeLastObject];
-        }
-        return [components componentsJoinedByString:@"."];
-    //}
-}
-
-+ (NSDictionary *)credentials {
-	NSMutableDictionary *searchDict = [NSMutableDictionary dictionaryWithDictionary:kDBKeychainDict];
-	[searchDict setObject:(id)kSecMatchLimitOne forKey:(id)kSecMatchLimit];
-	[searchDict setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnAttributes];
-	[searchDict setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnData];
-
-	NSDictionary *attrDict = nil;
-	OSStatus status = SecItemCopyMatching((CFDictionaryRef)searchDict, (CFTypeRef *)&attrDict);
-	[attrDict autorelease];
-	NSData *foundValue = [attrDict objectForKey:(id)kSecValueData];
-
-	if (status == noErr && foundValue) {
-		return [NSKeyedUnarchiver unarchiveObjectWithData:foundValue];
-	} else {
-		if (status != errSecItemNotFound) {
-			DBLogWarning(@"DropboxSDK: error reading stored credentials (%i)", (int32_t)status);
-		}
-		return nil;
-	}
-}
-
-+ (void)setCredentials:(NSDictionary *)credentials {
-	NSData *credentialData = [NSKeyedArchiver archivedDataWithRootObject:credentials];
-
-	NSMutableDictionary *attrDict = [NSMutableDictionary dictionaryWithDictionary:kDBKeychainDict];
-	[attrDict setObject:credentialData forKey:(id)kSecValueData];
-
-	NSArray *version = [[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."];
-    if ([[version objectAtIndex:0] intValue] >= 4) {
-        [attrDict setObject:(id)kSecAttrAccessibleAfterFirstUnlock forKey:(id)kSecAttrAccessible];
-    }
-
-	OSStatus status = noErr;
-
-	if ([self credentials]) {
-		[attrDict removeObjectForKey:(id)kSecClass];
-		status = SecItemUpdate((CFDictionaryRef)kDBKeychainDict, (CFDictionaryRef)attrDict);
-	} else {
-		status = SecItemAdd((CFDictionaryRef)attrDict, NULL);
-	}
-
-	if (status != noErr) {
-		DBLogWarning(@"DropboxSDK: error saving credentials (%i)", (int32_t)status);
-	}
-}
-
-+ (void)deleteCredentials {
-	OSStatus status = SecItemDelete((CFDictionaryRef)kDBKeychainDict);
-
-	if (status != noErr) {
-		DBLogWarning(@"DropboxSDK: error deleting credentials (%i)", (int32_t)status);
-	}
-}
-
-@end

+ 0 - 81
Libraries external/DropboxSDK/DropboxSDK/Classes/DBKeychain-iOS.original.m

@@ -1,81 +0,0 @@
-//
-//  DBKeychain.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/5/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBKeychain.h"
-
-#import "DBLog.h"
-
-static NSDictionary *kDBKeychainDict;
-
-
-@implementation DBKeychain
-
-+ (void)initialize {
-	if ([self class] != [DBKeychain class]) return;
-	NSString *keychainId = [NSString stringWithFormat:@"%@.dropbox.auth", [[NSBundle mainBundle] bundleIdentifier]];
-	kDBKeychainDict = [[NSDictionary alloc] initWithObjectsAndKeys:
-					   (id)kSecClassGenericPassword, (id)kSecClass,
-					   keychainId, (id)kSecAttrService,
-					   nil];
-}
-
-+ (NSDictionary *)credentials {
-	NSMutableDictionary *searchDict = [NSMutableDictionary dictionaryWithDictionary:kDBKeychainDict];
-	[searchDict setObject:(id)kSecMatchLimitOne forKey:(id)kSecMatchLimit];
-	[searchDict setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnAttributes];
-	[searchDict setObject:(id)kCFBooleanTrue forKey:(id)kSecReturnData];
-
-	NSDictionary *attrDict = nil;
-	OSStatus status = SecItemCopyMatching((CFDictionaryRef)searchDict, (CFTypeRef *)&attrDict);
-	[attrDict autorelease];
-	NSData *foundValue = [attrDict objectForKey:(id)kSecValueData];
-
-	if (status == noErr && foundValue) {
-		return [NSKeyedUnarchiver unarchiveObjectWithData:foundValue];
-	} else {
-		if (status != errSecItemNotFound) {
-			DBLogWarning(@"DropboxSDK: error reading stored credentials (%i)", (int32_t)status);
-		}
-		return nil;
-	}
-}
-
-+ (void)setCredentials:(NSDictionary *)credentials {
-	NSData *credentialData = [NSKeyedArchiver archivedDataWithRootObject:credentials];
-
-	NSMutableDictionary *attrDict = [NSMutableDictionary dictionaryWithDictionary:kDBKeychainDict];
-	[attrDict setObject:credentialData forKey:(id)kSecValueData];
-
-	NSArray *version = [[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."];
-    if ([[version objectAtIndex:0] intValue] >= 4) {
-        [attrDict setObject:(id)kSecAttrAccessibleAfterFirstUnlock forKey:(id)kSecAttrAccessible];
-    }
-
-	OSStatus status = noErr;
-
-	if ([self credentials]) {
-		[attrDict removeObjectForKey:(id)kSecClass];
-		status = SecItemUpdate((CFDictionaryRef)kDBKeychainDict, (CFDictionaryRef)attrDict);
-	} else {
-		status = SecItemAdd((CFDictionaryRef)attrDict, NULL);
-	}
-
-	if (status != noErr) {
-		DBLogWarning(@"DropboxSDK: error saving credentials (%i)", (int32_t)status);
-	}
-}
-
-+ (void)deleteCredentials {
-	OSStatus status = SecItemDelete((CFDictionaryRef)kDBKeychainDict);
-
-	if (status != noErr) {
-		DBLogWarning(@"DropboxSDK: error deleting credentials (%i)", (int32_t)status);
-	}
-}
-
-@end

+ 0 - 94
Libraries external/DropboxSDK/DropboxSDK/Classes/DBLog.m

@@ -1,94 +0,0 @@
-//
-//  DBLog.m
-//  Dropbox
-//
-//  Created by Will Stockwell on 11/4/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBLog.h"
-
-static DBLogLevel LogLevel = DBLogLevelWarning;
-static DBLogCallback *callback = NULL;
-
-NSString* DBStringFromLogLevel(DBLogLevel logLevel) {
-	switch (logLevel) {
-		case DBLogLevelInfo: return @"INFO";
-		case DBLogLevelAnalytics: return @"ANALYTICS";
-		case DBLogLevelWarning: return @"WARNING";
-		case DBLogLevelError: return @"ERROR";
-		case DBLogLevelFatal: return @"FATAL";
-	}
-	return @"";	
-}
-
-NSString * DBLogFilePath()
-{
-	static NSString *logFilePath;
-	if (logFilePath == nil)
-		logFilePath = [[NSHomeDirectory() stringByAppendingFormat: @"/tmp/run.log"] retain];
-	return logFilePath;
-}
-
-void DBSetupLogToFile()
-{
-	freopen([DBLogFilePath() fileSystemRepresentation], "w", stderr);
-}
-
-static NSString * DBLogFormatPrefix(DBLogLevel logLevel) {
-	return [NSString stringWithFormat: @"[%@] ", DBStringFromLogLevel(logLevel)];
-}
-
-void DBLogSetLevel(DBLogLevel logLevel) {
-	LogLevel = logLevel;
-}
-
-void DBLogSetCallback(DBLogCallback *aCallback) {
-	callback = aCallback;
-}
-
-static void DBLogv(DBLogLevel logLevel, NSString *format, va_list args) {
-	if (logLevel >= LogLevel)
-	{
-		format = [DBLogFormatPrefix(logLevel) stringByAppendingString: format];
-		NSLogv(format, args);
-		if (callback)
-			callback(logLevel, format, args);
-	}
-}
-
-void DBLog(DBLogLevel logLevel, NSString *format, ...) {
-	va_list argptr;
-	va_start(argptr,format);
-	DBLogv(logLevel, format, argptr);
-	va_end(argptr);
-}
-
-void DBLogInfo(NSString *format, ...) {
-	va_list argptr;
-	va_start(argptr,format);
-	DBLogv(DBLogLevelInfo, format, argptr);
-	va_end(argptr);
-}
-
-void DBLogWarning(NSString *format, ...) {
-	va_list argptr;
-	va_start(argptr,format);
-	DBLogv(DBLogLevelWarning, format, argptr);
-	va_end(argptr);
-}
-
-void DBLogError(NSString *format, ...) {
-	va_list argptr;
-	va_start(argptr,format);
-	DBLogv(DBLogLevelError, format, argptr);
-	va_end(argptr);
-}
-
-void DBLogFatal(NSString *format, ...) {
-	va_list argptr;
-	va_start(argptr,format);
-	DBLogv(DBLogLevelFatal, format, argptr);
-	va_end(argptr);
-}
-

+ 0 - 153
Libraries external/DropboxSDK/DropboxSDK/Classes/DBMetadata.m

@@ -1,153 +0,0 @@
-//
-//  DBMetadata.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBMetadata.h"
-
-@implementation DBMetadata
-
-+ (NSDateFormatter*)dateFormatter {
-    NSMutableDictionary* dictionary = [[NSThread currentThread] threadDictionary];
-    static NSString* dateFormatterKey = @"DBMetadataDateFormatter";
-    
-    NSDateFormatter* dateFormatter = [dictionary objectForKey:dateFormatterKey];
-    if (dateFormatter == nil) {
-        dateFormatter = [[NSDateFormatter new] autorelease];
-        // Must set locale to ensure consistent parsing:
-        // http://developer.apple.com/iphone/library/qa/qa2010/qa1480.html
-        dateFormatter.locale = 
-            [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];
-        dateFormatter.dateFormat = @"EEE, dd MMM yyyy HH:mm:ss Z";
-        [dictionary setObject:dateFormatter forKey:dateFormatterKey];
-    }
-    return dateFormatter;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict {
-    if ((self = [super init])) {
-        thumbnailExists = [[dict objectForKey:@"thumb_exists"] boolValue];
-        totalBytes = [[dict objectForKey:@"bytes"] longLongValue];
-
-        if ([dict objectForKey:@"modified"]) {
-            lastModifiedDate = 
-                [[[DBMetadata dateFormatter] dateFromString:[dict objectForKey:@"modified"]] retain];
-        }
-
-        if ([dict objectForKey:@"client_mtime"]) {
-            clientMtime =
-                [[[DBMetadata dateFormatter] dateFromString:[dict objectForKey:@"client_mtime"]] retain];
-        }
-
-        path = [[dict objectForKey:@"path"] retain];
-        isDirectory = [[dict objectForKey:@"is_dir"] boolValue];
-        
-        if ([dict objectForKey:@"contents"]) {
-            NSArray* subfileDicts = [dict objectForKey:@"contents"];
-            NSMutableArray* mutableContents = 
-                [[NSMutableArray alloc] initWithCapacity:[subfileDicts count]];
-            for (NSDictionary* subfileDict in subfileDicts) {
-                DBMetadata* subfile = [[DBMetadata alloc] initWithDictionary:subfileDict];
-                [mutableContents addObject:subfile];
-                [subfile release];
-            }
-            contents = mutableContents;
-        }
-        
-        hash = [[dict objectForKey:@"hash"] retain];
-        humanReadableSize = [[dict objectForKey:@"size"] retain];
-        root = [[dict objectForKey:@"root"] retain];
-        icon = [[dict objectForKey:@"icon"] retain];
-        rev = [[dict objectForKey:@"rev"] retain];
-        revision = [[dict objectForKey:@"revision"] longLongValue];
-        isDeleted = [[dict objectForKey:@"is_deleted"] boolValue];
-    }
-    return self;
-}
-
-- (void)dealloc {
-    [lastModifiedDate release];
-    [clientMtime release];
-    [path release];
-    [contents release];
-    [hash release];
-    [humanReadableSize release];
-    [root release];
-    [icon release];
-    [rev release];
-    [filename release];
-    [super dealloc];
-}
-
-@synthesize thumbnailExists;
-@synthesize totalBytes;
-@synthesize lastModifiedDate;
-@synthesize clientMtime;
-@synthesize path;
-@synthesize isDirectory;
-@synthesize contents;
-@synthesize hash;
-@synthesize humanReadableSize;
-@synthesize root;
-@synthesize icon;
-@synthesize rev;
-@synthesize revision;
-@synthesize isDeleted;
-
-- (BOOL)isEqual:(id)object {
-    if (object == self) return YES;
-    if (![object isKindOfClass:[DBMetadata class]]) return NO;
-    DBMetadata *other = (DBMetadata *)object;
-    return [self.rev isEqualToString:other.rev];
-}
-
-- (NSString *)filename {
-    if (filename == nil) {
-        filename = [[path lastPathComponent] retain];
-    }
-    return filename;
-}
-
-#pragma mark NSCoding methods
-
-- (id)initWithCoder:(NSCoder*)coder {
-    if ((self = [super init])) {
-        thumbnailExists = [coder decodeBoolForKey:@"thumbnailExists"];
-        totalBytes = [coder decodeInt64ForKey:@"totalBytes"];
-        lastModifiedDate = [[coder decodeObjectForKey:@"lastModifiedDate"] retain];
-        clientMtime = [[coder decodeObjectForKey:@"clientMtime"] retain];
-        path = [[coder decodeObjectForKey:@"path"] retain];
-        isDirectory = [coder decodeBoolForKey:@"isDirectory"];
-        contents = [[coder decodeObjectForKey:@"contents"] retain];
-        hash = [[coder decodeObjectForKey:@"hash"] retain];
-        humanReadableSize = [[coder decodeObjectForKey:@"humanReadableSize"] retain];
-        root = [[coder decodeObjectForKey:@"root"] retain];
-        icon = [[coder decodeObjectForKey:@"icon"] retain];
-        rev = [[coder decodeObjectForKey:@"rev"] retain];
-        revision = [coder decodeInt64ForKey:@"revision"];
-        isDeleted = [coder decodeBoolForKey:@"isDeleted"];
-    }
-    return self;
-}
-
-- (void)encodeWithCoder:(NSCoder*)coder {
-    [coder encodeBool:thumbnailExists forKey:@"thumbnailExists"];
-    [coder encodeInt64:totalBytes forKey:@"totalBytes"];
-    [coder encodeObject:lastModifiedDate forKey:@"lastModifiedDate"];
-    [coder encodeObject:clientMtime forKey:@"clientMtime"];
-    [coder encodeObject:path forKey:@"path"];
-    [coder encodeBool:isDirectory forKey:@"isDirectory"];
-    [coder encodeObject:contents forKey:@"contents"];
-    [coder encodeObject:hash forKey:@"hash"];
-    [coder encodeObject:humanReadableSize forKey:@"humanReadableSize"];
-    [coder encodeObject:root forKey:@"root"];
-    [coder encodeObject:icon forKey:@"icon"];
-    [coder encodeObject:rev forKey:@"rev"];
-    [coder encodeInt64:revision forKey:@"revision"];
-    [coder encodeBool:isDeleted forKey:@"isDeleted"];
-}
-
-@end

+ 0 - 52
Libraries external/DropboxSDK/DropboxSDK/Classes/DBQuota.m

@@ -1,52 +0,0 @@
-//
-//  DBQuotaInfo.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBQuota.h"
-
-
-@implementation DBQuota
-
-- (id)initWithDictionary:(NSDictionary*)dict {
-    if ((self = [super init])) {
-        normalConsumedBytes = [[dict objectForKey:@"normal"] longLongValue];
-        sharedConsumedBytes = [[dict objectForKey:@"shared"] longLongValue];
-        totalBytes = [[dict objectForKey:@"quota"] longLongValue];
-    }
-    return self;
-}
-
-- (void)dealloc {
-    [super dealloc];
-}
-
-@synthesize normalConsumedBytes;
-@synthesize sharedConsumedBytes;
-@synthesize totalBytes;
-
-- (long long)totalConsumedBytes {
-    return normalConsumedBytes + sharedConsumedBytes;
-}
-
-
-#pragma mark NSCoding methods
-
-- (void)encodeWithCoder:(NSCoder*)coder {
-    [coder encodeInt64:normalConsumedBytes forKey:@"normalConsumedBytes"];
-    [coder encodeInt64:sharedConsumedBytes forKey:@"sharedConsumedBytes"];
-    [coder encodeInt64:totalBytes forKey:@"totalBytes"];
-}
-
-- (id)initWithCoder:(NSCoder*)coder {
-    self = [super init];
-    normalConsumedBytes = [coder decodeInt64ForKey:@"normalConsumedBytes"];
-    sharedConsumedBytes = [coder decodeInt64ForKey:@"sharedConsumedBytes"];
-    totalBytes = [coder decodeInt64ForKey:@"totalBytes"];
-    return self;
-}
-
-@end

+ 0 - 1029
Libraries external/DropboxSDK/DropboxSDK/Classes/DBRequest.m

@@ -1,1029 +0,0 @@
-//
-//  DBRestRequest.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/9/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBRequest.h"
-#import "DBLog.h"
-#import "DBError.h"
-#import "JSON.h"
-#import "DBBase64Transcoder.h"
-
-// These constants come back from the API, but aren't defined as constants anywhere
-static NSString * const DBURLAuthenticationMethodOAuth = @"NSURLAuthenticationMethodOAuth";
-static NSString * const DBURLAuthenticationMethodOAuth2 = @"NSURLAuthenticationMethodOAuth2";
-
-id<DBNetworkRequestDelegate> dbNetworkRequestDelegate = nil;
-
-
-@interface DBRequest ()
-
-- (void)setError:(NSError *)error;
-
-@property (nonatomic, retain) NSFileManager *fileManager;
-
-@end
-
-
-@implementation DBRequest
-
-+ (void)setNetworkRequestDelegate:(id<DBNetworkRequestDelegate>)delegate {
-    dbNetworkRequestDelegate = delegate;
-}
-
-- (id)initWithURLRequest:(NSURLRequest *)aRequest andInformTarget:(id)aTarget selector:(SEL)aSelector {
-    if ((self = [super init])) {
-        request = [aRequest retain];
-        target = aTarget;
-        selector = aSelector;
-        
-        fileManager = [NSFileManager new];
-        urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
-        [dbNetworkRequestDelegate networkRequestStarted];
-    }
-    return self;
-}
-
-- (void) dealloc {
-    [urlConnection cancel];
-    
-    [request release];
-    [urlConnection release];
-    [fileHandle release];
-    [fileManager release];
-    [userInfo release];
-    [sourcePath release];
-    [response release];
-    [xDropboxMetadataJSON release];
-    [resultFilename release];
-    [tempFilename release];
-    [resultData release];
-    [error release];
-    [super dealloc];
-}
-
-@synthesize failureSelector;
-@synthesize fileManager;
-@synthesize downloadProgressSelector;
-@synthesize uploadProgressSelector;
-@synthesize userInfo;
-@synthesize sourcePath;
-@synthesize request;
-@synthesize response;
-@synthesize xDropboxMetadataJSON;
-@synthesize downloadProgress;
-@synthesize uploadProgress;
-@synthesize resultData;
-@synthesize resultFilename;
-@synthesize error;
-
-- (NSString *)resultString {
-    return [[[NSString alloc] 
-             initWithData:resultData encoding:NSUTF8StringEncoding]
-            autorelease];
-}
-
-- (NSObject *)resultJSON {
-    return [[self resultString] JSONValue];
-} 
-
-- (NSInteger)statusCode {
-    return [response statusCode];
-}
-
-- (long long)responseBodySize {
-    // Use the content-length header, if available.
-    long long contentLength = [[[response allHeaderFields] objectForKey:@"Content-Length"] longLongValue];
-    if (contentLength > 0) return contentLength;
-
-    // Fall back on the bytes field in the metadata x-header, if available.
-    if (xDropboxMetadataJSON != nil) {
-        id bytes = [xDropboxMetadataJSON objectForKey:@"bytes"];
-        if (bytes != nil) {
-            return [bytes longLongValue];
-        }
-    }
-
-    return 0;
-}
-
-- (void)cancel {
-    [urlConnection cancel];
-    target = nil;
-    
-    if (tempFilename) {
-        [fileHandle closeFile];
-        NSError *rmError;
-        if (![fileManager removeItemAtPath:tempFilename error:&rmError]) {
-            DBLogError(@"DBRequest#cancel Error removing temp file: %@", rmError);
-        }
-    }
-    
-    [dbNetworkRequestDelegate networkRequestStopped];
-}
-
-- (id)parseResponseAsType:(Class)cls {
-    if (error) return nil;
-    NSObject *res = [self resultJSON];
-    if (![res isKindOfClass:cls]) {
-        [self setError:[NSError errorWithDomain:DBErrorDomain code:DBErrorInvalidResponse userInfo:userInfo]];
-        return nil;
-    }
-    return res;
-}
-
-#pragma mark NSURLConnection delegate methods
-
-- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)aResponse {
-    response = [(NSHTTPURLResponse *)aResponse retain];
-
-    // Parse out the x-response-metadata as JSON.
-    xDropboxMetadataJSON = [[[[response allHeaderFields] objectForKey:@"X-Dropbox-Metadata"] JSONValue] retain];
-
-    if (resultFilename && [self statusCode] == 200) {
-        // Create the file here so it's created in case it's zero length
-        // File is downloaded into a temporary file and then moved over when completed successfully
-        NSString *filename = [[NSProcessInfo processInfo] globallyUniqueString];
-        tempFilename = [[NSTemporaryDirectory() stringByAppendingPathComponent:filename] retain];
-        
-        BOOL success = [fileManager createFileAtPath:tempFilename contents:nil attributes:nil];
-        if (!success) {
-            DBLogError(@"DBRequest#connection:didReceiveData: Error creating temp file: (%d) %s",
-                       errno, strerror(errno));
-        }
-
-        fileHandle = [[NSFileHandle fileHandleForWritingAtPath:tempFilename] retain];
-    }
-}
-
-- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
-    if (resultFilename && [self statusCode] == 200) {
-        @try {
-            [fileHandle writeData:data];
-        } @catch (NSException *e) {
-            // In case we run out of disk space
-            [urlConnection cancel];
-            [fileHandle closeFile];
-            [fileManager removeItemAtPath:tempFilename error:nil];
-            [self setError:[NSError errorWithDomain:DBErrorDomain code:DBErrorInsufficientDiskSpace userInfo:userInfo]];
-            
-            SEL sel = failureSelector ? failureSelector : selector;
-            [target performSelector:sel withObject:self];
-            
-            [dbNetworkRequestDelegate networkRequestStopped];
-            
-            return;
-        }
-    } else {
-        if (resultData == nil) {
-            resultData = [NSMutableData new];
-        }
-        [resultData appendData:data];
-    }
-
-    bytesDownloaded += [data length];
-
-    long long responseBodySize = [self responseBodySize];
-    if (responseBodySize > 0) {
-        downloadProgress = (CGFloat)bytesDownloaded / (CGFloat)responseBodySize;
-        if (downloadProgressSelector) {
-            [target performSelector:downloadProgressSelector withObject:self];
-        }
-    }
-}
-
-- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
-    [fileHandle closeFile];
-    [fileHandle release];
-    fileHandle = nil;
-    
-    if (self.statusCode != 200) {
-        NSMutableDictionary *errorUserInfo = [NSMutableDictionary dictionaryWithDictionary:userInfo];
-        // To get error userInfo, first try and make sense of the response as JSON, if that
-        // fails then send back the string as an error message
-        NSString *resultString = [self resultString];
-        if ([resultString length] > 0) {
-            @try {
-                DBJsonParser *jsonParser = [DBJsonParser new];
-                NSObject *resultJSON = [jsonParser objectWithString:resultString];
-                [jsonParser release];
-                
-                if ([resultJSON isKindOfClass:[NSDictionary class]]) {
-                    [errorUserInfo addEntriesFromDictionary:(NSDictionary *)resultJSON];
-                }
-            } @catch (NSException *e) {
-                [errorUserInfo setObject:resultString forKey:@"errorMessage"];
-            }
-        }
-        [self setError:[NSError errorWithDomain:DBErrorDomain code:self.statusCode userInfo:errorUserInfo]];
-    } else if (tempFilename) {
-        NSError *moveError;
-        
-        // Check that the file size is the same as the Content-Length
-        NSDictionary *fileAttrs = [fileManager attributesOfItemAtPath:tempFilename error:&moveError];
-        
-        if (!fileAttrs) {
-            DBLogError(@"DBRequest#connectionDidFinishLoading: error getting file attrs: %@", moveError);
-            [fileManager removeItemAtPath:tempFilename error:nil];
-            [self setError:[NSError errorWithDomain:moveError.domain code:moveError.code userInfo:self.userInfo]];
-        } else if ([self responseBodySize] != 0 && [self responseBodySize] != [fileAttrs fileSize]) {
-            // This happens in iOS 4.0 when the network connection changes while loading
-            [fileManager removeItemAtPath:tempFilename error:nil];
-            [self setError:[NSError errorWithDomain:DBErrorDomain code:DBErrorGenericError userInfo:self.userInfo]];
-        } else {        
-            // Everything's OK, move temp file over to desired file
-            [fileManager removeItemAtPath:resultFilename error:nil];
-            
-            BOOL success = [fileManager moveItemAtPath:tempFilename toPath:resultFilename error:&moveError];
-            if (!success) {
-                DBLogError(@"DBRequest#connectionDidFinishLoading: error moving temp file to desired location: %@",
-                    [moveError localizedDescription]);
-                [self setError:[NSError errorWithDomain:moveError.domain code:moveError.code userInfo:self.userInfo]];
-            }
-        }
-        
-        [tempFilename release];
-        tempFilename = nil;
-    }
-    
-    SEL sel = (error && failureSelector) ? failureSelector : selector;
-    [target performSelector:sel withObject:self];
-    
-    [dbNetworkRequestDelegate networkRequestStopped];
-}
-
-- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)anError {
-    [fileHandle closeFile];
-    [self setError:[NSError errorWithDomain:anError.domain code:anError.code userInfo:self.userInfo]];
-    bytesDownloaded = 0;
-    downloadProgress = 0;
-    uploadProgress = 0;
-    
-    if (tempFilename) {
-        NSError *removeError;
-        BOOL success = [fileManager removeItemAtPath:tempFilename error:&removeError];
-        if (!success) {
-            DBLogError(@"DBRequest#connection:didFailWithError: error removing temporary file: %@", 
-                    [removeError localizedDescription]);
-        }
-        [tempFilename release];
-        tempFilename = nil;
-    }
-    
-    SEL sel = failureSelector ? failureSelector : selector;
-    [target performSelector:sel withObject:self];
-
-    [dbNetworkRequestDelegate networkRequestStopped];
-}
-
-- (void)connection:(NSURLConnection *)connection didSendBodyData:(NSInteger)bytesWritten
-    totalBytesWritten:(NSInteger)totalBytesWritten 
-    totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite {
-    
-    uploadProgress = (CGFloat)totalBytesWritten / (CGFloat)totalBytesExpectedToWrite;
-    if (uploadProgressSelector) {
-        [target performSelector:uploadProgressSelector withObject:self];
-    }
-}
-
-- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)response {
-    return nil;
-}
-
-- (NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)req {
-    if (!sourcePath) {
-        DBLogWarning(@"DropboxSDK: need new body stream, but none available");
-        return nil;
-    }
-    return [NSInputStream inputStreamWithFileAtPath:sourcePath];
-}
-
-#pragma mark private methods
-
-- (void)setError:(NSError *)theError {
-    if (theError == error) return;
-    [error release];
-    error = [theError retain];
-
-    NSString *errorStr = [error.userInfo objectForKey:@"error"];
-    if (!errorStr) {
-        errorStr = [error description];
-    }
-
-    if (!([error.domain isEqual:DBErrorDomain] && error.code == 304)) {
-        // Log errors unless they're 304's
-        DBLogWarning(@"DropboxSDK: error making request to %@ - (%ld) %@",
-                       [[request URL] path], (long)error.code, errorStr);
-    }
-}
-
-#pragma mark SSL Security Configuration
-
-//
-// Called on SSL handshake
-// Performs SSL certificate pinning
-// Follows Dropbox SSL Guidelines:
-// https://docs.google.com/a/dropbox.com/document/d/1NZ-82u_HxtM8J6IR1YSh-klHFfjqiIE8iTN1GL72a7E
-//
-- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
-
-    NSString *host = [[challenge protectionSpace] host];
-
-    // Check the authentication method for connection: only SSL/TLS is allowed
-    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
-
-        // Validate host's certificates against Dropbox certificate authorities
-        SecTrustRef serverTrust = [[challenge protectionSpace] serverTrust];
-        SecTrustSetAnchorCertificates(serverTrust, (__bridge CFArrayRef)[DBRequest rootCertificates]);
-        SecTrustResultType trustResult = kSecTrustResultInvalid;
-        SecTrustEvaluate(serverTrust, &trustResult);
-        if (trustResult == kSecTrustResultUnspecified) {
-            // Certificate validation succeeded.
-            // Next, check if the sertificate is not revoked
-            // Note: certificate is a reference into an existing object, and doesn't need a CFRelease.
-            SecCertificateRef certificate = SecTrustGetCertificateAtIndex(serverTrust, 0);
-            if ([DBRequest isRevokedCertificate: certificate]){
-                DBLogError(@"DropboxSDK: SSL Error. Revoked certificate for the host: %@", host);
-                [[challenge sender] cancelAuthenticationChallenge: challenge];
-            } else {
-                // Continue the connection
-                [challenge.sender
-                 useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]
-                 forAuthenticationChallenge:challenge];
-            }
-        } else {
-            // Certificate validation failed. Terminate the connection
-            DBLogError(@"DropboxSDK: SSL Error. Cannot validate a certificate for the host: %@", host);
-            [[challenge sender] cancelAuthenticationChallenge: challenge];
-        }
-    } else if ([challenge.protectionSpace.authenticationMethod isEqualToString:DBURLAuthenticationMethodOAuth]
-               || [challenge.protectionSpace.authenticationMethod isEqualToString:DBURLAuthenticationMethodOAuth2]) {
-        // Don't respond to an OAuth challenge, allowing the server to fail with a 401.
-        // Note that we assume that in order to get this challenge we got an HTTP-layer
-        // response, so SSL handshake already succeeded, and we can trust the server's
-        // answer as genuine.
-        [[challenge sender] continueWithoutCredentialForAuthenticationChallenge:challenge];
-    } else {
-        // Disallowed authentication method. Terminate the connection.  Assuming an
-        // SSL failure is the safest option here, rather than trying to continue past
-        // the error as we do for OAuth.
-        DBLogError(@"DropboxSDK: SSL Error. Unknown authentication method %@ for Dropbox host: %@",
-                   challenge.protectionSpace.authenticationMethod, host);
-        [[challenge sender] cancelAuthenticationChallenge: challenge];
-    }
-}
-
-//
-// List of revoked certificates' serial numbers
-//
-static const char *kRevokedCertificateSNs[] = {
-    "\x02\x75\xc7\x6c\x1e\x64\x3c\x26\x49\x88\x6b\x0e\x76\x3a\xc3\xe9",  // digicert star.dropboxusercontent.com-20170419
-    "\x27\xab\x71\xba\x41\x86\x5c",                     // godaddy star.dropbox.com
-    "\x2b\x73\x47\x79\xdb\x80\x12"                      // godaddy dropbox.com-gd_bundle
-};
-static const size_t kMaxCertSNLen = 1000;
-
-#ifdef TARGET_OS_IPHONE
-/*  Helper function parse length octets from ASN.1 decoding
- Only available on iPhone.
- Input is a buf and the max length of the buffer (for safety checks) is in bufLen
- idx is a pointer to the current index, at which we start parsing the length.
- idx is changed as we move forward parsing octets according to the format indicators
- length is a pointer to a length value that is set to the actual length of the value.
- At the end of the function, idx will be at the start of the value and the length of the value,
- after which a new tag starts, will be in the length argument.
-
- Returns 0 on success or non zero values otherwise */
-
-+ (int)readLength:(uint32_t *)length fromBuffer:(const uint8_t *)buf ofLength:(const uint32_t)bufLen atIndex:(uint32_t *)idx {
-
-    if (*idx >= bufLen) {
-        DBLogWarning(@"readLength: idx:%d >= buflen:%d", *idx, bufLen);
-        return -2;
-    }
-
-    if (buf[*idx] == 0x80) {
-        //this is unlimited encoding and this can't happen
-        DBLogWarning(@"readLength: Invalid DER (unlimited length encoding)");
-        return -1;
-    }
-
-    uint8_t firstbit = (uint8_t) (buf[*idx] & 0x80);
-    //short form encoding
-    //first bit is 0 and the remaining bits
-    //is the length
-    //we save that and move the idx one step, where the value will start
-    if (firstbit == 0) {
-        *length = (uint32_t) (buf[*idx] & 0x7F);
-        *idx = *idx+1;
-        return 0;
-    }
-
-    //This is long form encoding
-    //The first bit is 1 and remaining bits are length of length
-
-    uint8_t len_of_len = (uint8_t) (buf[*idx] & 0x7f);
-    if (len_of_len > 4) {
-        //This is crazy -- more than 4bytes means that this is more than 4GB
-        DBLogWarning(@"readLength: length of any TLV can't be more than 32bit");
-        return -1;
-    }
-
-    if (*idx + len_of_len >= bufLen) {
-        DBLogWarning(@"readLength: idx:%d + len_of_len: %d >= bufLen:%d", *idx, len_of_len, bufLen);
-        return -2;
-    }
-
-    *idx = *idx + 1;
-    //now *idx is start of length integer value.
-    uint32_t len=0;
-    while (len_of_len) {
-        len = len << 8;
-        len = len + buf[*idx];
-        len_of_len--;
-        *idx = *idx+1;
-    }
-    *length = len;
-    return 0;
-}
-
-/*  Get serial number by parsing ASN.1 data from the certificate
- This function only exists on iPhone because the system does not provide
- a function to extract a serial number from a certificate.
-
- The input is a buffer (derdata) with a DER encoded ASN.1 certificate (
- a series of octets) and the length of the buffer. Returns a CFDataRef to
- a newly allocated buffer that has the serial number octets.
-
- While this code has been written with extreme paranoia, we are actually working on
- only the initial few bytes of a certificate signed and verified by a root CA that
- we have pinned. This data can be malicious only if the CA is compromised, which
- means we have bigger problems for all our clients.
-
- None the less, please talk to team-security before using this function.
- */
-
-+ (CFDataRef) copySerialFromCertificate:(const uint8_t *)derdata certificateLength:(const CFIndex)certlen {
-
-    /* High Level notes:
-     By the X.509 standard, serial number is
-     SEQ{
-     SEQ{
-     Version
-     Serial
-     }
-     }
-
-     So we go down two sequences and then look for Serial after jumping past version.
-
-     ASN.1 is a simple format: TAG, LENGTH, VALUE. We look for tag, get the length,
-     and then do what we want with the value (either ignoring it or reading it).
-
-     Best reference I found is http://www.oss.com/asn1/resources/books-whitepapers-pubs/larmouth-asn1-book.pdf
-     Start at Page 252 for encoding
-     */
-
-    static const uint8_t TAG_SEQ = 0x30;
-    static const uint8_t TAG_INT = 0x02;
-
-    if (certlen < 0 || certlen > (CFIndex) INT32_MAX) {
-        DBLogWarning(@"Certlen negative or too high: %ld. Paranoidly failing.", certlen);
-        return NULL;
-    }
-
-    uint32_t derlen = (uint32_t) certlen;
-    uint32_t idx = 0;
-
-    //first byte has to be for sequence
-    if (idx >= derlen) {
-        DBLogWarning(@"Error trying to read first TAG_SEQ. idx:%d >= certlen:%ld", idx, certlen);
-        return NULL;
-    }
-
-    if (derdata[idx] != TAG_SEQ) {
-        DBLogWarning(@"DER data does not start with TAG_SEQ. idx:%d octet:%X", idx, derdata[idx]);
-        return NULL;
-    }
-
-    idx++;
-
-    uint32_t len = 0;
-    if ([DBRequest readLength:&len fromBuffer:derdata ofLength:derlen atIndex:&idx] != 0) {
-        DBLogWarning(@"Failed to parse length from first TAG_SEQ.");
-        return NULL;
-    }
-
-    if (idx >= derlen) {
-        DBLogWarning(@"Error trying to read 2nd TAG_SEQ. idx:%d >= certlen:%ld", idx, certlen);
-        return NULL;
-    }
-
-    //now we are beyond the length and this is another sequence
-    if (derdata[idx] != TAG_SEQ) {
-        DBLogWarning(@"Error: first tag inside the TAG_SEQ is not a TAG_SEQ. idx:%d octet:%X", idx, derdata[idx]);
-        return NULL;
-    }
-
-    idx++;
-
-
-    if ([DBRequest readLength:&len fromBuffer:derdata ofLength:derlen atIndex:&idx] != 0) {
-        DBLogWarning(@"Failed to parse length from second TAG_SEQ");
-        return NULL;
-    }
-
-    //now we are at start of actual stuff.
-    //Semantically, this is the CERT_VERSION.
-    //We don't actually care what tag this is, but we need to jump past it.
-
-    if (idx >= derlen) {
-        DBLogWarning(@"Reached end of buffer while reading Version from first TLV inside TAG_SEQ. idx:%d >= certlen:%ld", idx, certlen);
-        return NULL;
-    }
-
-    //last five bits cant be all 1s, otherwise this is more than 1 byte tag
-    //which shouldn't happen for SSL certs
-    if ((derdata[idx] & 0x1F) == 0x1F) {
-        DBLogWarning(@"Invalid CERT Version tag inside 2nd SEQ");
-        return NULL;
-    }
-
-    idx++;
-
-    if ([DBRequest readLength:&len fromBuffer:derdata ofLength:derlen atIndex:&idx] != 0) {
-        DBLogWarning(@"Failed to parse length of CERT Version tag");
-        return NULL;
-    }
-
-    //we don't care about this so we only need to jump past it
-
-    idx+=len;
-
-
-    if (idx >= derlen) {
-        DBLogWarning(@"Reached end of buffer while reading Version from first TLV inside TAG_SEQ. idx:%d >= certlen:%ld", idx, certlen);
-        return NULL;
-    }
-
-    //ok now comes the serial number TLV
-    if (derdata[idx] != TAG_INT) {
-        DBLogWarning(@"Reached serial number, but it is not marked with TAG_INT. Failing");
-        return NULL;
-    }
-
-    idx++;
-
-    if ([DBRequest readLength:&len fromBuffer:derdata ofLength:derlen atIndex:&idx] != 0) {
-        DBLogWarning(@"Failed to parse length of serial number TLV");
-        return NULL;
-    }
-
-
-    if (idx+len >= derlen) {
-        DBLogWarning(@"Serial length goes beyond end of buffer. idx:%d >= certlen:%ld", idx, certlen);
-        return NULL;
-    }
-
-    // Now derdata+idx is start of serial of len
-    // CFDataCreate makes a copy by default
-    CFDataRef serial = CFDataCreate(NULL, derdata+idx, len);
-    return serial;
-}
-#endif
-
-+ (bool)isRevokedCertificate:(SecCertificateRef)certificate {
-
-#ifdef TARGET_OS_IPHONE
-    const CFDataRef cfder = SecCertificateCopyData(certificate);
-    const CFDataRef serial = [DBRequest copySerialFromCertificate:CFDataGetBytePtr(cfder) certificateLength:CFDataGetLength(cfder)];
-    CFRelease(cfder);
-#else
-    const CFDataRef serial = SecCertificateCopySerialNumber(certificate, NULL);
-#endif
-
-    if (serial == NULL) {
-        // Sanity check, should never happen. Fail if we cannot get a serial number
-        DBLogError(@"DropboxSDK: SSL Error. Cannot read a serial number of the certificate");
-        return true;
-    }
-    bool isRevoked = false;
-    for (int i=0; i < sizeof(kRevokedCertificateSNs)/sizeof(kRevokedCertificateSNs[0]); i++) {
-        CFDataRef revoked_serial = CFDataCreateWithBytesNoCopy(NULL,
-                                                          (const UInt8*)kRevokedCertificateSNs[i],
-                                                          strnlen(kRevokedCertificateSNs[i], kMaxCertSNLen),
-                                                          kCFAllocatorNull);
-        if(CFEqual(serial, revoked_serial)) {
-            isRevoked = true;
-        }
-        CFRelease(revoked_serial);
-    }
-    CFRelease(serial);
-    return isRevoked;
-}
-
-//
-// Base64-encoded root certificates in DER format
-//
-// Dropbox official root certificates as of Nov 2013
-// https://docs.google.com/a/dropbox.com/document/d/1rRpdaZODYatEO5c9VMu6ACaunE_xZT2oJlbyP457U_I
-//
-// Contains the following root certificates:
-// DigiCert Assured ID Root CA
-// DigiCert Global Root CA
-// DigiCert High Assurance EV Root CA
-// Entrust Root Certification Authority - EC1
-// Entrust Root Certification Authority - G2
-// Entrust Root Certification Authority
-// Entrust.net Certification Authority (2048)
-// GeoTrust Global CA
-// GeoTrust Primary Certification Authority - G2
-// GeoTrust Primary Certification Authority - G3
-// GeoTrust Primary Certification Authority
-// Go Daddy Class 2 Certification Authority
-// Go Daddy Root Certificate Authority - G2
-// Go Daddy Secure Certification Authority serialNumber=07969287
-// Go Daddy Secure Server Certificate (Cross Intermediate Certificate)
-// Thawte Premium Server CA
-// Thawte Primary Root CA - G2
-// Thawte Primary Root CA - G3
-// Thawte Primary Root CA
-//
-static const char *kBase64RootCerts[] = {
-    //DigiCert Assured ID Root CA
-    "MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJV\
-    UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQD\
-    ExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAw\
-    WjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl\
-    cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEB\
-    AQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWx\
-    KISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1\
-    vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4\
-    VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcX\
-    xH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAP\
-    BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF\
-    66Kv9JLLgjEtUYunpyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC\
-    dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2z\
-    KIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG\
-    +mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwz\
-    Zr8TDRRu838fYxAe+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==",
-    //DigiCert Global Root CA
-    "MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJV\
-    UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQD\
-    ExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGEx\
-    CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\
-    b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\
-    MIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZA\
-    AIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmF\
-    aG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\
-    T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSii\
-    cNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/\
-    BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm\
-    8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\
-    hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0\
-    jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6s\
-    RBc4L0na4UU+Krk2U886UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDA\
-    GySj4dzp30d8tbQkCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=",
-    //DigiCert High Assurance EV Root CA
-    "MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQGEwJV\
-    UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSswKQYDVQQD\
-    EyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTEx\
-    MDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\
-    LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2UgRVYgUm9vdCBDQTCC\
-    ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRn\
-    ogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG+\
-    +MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB\
-    Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5\
-    OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYD\
-    VR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvD\
-    MB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec\
-    nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB\
-    2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+Mpe\
-    izGLYAiJLQwGXFK3xPkKmNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E\
-    1CAx2/S6cCZdkGCevEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\
-    +OkuE6N36B9K",
-    //Entrust Root Certification Authority - EC1
-    "MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMxFjAU\
-    BgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy\
-    bXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s\
-    eTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy\
-    MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0\
-    LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAo\
-    YykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVu\
-    dHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi\
-    A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9\
-    ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEG\
-    MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMD\
-    A2cAMGQCMGF52OVCR98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX\
-    hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G",
-    //Entrust Root Certification Authority - G2
-    "MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT\
-    DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3\
-    BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAG\
-    A1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy\
-    NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4x\
-    KDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5\
-    IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBS\
-    b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\
-    AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3\
-    gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe\
-    +1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5I\
-    O2/b1BEZQvePB7/1U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0\
-    jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD\
-    AQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2\
-    eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+\
-    xLlEjZivEtRh2woZRkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v\
-    1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB4\
-    28Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ\
-    19xOe4pIb4tF9g==",
-    //Entrust Root Certification Authority
-    "MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNVBAoT\
-    DUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVk\
-    IGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50\
-    cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw\
-    NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkwNwYDVQQLEzB3d3cu\
-    ZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAy\
-    MDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv\
-    cml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo\
-    Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypo\
-    wCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dc\
-    Xv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0d\
-    gNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB\
-    sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIw\
-    MjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNV\
-    HQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0G\
-    CSqGSIb3DQEBBQUAA4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t\
-    O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuz\
-    FVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE\
-    2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0\
-    tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8",
-    //Entrust.net Certification Authority (2048)
-    "MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5uZXQx\
-    QDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBs\
-    aWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1\
-    c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3\
-    MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3LmVudHJ1c3QubmV0\
-    L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkg\
-    RW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRo\
-    b3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq\
-    K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/EC\
-    DNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmj\
-    Zy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVg\
-    hTAp+XtIpGmG4zU/HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH\
-    4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGA\
-    vtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xG\
-    Y4+WZiT6QBshJ8rmcnPyT/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1cs\
-    Hsm7mhpElesYT6YfzX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b\
-    u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG\
-    8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=",
-    //GeoTrust Global CA
-    "MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1H\
-    ZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcN\
-    MjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE\
-    AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9\
-    9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJ\
-    KA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7\
-    csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR\
-    Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW\
-    MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9\
-    qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEA\
-    NeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz\
-    /Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF\
-    PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdS\
-    tysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUSte\
-    dejV0NxPNO3CBWaAocvmMw==",
-    //GeoTrust Primary Certification Authority - G2
-    "MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMCVVMx\
-    FjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IEluYy4gLSBG\
-    b3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0\
-    aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV\
-    BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAwNyBHZW9UcnVzdCBJ\
-    bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2Vy\
-    dGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuH\
-    NxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal\
-    tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\
-    AQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6L\
-    uvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJb\
-    n0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2npaqBA+K",
-    //GeoTrust Primary Certification Authority - G3
-    "MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMC\
-    VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0IEluYy4g\
-    LSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZp\
-    Y2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ\
-    BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAwOCBHZW9UcnVz\
-    dCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdlb1RydXN0IFByaW1hcnkg\
-    Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\
-    ANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm\
-    hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeD\
-    XTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4il\
-    m/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/\
-    BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw\
-    HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9\
-    n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ\
-    7w5elShKKiePEI4ufIbEAp7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXX\
-    ExZacse3aQHEerGDAWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH\
-    SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+o\
-    ghLrGREt",
-    //GeoTrust Primary Certification Authority
-    "MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJV\
-    UzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZp\
-    Y2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYT\
-    AlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp\
-    ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvrgVe//UfH1n\
-    rYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9ju\
-    apYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVX\
-    iIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W\
-    kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s\
-    0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU\
-    LNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN\
-    3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl\
-    4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmcly\
-    nnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf\
-    2asdweSU8Pj1K/fqynhG1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=",
-    //Go Daddy Class 2 Certification Authority
-    "MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhl\
-    IEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRp\
-    b24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMx\
-    ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg\
-    MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAN6d\
-    1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9\
-    S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojg\
-    C95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY\
-    avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44\
-    dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNV\
-    HSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY\
-    VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj\
-    YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8\
-    EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszO\
-    YtuURXO1v0XJJLXVggKtI3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheab\
-    IZ0KbIIOqPjCDPoQHmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER\
-    dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWlet\
-    Nw+vHX/bvZ8=",
-    //Go Daddy Root Certificate Authority - G2
-    "MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0Fy\
-    aXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMTEwLwYD\
-    VQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw\
-    MFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH\
-    EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UEAxMoR28gRGFkZHkg\
-    Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\
-    ggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpP\
-    L1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy\
-    DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6\
-    gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdY\
-    q7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\
-    AQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX\
-    WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX\
-    +rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6r\
-    aBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPK\
-    f1855eJ1usV2GDPOLPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI\
-    4uJEvlz36hz1",
-    //Go Daddy Secure Certification Authority serialNumber=07969287
-    "MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo\
-    ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0\
-    aW9uIEF1dGhvcml0eTAeFw0wNjExMTYwMTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJV\
-    UzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j\
-    b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9y\
-    eTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MREwDwYDVQQF\
-    EwgwNzk2OTI4NzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFa\
-    pmGBWTtwY6vj3D3HKrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm\
-    VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpRSgAvSMeYddi5Kcju\
-    +GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRTcDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1\
-    NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8C\
-    AwEAAaOCATIwggEuMB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS\
-    kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEF\
-    BQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0fBD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRp\
-    ZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAA\
-    MDgwNgYIKwYBBQUHAgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO\
-    BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IGOgRQjhVyrEp0lVPL\
-    N8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMUA2fCENZvD117esyfxVgqwcSeIaha86yk\
-    RvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUO\
-    OjZv2kWzRaJBydTXRE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH\
-    qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWVU+4=",
-    //Go Daddy Secure Server Certificate (Cross Intermediate Certificate)
-    "MIIE+zCCBGSgAwIBAgICAQ0wDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlk\
-    YXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs\
-    YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGlj\
-    ZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTA0MDYyOTE3MDYyMFoX\
-    DTI0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwg\
-    SW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAw\
-    DQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne7\
-    7ZtJ6XCAPVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+q\
-    N1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVl\
-    OARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a\
-    9nmYvLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjggHhMIIB3TAdBgNV\
-    HQ4EFgQU0sSw0pHUTBFxs2HLPaH+3ahq1OMwgdIGA1UdIwSByjCBx6GBwaSBvjCBuzEkMCIGA1UEBxMb\
-    VmFsaUNlcnQgVmFsaWRhdGlvbiBOZXR3b3JrMRcwFQYDVQQKEw5WYWxpQ2VydCwgSW5jLjE1MDMGA1UE\
-    CxMsVmFsaUNlcnQgQ2xhc3MgMiBQb2xpY3kgVmFsaWRhdGlvbiBBdXRob3JpdHkxITAfBgNVBAMTGGh0\
-    dHA6Ly93d3cudmFsaWNlcnQuY29tLzEgMB4GCSqGSIb3DQEJARYRaW5mb0B2YWxpY2VydC5jb22CAQEw\
-    DwYDVR0TAQH/BAUwAwEB/zAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmdv\
-    ZGFkZHkuY29tMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20v\
-    cmVwb3NpdG9yeS9yb290LmNybDBLBgNVHSAERDBCMEAGBFUdIAAwODA2BggrBgEFBQcCARYqaHR0cDov\
-    L2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG\
-    9w0BAQUFAAOBgQC1QPmnHfbq/qQaQlpE9xXUhUaJwL6e4+PrxeNYiY+Sn1eocSxI0YGyeR+sBjUZsE4O\
-    WBsUs5iB0QQeyAfJg594RAoYC5jcdnplDQ1tgMQLARzLrUc+cb53S8wGd9D0VmsfSxOaFIqII6hR8INM\
-    qzW/Rn453HWkrugp++85j09VZw==",
-    //Thawte Premium Server CA
-    "MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl\
-    c3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBj\
-    YzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3Rl\
-    IFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t\
-    MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxX\
-    ZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcg\
-    Y2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0\
-    ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv\
-    bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhI\
-    NTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu\
-    2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUw\
-    AwEB/zANBgkqhkiG9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI\
-    hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0ll\
-    mozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg==",
-    //Thawte Primary Root CA - G2
-    "MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMCVVMx\
-    FTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9y\
-    IGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAe\
-    Fw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh\
-    d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1\
-    c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYF\
-    K4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8\
-    mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E\
-    BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZI\
-    zj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7Z\
-    zwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==",
-    //Thawte Primary Root CA - G3
-    "MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UEBhMC\
-    VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBE\
-    aXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\
-    IG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa\
-    Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMuMSgwJgYD\
-    VQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3\
-    dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkg\
-    Um9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm\
-    gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/E\
-    th9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8E\
-    tCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa\
-    3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk\
-    OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc\
-    7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvn\
-    RFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytl\
-    ryjvsvXDqmbOe1but8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c\
-    KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8Rc\
-    TGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=",
-    //Thawte Primary Root CA
-    "MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UEBhMC\
-    VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBE\
-    aXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl\
-    IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw\
-    NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf\
-    Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJ\
-    bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3Qg\
-    Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs\
-    W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29\
-    dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsL\
-    r5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30r\
-    CfSMnZEfl2pSy94JNqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA\
-    MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG\
-    61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzs\
-    UHboZHIMpKnxuIvW1oeEuzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQ\
-    aEfZYGDm/Ac9IiAXxPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2\
-    /qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6g\
-    LkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA=="
-};
-static const size_t kMaxCertLen = 10000;
-static NSMutableArray * volatile sRootCerts = NULL;
-
-// Static method returning NSArray with Dropbox root certificates
-+ (NSArray *)rootCertificates {
-    if (sRootCerts != NULL)
-        return sRootCerts;
-    @synchronized ([DBRequest class]) {
-        if (sRootCerts == NULL) {
-            NSMutableArray *certs = [NSMutableArray array];
-            for (int i=0; i < sizeof(kBase64RootCerts)/sizeof(kBase64RootCerts[0]); i++) {
-                size_t base64CertLen = strnlen(kBase64RootCerts[i], kMaxCertLen);
-                size_t derCertLen = DBEstimateBas64DecodedDataSize(base64CertLen);
-                char derCert[derCertLen];
-                bool success = DBBase64DecodeData(kBase64RootCerts[i], base64CertLen, derCert, &derCertLen);
-                if (!success) {
-                    DBLogError(@"Root certificate base64 decoding failed!");
-                    continue;
-                }
-                CFDataRef rawCert = CFDataCreate(kCFAllocatorDefault, (const UInt8 *)derCert, derCertLen);
-                SecCertificateRef cert = SecCertificateCreateWithData (kCFAllocatorDefault, rawCert);
-                if (cert == NULL) {
-                    DBLogError(@"Invalid root certificate!");
-                    CFRelease(rawCert);
-                    continue;
-                }
-                CFRelease(rawCert);
-                [certs addObject:(id)cert];
-                CFRelease(cert);
-            }
-            sRootCerts = [certs retain];
-        }
-    }
-    return sRootCerts;
-}
-@end
-

+ 0 - 150
Libraries external/DropboxSDK/DropboxSDK/Classes/DBRestClient+OSX.m

@@ -1,150 +0,0 @@
-//
-//  DBRestClient+OSX.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 1/22/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBRestClient+OSX.h"
-
-#import "DBLog.h"
-#import "DBRequest.h"
-
-
-@interface DBRestClient ()
-
-- (NSMutableURLRequest *)requestWithHost:(NSString *)host path:(NSString *)path parameters:(NSDictionary *)params;
-
-@property (nonatomic, readonly) MPOAuthCredentialConcreteStore *credentialStore;
-
-@end
-
-
-@implementation DBRestClient (OSX)
-
-- (void)parse:(NSString *)result intoToken:(NSString **)pToken secret:(NSString **)pSecret userId:(NSString **)pUserId {
-    for (NSString *param in [result componentsSeparatedByString:@"&"]) {
-        NSArray *vals = [param componentsSeparatedByString:@"="];
-        if ([vals count] != 2) {
-            DBLogError(@"DBRestClient+OSX: error parsing oauth result");
-            return;
-        }
-        NSString *name = [vals objectAtIndex:0];
-        NSString *val = [vals objectAtIndex:1];
-
-        if ([name isEqual:@"oauth_token"]) {
-            *pToken = val;
-        } else if ([name isEqual:@"oauth_token_secret"]) {
-            *pSecret = val;
-        } else if ([name isEqual:@"uid"]) {
-            if (pUserId) {
-                *pUserId = val;
-            }
-        } else {
-            DBLogError(@"DBRestClient+Dropbox: unknown parameter received");
-        }
-    }
-}
-
-- (void)loadRequestToken {
-    NSURLRequest *urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:@"/oauth/request_token" parameters:nil];
-
-    DBRequest *request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadRequestToken:)]
-         autorelease];
-
-    [requests addObject:request];
-}
-
-- (void)requestDidLoadRequestToken:(DBRequest *)request {
-    id<DBRestClientOSXDelegate> delegateExt = (id<DBRestClientOSXDelegate>)delegate;
-    if (request.error) {
-        if ([delegateExt respondsToSelector:@selector(restClient:loadRequestTokenFailedWithError:)]) {
-            [delegateExt restClient:self loadRequestTokenFailedWithError:request.error];
-        }
-    } else {
-        NSString *token = nil;
-        NSString *secret = nil;
-        [self parse:[request resultString] intoToken:&token secret:&secret userId:nil];
-        self.credentialStore.requestToken = token;
-        self.credentialStore.requestTokenSecret = secret;
-        if ([delegateExt respondsToSelector:@selector(restClientLoadedRequestToken:)]) {
-            [delegateExt restClientLoadedRequestToken:self];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (BOOL)requestTokenLoaded {
-    return self.credentialStore.requestToken != nil;
-}
-
-
-- (NSURL *)authorizeURL {
-    if (![self requestTokenLoaded]) {
-        DBLogError(@"DBRestClient: You must get a request token before creating the authorize url");
-        return nil;
-    }
-
-    NSString *token = self.credentialStore.requestToken;
-    NSString *osxProtocol= [NSString stringWithFormat:@"db-%@", self.credentialStore.consumerKey];
-    NSString *urlStr = [NSString stringWithFormat:@"%@://%@/%@/oauth/authorize?oauth_token=%@&osx_protocol=%@&embedded=1",
-                        kDBProtocolHTTPS, kDBDropboxWebHost, kDBDropboxAPIVersion, token, osxProtocol];
-    return [NSURL URLWithString:urlStr];
-}
-
-
-- (void)loadAccessToken {
-    if (![self requestTokenLoaded]) {
-        DBLogError(@"DBRestClient: You must get a request token and authorize it before getting an access token");
-        return;
-    }
-
-    NSURLRequest *urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:@"/oauth/access_token" parameters:nil];
-
-    DBRequest *request =
-         [[[DBRequest alloc]
-           initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadAccessToken:)]
-          autorelease];
-
-    [requests addObject:request];
-}
-
-- (void)requestDidLoadAccessToken:(DBRequest *)request {
-    id<DBRestClientOSXDelegate> delegateExt = (id<DBRestClientOSXDelegate>)delegate;
-    if (request.error) {
-        if (request.statusCode == 401 || request.statusCode == 403) {
-            // request token probably no longer valid, clear it out to make sure we fetch another one
-            self.credentialStore.requestToken = nil;
-            self.credentialStore.requestTokenSecret = nil;
-        }
-        if ([delegateExt respondsToSelector:@selector(restClient:loadAccessTokenFailedWithError:)]) {
-            [delegateExt restClient:self loadAccessTokenFailedWithError:request.error];
-        }
-    } else {
-        self.credentialStore.requestToken = nil;
-        self.credentialStore.requestTokenSecret = nil;
-        NSString *token = nil;
-        NSString *secret = nil;
-        NSString *uid = nil;
-        [self parse:[request resultString] intoToken:&token secret:&secret userId:&uid];
-        [session updateAccessToken:token accessTokenSecret:secret forUserId:uid];
-        if (userId == nil) {
-            // if this client used to link the first user, associate it with that user
-            userId = [uid retain];
-        }
-        if ([delegateExt respondsToSelector:@selector(restClientLoadedAccessToken:)]) {
-            [delegateExt restClientLoadedAccessToken:self];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-@end

+ 0 - 1373
Libraries external/DropboxSDK/DropboxSDK/Classes/DBRestClient.m

@@ -1,1373 +0,0 @@
-//
-//  DBRestClient.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/9/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBRestClient.h"
-
-#import "DBAccountInfo.h"
-#import "DBError.h"
-#import "DBDeltaEntry.h"
-#import "DBLog.h"
-#import "DBMetadata.h"
-#import "DBRequest.h"
-#import "MPOAuthURLRequest.h"
-#import "MPURLRequestParameter.h"
-#import "MPOAuthSignatureParameter.h"
-#import "NSString+URLEscapingAdditions.h"
-
-
-@interface DBRestClient ()
-
-// This method escapes all URI escape characters except /
-+ (NSString*)escapePath:(NSString*)path;
-
-+ (NSString *)bestLanguage;
-
-+ (NSString *)userAgent;
-
-- (NSMutableURLRequest*)requestWithHost:(NSString*)host path:(NSString*)path 
-    parameters:(NSDictionary*)params;
-
-- (NSMutableURLRequest*)requestWithHost:(NSString*)host path:(NSString*)path 
-    parameters:(NSDictionary*)params method:(NSString*)method;
-
-- (void)checkForAuthenticationFailure:(DBRequest*)request;
-
-@property (nonatomic, readonly) MPOAuthCredentialConcreteStore *credentialStore;
-
-@end
-
-
-@interface DBMetadata ()
-
-+ (NSDateFormatter *)dateFormatter;
-
-@end
-
-
-@implementation DBRestClient
-
-- (id)initWithSession:(DBSession*)aSession userId:(NSString *)theUserId {
-    if (!aSession) {
-        DBLogError(@"DropboxSDK: cannot initialize a DBRestClient with a nil session");
-        return nil;
-    }
-
-    if ((self = [super init])) {
-        session = [aSession retain];
-        userId = [theUserId retain];
-        root = [aSession.root retain];
-        requests = [[NSMutableSet alloc] init];
-        loadRequests = [[NSMutableDictionary alloc] init];
-        imageLoadRequests = [[NSMutableDictionary alloc] init];
-        uploadRequests = [[NSMutableDictionary alloc] init];
-    }
-    return self;
-}
-
-- (id)initWithSession:(DBSession *)aSession {
-    NSString *uid = [aSession.userIds count] > 0 ? [aSession.userIds objectAtIndex:0] : nil;
-    return [self initWithSession:aSession userId:uid];
-}
-
-
-- (void)cancelAllRequests {
-    for (DBRequest* request in requests) {
-        [request cancel];
-    }
-    [requests removeAllObjects];
-
-    for (DBRequest* request in [loadRequests allValues]) {
-        [request cancel];
-    }
-    [loadRequests removeAllObjects];
-
-    for (DBRequest* request in [imageLoadRequests allValues]) {
-        [request cancel];
-    }
-    [imageLoadRequests removeAllObjects];
-
-    for (DBRequest* request in [uploadRequests allValues]) {
-        [request cancel];
-    }
-    [uploadRequests removeAllObjects];
-}
-
-
-- (void)dealloc {
-    [self cancelAllRequests];
-    [requests release];
-    [loadRequests release];
-    [imageLoadRequests release];
-    [uploadRequests release];
-    [session release];
-    [userId release];
-    [root release];
-    [super dealloc];
-}
-
-
-
-@synthesize delegate;
-
-
-- (void)loadMetadata:(NSString*)path withParams:(NSDictionary *)params
-{
-    NSString* fullPath = [NSString stringWithFormat:@"/metadata/%@%@", root, path];
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params];
-    
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadMetadata:)]
-         autorelease];
-    
-    NSMutableDictionary *userInfo = [NSMutableDictionary dictionaryWithObject:path forKey:@"path"];
-    if (params) {
-        [userInfo addEntriesFromDictionary:params];
-    }
-    request.userInfo = userInfo;
-
-    [requests addObject:request];
-}
-
-- (void)loadMetadata:(NSString*)path
-{
-    [self loadMetadata:path withParams:nil];
-}
-
-- (void)loadMetadata:(NSString*)path withHash:(NSString*)hash {
-    NSDictionary *params = nil;
-    if (hash) {
-        params = [NSDictionary dictionaryWithObject:hash forKey:@"hash"];
-    }
-
-    [self loadMetadata:path withParams:params];
-}
-
-- (void)loadMetadata:(NSString *)path atRev:(NSString *)rev {
-    NSDictionary *params = nil;
-    if (rev) {
-        params = [NSDictionary dictionaryWithObject:rev forKey:@"rev"];
-    }
-
-    [self loadMetadata:path withParams:params];
-}
-
-- (void)requestDidLoadMetadata:(DBRequest*)request
-{ 
-    [[self retain] autorelease];
-
-    if (request.statusCode == 304) {
-        if ([delegate respondsToSelector:@selector(restClient:metadataUnchangedAtPath:)]) {
-            NSString* path = [request.userInfo objectForKey:@"path"];
-            [delegate restClient:self metadataUnchangedAtPath:path];
-        }
-    } else if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadMetadataFailedWithError:)]) {
-            [delegate restClient:self loadMetadataFailedWithError:request.error];
-        }
-    } else {
-        SEL sel = @selector(parseMetadataWithRequest:resultThread:);
-        NSMethodSignature *sig = [self methodSignatureForSelector:sel];
-        NSInvocation *inv = [NSInvocation invocationWithMethodSignature:sig];
-        [inv setTarget:self];
-        [inv setSelector:sel];
-        [inv setArgument:&request atIndex:2];
-        NSThread *currentThread = [NSThread currentThread];
-        [inv setArgument:&currentThread atIndex:3];
-        [inv retainArguments];
-        [inv performSelectorInBackground:@selector(invoke) withObject:nil];
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (void)parseMetadataWithRequest:(DBRequest*)request resultThread:(NSThread *)thread {
-    NSAutoreleasePool* pool = [NSAutoreleasePool new];
-    
-    NSDictionary* result = (NSDictionary*)[request resultJSON];
-    DBMetadata* metadata = [[[DBMetadata alloc] initWithDictionary:result] autorelease];
-    if (metadata) {
-        [self performSelector:@selector(didParseMetadata:) onThread:thread withObject:metadata waitUntilDone:NO];
-    } else {
-        [self performSelector:@selector(parseMetadataFailedForRequest:) onThread:thread
-                   withObject:request waitUntilDone:NO];
-    }
-    
-    [pool drain];
-}
-
-
-- (void)didParseMetadata:(DBMetadata*)metadata {
-    if ([delegate respondsToSelector:@selector(restClient:loadedMetadata:)]) {
-        [delegate restClient:self loadedMetadata:metadata];
-    }
-}
-
-- (void)parseMetadataFailedForRequest:(DBRequest *)request {
-    NSError *error = 
-        [NSError errorWithDomain:DBErrorDomain code:DBErrorInvalidResponse userInfo:request.userInfo];
-    DBLogWarning(@"DropboxSDK: error parsing metadata");
-    if ([delegate respondsToSelector:@selector(restClient:loadMetadataFailedWithError:)]) {
-        [delegate restClient:self loadMetadataFailedWithError:error];
-    }
-}
-
-
-- (void)loadDelta:(NSString *)cursor {
-    NSDictionary *params = nil;
-    if (cursor) {
-        params = [NSDictionary dictionaryWithObject:cursor forKey:@"cursor"];
-    }
-
-    NSString *fullPath = [NSString stringWithFormat:@"/delta"];
-    NSMutableURLRequest* urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params method:@"POST"];
-
-    DBRequest* request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadDelta:)]
-         autorelease];
-
-    request.userInfo = params;
-    [requests addObject:request];
-}
-
-- (void)requestDidLoadDelta:(DBRequest *)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadDeltaFailedWithError:)]) {
-            [delegate restClient:self loadDeltaFailedWithError:request.error];
-        }
-    } else {
-        SEL sel = @selector(parseDeltaWithRequest:resultThread:);
-        NSMethodSignature *sig = [self methodSignatureForSelector:sel];
-        NSInvocation *inv = [NSInvocation invocationWithMethodSignature:sig];
-        [inv setTarget:self];
-        [inv setSelector:sel];
-        [inv setArgument:&request atIndex:2];
-        NSThread *currentThread = [NSThread currentThread];
-        [inv setArgument:&currentThread atIndex:3];
-        [inv retainArguments];
-        [inv performSelectorInBackground:@selector(invoke) withObject:nil];
-    }
-
-    [requests removeObject:request];
-}
-
-- (void)parseDeltaWithRequest:(DBRequest *)request resultThread:(NSThread *)thread {
-    NSAutoreleasePool* pool = [NSAutoreleasePool new];
-
-    NSDictionary* result = [request parseResponseAsType:[NSDictionary class]];
-    if (result) {
-        NSArray *entryArrays = [result objectForKey:@"entries"];
-        NSMutableArray *entries = [NSMutableArray arrayWithCapacity:[entryArrays count]];
-        for (NSArray *entryArray in entryArrays) {
-            DBDeltaEntry *entry = [[DBDeltaEntry alloc] initWithArray:entryArray];
-            [entries addObject:entry];
-            [entry release];
-        }
-        BOOL reset = [[result objectForKey:@"reset"] boolValue];
-        NSString *cursor = [result objectForKey:@"cursor"];
-        BOOL hasMore = [[result objectForKey:@"has_more"] boolValue];
-
-        SEL sel = @selector(restClient:loadedDeltaEntries:reset:cursor:hasMore:);
-        if ([delegate respondsToSelector:sel]) {
-            NSMethodSignature *sig = [(NSObject *)delegate methodSignatureForSelector:sel];
-            NSInvocation *inv = [NSInvocation invocationWithMethodSignature:sig];
-            [inv setTarget:delegate];
-            [inv setSelector:sel];
-            [inv setArgument:&self atIndex:2];
-            [inv setArgument:&entries atIndex:3];
-            [inv setArgument:&reset atIndex:4];
-            [inv setArgument:&cursor atIndex:5];
-            [inv setArgument:&hasMore atIndex:6];
-            [inv retainArguments];
-            [inv performSelector:@selector(invoke) onThread:thread withObject:nil waitUntilDone:NO];
-        }
-    } else {
-        [self performSelector:@selector(parseDeltaFailedForRequest:) onThread:thread
-                   withObject:request waitUntilDone:NO];
-    }
-
-    [pool drain];
-}
-
-- (void)parseDeltaFailedForRequest:(DBRequest *)request {
-    NSError *error =
-        [NSError errorWithDomain:DBErrorDomain code:DBErrorInvalidResponse userInfo:request.userInfo];
-    DBLogWarning(@"DropboxSDK: error parsing metadata");
-    if ([delegate respondsToSelector:@selector(restClient:loadDeltaFailedWithError:)]) {
-        [delegate restClient:self loadDeltaFailedWithError:error];
-    }
-}
-
-
-- (void)loadFile:(NSString *)path atRev:(NSString *)rev intoPath:(NSString *)destPath
-{
-    NSString* fullPath = [NSString stringWithFormat:@"/files/%@%@", root, path];
-
-    NSDictionary *params = nil;
-    if (rev) {
-        params = [NSDictionary dictionaryWithObject:rev forKey:@"rev"];
-    }
-    
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIContentHost path:fullPath parameters:params];
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadFile:)]
-         autorelease];
-    request.resultFilename = destPath;
-    request.downloadProgressSelector = @selector(requestLoadProgress:);
-    request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-            path, @"path", 
-            destPath, @"destinationPath", 
-            rev, @"rev", nil];
-    [loadRequests setObject:request forKey:path];
-}
-
-- (void)loadFile:(NSString *)path intoPath:(NSString *)destPath {
-    [self loadFile:path atRev:nil intoPath:destPath];
-}
-
-- (void)cancelFileLoad:(NSString*)path {
-    DBRequest* outstandingRequest = [loadRequests objectForKey:path];
-    if (outstandingRequest) {
-        [outstandingRequest cancel];
-        [loadRequests removeObjectForKey:path];
-    }
-}
-
-
-- (void)requestLoadProgress:(DBRequest*)request {
-    if ([delegate respondsToSelector:@selector(restClient:loadProgress:forFile:)]) {
-        [delegate restClient:self loadProgress:request.downloadProgress forFile:request.resultFilename];
-    }
-}
-
-
-- (void)restClient:(DBRestClient*)restClient loadedFile:(NSString*)destPath
-contentType:(NSString*)contentType eTag:(NSString*)eTag {
-    // Empty selector to get the signature from
-}
-
-- (void)requestDidLoadFile:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    NSString* path = [request.userInfo objectForKey:@"path"];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadFileFailedWithError:)]) {
-            [delegate restClient:self loadFileFailedWithError:request.error];
-        }
-    } else {
-        NSString* filename = request.resultFilename;
-        NSDictionary* headers = [request.response allHeaderFields];
-        NSString* contentType = [headers objectForKey:@"Content-Type"];
-        NSDictionary* metadataDict = [request xDropboxMetadataJSON];
-        NSString* eTag = [headers objectForKey:@"Etag"];
-        if ([delegate respondsToSelector:@selector(restClient:loadedFile:)]) {
-            [delegate restClient:self loadedFile:filename];
-        } else if ([delegate respondsToSelector:@selector(restClient:loadedFile:contentType:metadata:)]) {
-            DBMetadata* metadata = [[[DBMetadata alloc] initWithDictionary:metadataDict] autorelease];
-            [delegate restClient:self loadedFile:filename contentType:contentType metadata:metadata];
-        } else if ([delegate respondsToSelector:@selector(restClient:loadedFile:contentType:)]) {
-            // This callback is deprecated and this block exists only for backwards compatibility.
-            [delegate restClient:self loadedFile:filename contentType:contentType];
-        } else if ([delegate respondsToSelector:@selector(restClient:loadedFile:contentType:eTag:)]) {
-            // This code is for the official Dropbox client to get eTag information from the server
-            NSMethodSignature* signature = 
-                [self methodSignatureForSelector:@selector(restClient:loadedFile:contentType:eTag:)];
-            NSInvocation* invocation = [NSInvocation invocationWithMethodSignature:signature];
-            [invocation setTarget:delegate];
-            [invocation setSelector:@selector(restClient:loadedFile:contentType:eTag:)];
-            [invocation setArgument:&self atIndex:2];
-            [invocation setArgument:&filename atIndex:3];
-            [invocation setArgument:&contentType atIndex:4];
-            [invocation setArgument:&eTag atIndex:5];
-            [invocation invoke];
-        }
-    }
-
-    [loadRequests removeObjectForKey:path];
-}
-
-
-- (NSString*)thumbnailKeyForPath:(NSString*)path size:(NSString*)size {
-    return [NSString stringWithFormat:@"%@##%@", path, size];
-}
-
-
-- (void)loadThumbnail:(NSString *)path ofSize:(NSString *)size intoPath:(NSString *)destinationPath 
-{
-    NSString* fullPath = [NSString stringWithFormat:@"/thumbnails/%@%@", root, path];
-    
-    NSString* format = @"JPEG";
-    if ([path length] > 4) {
-        NSString* extension = [[path substringFromIndex:[path length] - 4] uppercaseString];
-        if ([[NSSet setWithObjects:@".PNG", @".GIF", nil] containsObject:extension]) {
-            format = @"PNG";
-        }
-    }
-    
-    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObject:format forKey:@"format"];
-    if(size) {
-        [params setObject:size forKey:@"size"];
-    }
-    
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIContentHost path:fullPath parameters:params];
-
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadThumbnail:)]
-         autorelease];
-
-    request.resultFilename = destinationPath;
-    request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-            root, @"root", 
-            path, @"path", 
-            destinationPath, @"destinationPath", 
-            size, @"size", nil];
-    [imageLoadRequests setObject:request forKey:[self thumbnailKeyForPath:path size:size]];
-}
-
-
-
-- (void)requestDidLoadThumbnail:(DBRequest*)request
-{
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadThumbnailFailedWithError:)]) {
-            [delegate restClient:self loadThumbnailFailedWithError:request.error];
-        }
-    } else {
-        NSString* filename = request.resultFilename;
-        NSDictionary* metadataDict = [request xDropboxMetadataJSON];
-        if ([delegate respondsToSelector:@selector(restClient:loadedThumbnail:metadata:)]) {
-            DBMetadata* metadata = [[[DBMetadata alloc] initWithDictionary:metadataDict] autorelease];
-            [delegate restClient:self loadedThumbnail:filename metadata:metadata];
-        } else if ([delegate respondsToSelector:@selector(restClient:loadedThumbnail:)]) {
-            // This callback is deprecated and this block exists only for backwards compatibility.
-            [delegate restClient:self loadedThumbnail:filename];
-        }
-    }
-
-    NSString* path = [request.userInfo objectForKey:@"path"];
-    NSString* size = [request.userInfo objectForKey:@"size"];
-    [imageLoadRequests removeObjectForKey:[self thumbnailKeyForPath:path size:size]];
-}
-
-
-- (void)cancelThumbnailLoad:(NSString*)path size:(NSString*)size {
-    NSString* key = [self thumbnailKeyForPath:path size:size];
-    DBRequest* request = [imageLoadRequests objectForKey:key];
-    if (request) {
-        [request cancel];
-        [imageLoadRequests removeObjectForKey:key];
-    }
-}
-
-- (NSString *)signatureForParams:(NSArray *)params url:(NSURL *)baseUrl {
-    NSMutableArray* paramList = [NSMutableArray arrayWithArray:params];
-    [paramList sortUsingSelector:@selector(compare:)];
-    NSString* paramString = [MPURLRequestParameter parameterStringForParameters:paramList];
-    
-    MPOAuthURLRequest* oauthRequest = 
-        [[[MPOAuthURLRequest alloc] initWithURL:baseUrl andParameters:paramList] autorelease];
-    oauthRequest.HTTPMethod = @"POST";
-    MPOAuthSignatureParameter *signatureParameter = 
-        [[[MPOAuthSignatureParameter alloc] 
-                initWithText:paramString andSecret:self.credentialStore.signingKey 
-                forRequest:oauthRequest usingMethod:self.credentialStore.signatureMethod]
-          autorelease];
-
-    return [signatureParameter URLEncodedParameterString];
-}
-
-- (NSMutableURLRequest *)requestForParams:(NSArray *)params urlString:(NSString *)urlString 
-signature:(NSString *)sig {
-
-    NSMutableArray *paramList = [NSMutableArray arrayWithArray:params];
-    // Then rebuild request using that signature
-    [paramList sortUsingSelector:@selector(compare:)];
-    NSMutableString* realParamString = [[[NSMutableString alloc] initWithString:
-            [MPURLRequestParameter parameterStringForParameters:paramList]]
-            autorelease];
-    [realParamString appendFormat:@"&%@", sig];
-    
-    NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?%@", urlString, realParamString]];
-    NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
-    urlRequest.HTTPMethod = @"POST";
-
-    return urlRequest;
-}
-
-- (void)uploadFile:(NSString*)filename toPath:(NSString*)path fromPath:(NSString *)sourcePath
-params:(NSDictionary *)params
-{
-    BOOL isDir = NO;
-    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:sourcePath isDirectory:&isDir];
-    NSDictionary *fileAttrs = 
-        [[NSFileManager defaultManager] attributesOfItemAtPath:sourcePath error:nil];
-
-    if (!fileExists || isDir || !fileAttrs) {
-        NSString* destPath = [path stringByAppendingPathComponent:filename];
-        NSDictionary* userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-                sourcePath, @"sourcePath",
-                destPath, @"destinationPath", nil];
-        NSInteger errorCode = isDir ? DBErrorIllegalFileType : DBErrorFileNotFound;
-        NSError* error = 
-            [NSError errorWithDomain:DBErrorDomain code:errorCode userInfo:userInfo];
-        NSString *errorMsg = isDir ? @"Unable to upload folders" : @"File does not exist";
-        DBLogWarning(@"DropboxSDK: %@ (%@)", errorMsg, sourcePath);
-        if ([delegate respondsToSelector:@selector(restClient:uploadFileFailedWithError:)]) {
-            [delegate restClient:self uploadFileFailedWithError:error];
-        }
-        return;
-    }
-
-    NSString *destPath = [path stringByAppendingPathComponent:filename];
-    NSString *urlString =
-        [NSString stringWithFormat:@"%@://%@/%@/files_put/%@%@", 
-                kDBProtocolHTTPS, kDBDropboxAPIContentHost, kDBDropboxAPIVersion, root, 
-                [DBRestClient escapePath:destPath]];
-
-#if !TARGET_OS_IPHONE
-    // Set appropriate parameters to disable notification of updates.
-    NSMutableDictionary * mutableParams = [[params mutableCopy] autorelease];
-    [mutableParams setObject:@"1" forKey:@"mute"];
-	params = mutableParams;
-#endif
-
-	NSArray *paramList =
-		[[self.credentialStore oauthParameters]
-		 arrayByAddingObjectsFromArray:[MPURLRequestParameter parametersFromDictionary:params]];
-
-    NSString *sig = [self signatureForParams:paramList url:[NSURL URLWithString:urlString]];
-    NSMutableURLRequest *urlRequest = [self requestForParams:paramList urlString:urlString signature:sig];
-    
-    NSString* contentLength = [NSString stringWithFormat: @"%qu", [fileAttrs fileSize]];
-    [urlRequest addValue:contentLength forHTTPHeaderField: @"Content-Length"];
-    [urlRequest addValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
-    
-    [urlRequest setHTTPBodyStream:[NSInputStream inputStreamWithFileAtPath:sourcePath]];
-
-    DBRequest *request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidUploadFile:)]
-         autorelease];
-    request.uploadProgressSelector = @selector(requestUploadProgress:);
-    request.userInfo = 
-        [NSDictionary dictionaryWithObjectsAndKeys:sourcePath, @"sourcePath", destPath, @"destinationPath", nil];
-	request.sourcePath = sourcePath;
-    
-    [uploadRequests setObject:request forKey:destPath];
-}
-
-- (void)uploadFile:(NSString*)filename toPath:(NSString*)path fromPath:(NSString *)sourcePath
-{
-    [self uploadFile:filename toPath:path fromPath:sourcePath params:nil];
-}
-
-- (void)uploadFile:(NSString *)filename toPath:(NSString *)path withParentRev:(NSString *)parentRev
-    fromPath:(NSString *)sourcePath {
-
-    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:@"false" forKey:@"overwrite"];
-    if (parentRev) {
-        [params setObject:parentRev forKey:@"parent_rev"];
-    }
-    [self uploadFile:filename toPath:path fromPath:sourcePath params:params];
-}
-
-
-- (void)requestUploadProgress:(DBRequest*)request {
-    NSString* sourcePath = [(NSDictionary*)request.userInfo objectForKey:@"sourcePath"];
-    NSString* destPath = [request.userInfo objectForKey:@"destinationPath"];
-
-    if ([delegate respondsToSelector:@selector(restClient:uploadProgress:forFile:from:)]) {
-        [delegate restClient:self uploadProgress:request.uploadProgress
-                    forFile:destPath from:sourcePath];
-    }
-}
-
-
-- (void)requestDidUploadFile:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    NSDictionary *result = [request parseResponseAsType:[NSDictionary class]];
-
-    if (!result) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:uploadFileFailedWithError:)]) {
-            [delegate restClient:self uploadFileFailedWithError:request.error];
-        }
-    } else {
-        DBMetadata *metadata = [[[DBMetadata alloc] initWithDictionary:result] autorelease];
-
-        NSString* sourcePath = [request.userInfo objectForKey:@"sourcePath"];
-        NSString* destPath = [request.userInfo objectForKey:@"destinationPath"];
-        
-        if ([delegate respondsToSelector:@selector(restClient:uploadedFile:from:metadata:)]) {
-            [delegate restClient:self uploadedFile:destPath from:sourcePath metadata:metadata];
-        } else if ([delegate respondsToSelector:@selector(restClient:uploadedFile:from:)]) {
-            [delegate restClient:self uploadedFile:destPath from:sourcePath];
-        }
-    }
-
-    [uploadRequests removeObjectForKey:[request.userInfo objectForKey:@"destinationPath"]];
-}
-
-- (void)cancelFileUpload:(NSString *)path {
-    DBRequest *request = [uploadRequests objectForKey:path];
-    if (request) {
-        [request cancel];
-        [uploadRequests removeObjectForKey:path];
-    }
-}
-
-- (void)uploadFileChunk:(NSString *)uploadId offset:(unsigned long long)offset fromPath:(NSString *)localPath {
-
-	NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:localPath];
-	if (!file) {
-		if ([delegate respondsToSelector:@selector(restClient:uploadFileChunkFailedWithError:)]) {
-			NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-									  localPath, @"fromPath",
-									  [NSNumber numberWithLongLong:offset], @"offset",
-									  uploadId, @"upload_id", nil];
-			NSError *error = [NSError errorWithDomain:DBErrorDomain code:DBErrorFileNotFound userInfo:userInfo];
-			[delegate restClient:self uploadFileChunkFailedWithError:error];
-		} else {
-			DBLogWarning(@"DropboxSDK: unable to read file in -[DBRestClient uploadFileChunk:offset:fromPath:] (fromPath=%@)", localPath);
-		}
-		return;
-	}
-	[file seekToFileOffset:offset];
-	NSData *data = [file readDataOfLength:2*1024*1024];
-
-	if (![data length]) {
-		DBLogWarning(@"DropboxSDK: did not read any data from file (fromPath=%@)", localPath);
-	}
-
-	NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
-							[NSString stringWithFormat:@"%qu", offset], @"offset",
-							uploadId, @"upload_id",
-							nil];
-
-	NSString *urlStr = [NSString stringWithFormat:@"%@://%@/%@/chunked_upload",
-						kDBProtocolHTTPS, kDBDropboxAPIContentHost, kDBDropboxAPIVersion];
-	NSArray *paramList = [[self.credentialStore oauthParameters]
-						   arrayByAddingObjectsFromArray:[MPURLRequestParameter parametersFromDictionary:params]];
-	NSString *sig = [self signatureForParams:paramList url:[NSURL URLWithString:urlStr]];
-	NSMutableURLRequest *urlRequest = [self requestForParams:paramList urlString:urlStr signature:sig];
-
-	NSString *contentLength = [NSString stringWithFormat:@"%lu", (unsigned long)[data length]];
-	[urlRequest addValue:contentLength forHTTPHeaderField:@"Content-Length"];
-	[urlRequest addValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
-	[urlRequest setHTTPBody:data];
-
-	DBRequest *request =
-		[[[DBRequest alloc]
-		  initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidUploadChunk:)]
-		 autorelease];
-	request.uploadProgressSelector = @selector(requestChunkedUploadProgress:);
-	NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-							  [NSNumber numberWithLongLong:offset], @"offset",
-							  localPath, @"fromPath",
-							  uploadId, @"upload_id", nil];
-	request.userInfo = userInfo;
-	request.sourcePath = localPath;
-	[requests addObject:request];
-}
-
-- (void)requestChunkedUploadProgress:(DBRequest*)request {
-	NSString *uploadId = [request.userInfo objectForKey:@"upload_id"];
-	unsigned long long offset = [[request.userInfo objectForKey:@"offset"] longLongValue];
-	NSString *fromPath = [request.userInfo objectForKey:@"fromPath"];
-
-    if ([delegate respondsToSelector:@selector(restClient:uploadFileChunkProgress:forFile:offset:fromPath:)]) {
-		[delegate restClient:self uploadFileChunkProgress:request.uploadProgress
-				forFile:uploadId offset:offset fromPath:fromPath];
-    }
-}
-
-- (void)requestDidUploadChunk:(DBRequest *)request {
-    [[self retain] autorelease];
-
-	NSDictionary *resp = [request parseResponseAsType:[NSDictionary class]];
-
-	if (!resp) {
-		if ([delegate respondsToSelector:@selector(restClient:uploadFileChunkFailedWithError:)]) {
-			[delegate restClient:self uploadFileChunkFailedWithError:request.error];
-		}
-	} else {
-		NSString *uploadId = [resp objectForKey:@"upload_id"];
-		unsigned long long newOffset = [[resp objectForKey:@"offset"] longLongValue];
-		NSString *localPath = [request.userInfo objectForKey:@"fromPath"];
-		NSDateFormatter *dateFormatter = [DBMetadata dateFormatter];
-		NSDate *expires = [dateFormatter dateFromString:[resp objectForKey:@"expires"]];
-		if ([delegate respondsToSelector:@selector(restClient:uploadedFileChunk:newOffset:fromFile:expires:)]) {
-			[delegate restClient:self uploadedFileChunk:uploadId newOffset:newOffset fromFile:localPath expires:expires];
-		}
-	}
-
-    [requests removeObject:request];
-}
-
-
-- (void)uploadFile:(NSString *)filename toPath:(NSString *)parentFolder withParentRev:(NSString *)parentRev
-	fromUploadId:(NSString *)uploadId {
-
-	NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
-								   uploadId, @"upload_id",
-								   @"false", @"overwrite", nil];
-	if (parentRev) {
-		[params setObject:parentRev forKey:@"parent_rev"];
-	}
-
-#if !TARGET_OS_IPHONE
-	[params setObject:@"1" forKey:@"mute"];
-#endif
-
-	if (![parentFolder hasSuffix:@"/"]) {
-		parentFolder = [NSString stringWithFormat:@"%@/", parentFolder];
-	}
-	NSString *destPath = [NSString stringWithFormat:@"%@%@", parentFolder, filename];
-	NSString *urlPath = [NSString stringWithFormat:@"/commit_chunked_upload/%@%@", root, destPath];
-	NSURLRequest *urlRequest = [self requestWithHost:kDBDropboxAPIContentHost path:urlPath parameters:params method:@"POST"];
-
-	DBRequest *request = [[[DBRequest alloc]
-						   initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidUploadFromUploadId:)]
-						  autorelease];
-	request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-						uploadId, @"uploadId",
-						destPath, @"destPath",
-						parentRev, @"parentRev",
-						nil];
-	[requests addObject:request];
-}
-
-- (void)requestDidUploadFromUploadId:(DBRequest *)request {
-    [[self retain] autorelease];
-
-	NSDictionary *resp = [request parseResponseAsType:[NSDictionary class]];
-
-	if (!resp) {
-		if ([delegate respondsToSelector:@selector(restClient:uploadFromUploadIdFailedWithError:)]) {
-			[delegate restClient:self uploadFromUploadIdFailedWithError:request.error];
-		}
-	} else {
-		NSString *destPath = [request.userInfo objectForKey:@"destPath"];
-		NSString *uploadId = [request.userInfo objectForKey:@"uploadId"];
-		DBMetadata *metadata = [[[DBMetadata alloc] initWithDictionary:resp] autorelease];
-
-		if ([delegate respondsToSelector:@selector(restClient:uploadedFile:fromUploadId:metadata:)]) {
-			[delegate restClient:self uploadedFile:destPath fromUploadId:uploadId metadata:metadata];
-		}
-	}
-
-	[requests removeObject:request];
-}
-
-
-- (void)loadRevisionsForFile:(NSString *)path {
-    [self loadRevisionsForFile:path limit:10];
-}
-
-- (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit {
-    NSString *fullPath = [NSString stringWithFormat:@"/revisions/%@%@", root, path];
-    NSString *limitStr = [NSString stringWithFormat:@"%ld", (long)limit];
-    NSDictionary *params = [NSDictionary dictionaryWithObject:limitStr forKey:@"rev_limit"];
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params];
-    
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadRevisions:)]
-         autorelease];
-    
-    request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-                            path, @"path",
-                            [NSNumber numberWithInteger:limit], @"limit", nil];
-
-    [requests addObject:request];
-}
-
-- (void)requestDidLoadRevisions:(DBRequest *)request {
-    [[self retain] autorelease];
-
-    NSArray *resp = [request parseResponseAsType:[NSArray class]];
-    
-    if (!resp) {
-        if ([delegate respondsToSelector:@selector(restClient:loadRevisionsFailedWithError:)]) {
-            [delegate restClient:self loadRevisionsFailedWithError:request.error];
-        }
-    } else {
-        NSMutableArray *revisions = [NSMutableArray arrayWithCapacity:[resp count]];
-        for (NSDictionary *dict in resp) {
-            DBMetadata *metadata = [[DBMetadata alloc] initWithDictionary:dict];
-            [revisions addObject:metadata];
-            [metadata release];
-        }
-        NSString *path = [request.userInfo objectForKey:@"path"];
-
-        if ([delegate respondsToSelector:@selector(restClient:loadedRevisions:forFile:)]) {
-            [delegate restClient:self loadedRevisions:revisions forFile:path];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-- (void)restoreFile:(NSString *)path toRev:(NSString *)rev {
-    NSString *fullPath = [NSString stringWithFormat:@"/restore/%@%@", root, path];
-    NSDictionary *params = [NSDictionary dictionaryWithObject:rev forKey:@"rev"];
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params];
-    
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidRestoreFile:)]
-         autorelease];
-    
-    request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
-                            path, @"path",
-                            rev, @"rev", nil];
-
-    [requests addObject:request];
-}
-
-- (void)requestDidRestoreFile:(DBRequest *)request {
-    [[self retain] autorelease];
-
-    NSDictionary *dict = [request parseResponseAsType:[NSDictionary class]];
-
-    if (!dict) {
-        if ([delegate respondsToSelector:@selector(restClient:restoreFileFailedWithError:)]) {
-            [delegate restClient:self restoreFileFailedWithError:request.error];
-        }
-    } else {
-        DBMetadata *metadata = [[[DBMetadata alloc] initWithDictionary:dict] autorelease];
-        if ([delegate respondsToSelector:@selector(restClient:restoredFile:)]) {
-            [delegate restClient:self restoredFile:metadata];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (void)moveFrom:(NSString*)from_path toPath:(NSString *)to_path
-{
-    NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
-            root, @"root",
-            from_path, @"from_path",
-            to_path, @"to_path", nil];
-            
-    NSMutableURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:@"/fileops/move"
-                parameters:params method:@"POST"];
-
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidMovePath:)]
-         autorelease];
-
-    request.userInfo = params;
-    [requests addObject:request];
-}
-
-
-
-- (void)requestDidMovePath:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:movePathFailedWithError:)]) {
-            [delegate restClient:self movePathFailedWithError:request.error];
-        }
-    } else {
-        NSDictionary *params = (NSDictionary *)request.userInfo;
-        NSDictionary *result = [request parseResponseAsType:[NSDictionary class]];
-        DBMetadata *metadata = [[[DBMetadata alloc] initWithDictionary:result] autorelease];
-
-        if ([delegate respondsToSelector:@selector(restClient:movedPath:to:)]) {
-            [delegate restClient:self movedPath:[params valueForKey:@"from_path"] to:metadata];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (void)copyFrom:(NSString*)from_path toPath:(NSString *)to_path
-{
-    NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
-            root, @"root",
-            from_path, @"from_path",
-            to_path, @"to_path", nil];
-            
-    NSMutableURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:@"/fileops/copy"
-                parameters:params method:@"POST"];
-
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidCopyPath:)]
-         autorelease];
-
-    request.userInfo = params;
-    [requests addObject:request];
-}
-
-
-
-- (void)requestDidCopyPath:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:copyPathFailedWithError:)]) {
-            [delegate restClient:self copyPathFailedWithError:request.error];
-        }
-    } else {
-        NSDictionary *params = (NSDictionary *)request.userInfo;
-        NSDictionary *result = [request parseResponseAsType:[NSDictionary class]];
-        DBMetadata *metadata = [[[DBMetadata alloc] initWithDictionary:result] autorelease];
-
-        if ([delegate respondsToSelector:@selector(restClient:copiedPath:to:)]) {
-            [delegate restClient:self copiedPath:[params valueForKey:@"from_path"] to:metadata];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (void)createCopyRef:(NSString *)path {
-    NSDictionary* userInfo = [NSDictionary dictionaryWithObject:path forKey:@"path"];
-    NSString *fullPath = [NSString stringWithFormat:@"/copy_ref/%@%@", root, path];
-    NSMutableURLRequest* urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:nil method:@"POST"];
-
-    DBRequest* request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidCreateCopyRef:)]
-         autorelease];
-
-    request.userInfo = userInfo;
-    [requests addObject:request];
-}
-
-- (void)requestDidCreateCopyRef:(DBRequest *)request {
-    [[self retain] autorelease];
-
-    NSDictionary *result = [request parseResponseAsType:[NSDictionary class]];
-    if (!result) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:createCopyRefFailedWithError:)]) {
-            [delegate restClient:self createCopyRefFailedWithError:request.error];
-        }
-    } else {
-        NSString *copyRef = [result objectForKey:@"copy_ref"];
-		NSString *path = [request.userInfo objectForKey:@"path"];
-		if ([delegate respondsToSelector:@selector(restClient:createdCopyRef:forPath:)]) {
-			[delegate restClient:self createdCopyRef:copyRef forPath:path];
-		} else if ([delegate respondsToSelector:@selector(restClient:createdCopyRef:)]) {
-            [delegate restClient:self createdCopyRef:copyRef];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (void)copyFromRef:(NSString*)copyRef toPath:(NSString *)toPath {
-    NSDictionary *params =
-        [NSDictionary dictionaryWithObjectsAndKeys:
-         copyRef, @"from_copy_ref",
-         root, @"root",
-         toPath, @"to_path", nil];
-
-    NSString *fullPath = [NSString stringWithFormat:@"/fileops/copy/"];
-    NSMutableURLRequest* urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params method:@"POST"];
-
-    DBRequest* request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidCopyFromRef:)]
-         autorelease];
-
-    request.userInfo = params;
-    [requests addObject:request];
-}
-
-- (void)requestDidCopyFromRef:(DBRequest *)request {
-    [[self retain] autorelease];
-
-    NSDictionary *result = [request parseResponseAsType:[NSDictionary class]];
-    if (!result) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:copyFromRefFailedWithError:)]) {
-            [delegate restClient:self copyFromRefFailedWithError:request.error];
-        }
-    } else {
-        NSString *copyRef = [request.userInfo objectForKey:@"from_copy_ref"];
-        DBMetadata *metadata = [[[DBMetadata alloc] initWithDictionary:result] autorelease];
-        if ([delegate respondsToSelector:@selector(restClient:copiedRef:to:)]) {
-            [delegate restClient:self copiedRef:copyRef to:metadata];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (void)deletePath:(NSString*)path {
-    NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
-            root, @"root",
-            path, @"path", nil];
-            
-    NSMutableURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:@"/fileops/delete" 
-                parameters:params method:@"POST"];
-
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidDeletePath:)]
-         autorelease];
-
-    request.userInfo = params;
-    [requests addObject:request];
-}
-
-
-
-- (void)requestDidDeletePath:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:deletePathFailedWithError:)]) {
-            [delegate restClient:self deletePathFailedWithError:request.error];
-        }
-    } else {
-        if ([delegate respondsToSelector:@selector(restClient:deletedPath:)]) {
-            NSString* path = [request.userInfo objectForKey:@"path"];
-            [delegate restClient:self deletedPath:path];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-
-
-- (void)createFolder:(NSString*)path
-{
-    NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
-            root, @"root",
-            path, @"path", nil];
-            
-    NSString* fullPath = @"/fileops/create_folder";
-    NSMutableURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath 
-                parameters:params method:@"POST"];
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidCreateDirectory:)]
-         autorelease];
-    request.userInfo = params;
-    [requests addObject:request];
-}
-
-
-
-- (void)requestDidCreateDirectory:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:createFolderFailedWithError:)]) {
-            [delegate restClient:self createFolderFailedWithError:request.error];
-        }
-    } else {
-        NSDictionary* result = (NSDictionary*)[request resultJSON];
-        DBMetadata* metadata = [[[DBMetadata alloc] initWithDictionary:result] autorelease];
-        if ([delegate respondsToSelector:@selector(restClient:createdFolder:)]) {
-            [delegate restClient:self createdFolder:metadata];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-
-- (void)loadAccountInfo
-{
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:@"/account/info" parameters:nil];
-    
-    DBRequest* request = 
-        [[[DBRequest alloc] 
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadAccountInfo:)]
-         autorelease];
-    
-    request.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:root, @"root", nil];
-
-    [requests addObject:request];
-}
-
-
-- (void)requestDidLoadAccountInfo:(DBRequest*)request
-{
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadAccountInfoFailedWithError:)]) {
-            [delegate restClient:self loadAccountInfoFailedWithError:request.error];
-        }
-    } else {
-        NSDictionary* result = (NSDictionary*)[request resultJSON];
-        DBAccountInfo* accountInfo = [[[DBAccountInfo alloc] initWithDictionary:result] autorelease];
-        if ([delegate respondsToSelector:@selector(restClient:loadedAccountInfo:)]) {
-            [delegate restClient:self loadedAccountInfo:accountInfo];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-- (void)searchPath:(NSString*)path forKeyword:(NSString*)keyword {
-    NSDictionary* params = [NSDictionary dictionaryWithObject:keyword forKey:@"query"];
-    NSString* fullPath = [NSString stringWithFormat:@"/search/%@%@", root, path];
-    
-    NSURLRequest* urlRequest = 
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params];
-    DBRequest* request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidSearchPath:)]
-         autorelease];
-    request.userInfo = 
-        [NSDictionary dictionaryWithObjectsAndKeys:path, @"path", keyword, @"keyword", nil];
-    [requests addObject:request];
-}
-
-
-- (void)requestDidSearchPath:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:searchFailedWithError:)]) {
-            [delegate restClient:self searchFailedWithError:request.error];
-        }
-    } else {
-        NSMutableArray* results = nil;
-        if ([[request resultJSON] isKindOfClass:[NSArray class]]) {
-            NSArray* response = (NSArray*)[request resultJSON];
-            results = [NSMutableArray arrayWithCapacity:[response count]];
-            for (NSDictionary* dict in response) {
-                DBMetadata* metadata = [[DBMetadata alloc] initWithDictionary:dict];
-                [results addObject:metadata];
-                [metadata release];
-            }
-        }
-        NSString* path = [request.userInfo objectForKey:@"path"];
-        NSString* keyword = [request.userInfo objectForKey:@"keyword"];
-        
-        if ([delegate respondsToSelector:@selector(restClient:loadedSearchResults:forPath:keyword:)]) {
-            [delegate restClient:self loadedSearchResults:results forPath:path keyword:keyword];
-        }
-    }
-    [requests removeObject:request];
-}
-
-
-- (void)loadSharableLinkForFile:(NSString *)path {
-	[self loadSharableLinkForFile:path shortUrl:YES];
-}
-
-- (void)loadSharableLinkForFile:(NSString*)path shortUrl:(BOOL)createShortUrl {
-    NSString* fullPath = [NSString stringWithFormat:@"/shares/%@%@", root, path];
-
-	NSString *shortUrlVal = createShortUrl ? @"true" : @"false";
-	NSDictionary *params = [NSDictionary dictionaryWithObject:shortUrlVal forKey:@"short_url"];
-
-    NSURLRequest* urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:params];
-
-    DBRequest* request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadSharableLink:)]
-         autorelease];
-
-    request.userInfo =  [NSDictionary dictionaryWithObject:path forKey:@"path"];
-    [requests addObject:request];
-}
-
-- (void)requestDidLoadSharableLink:(DBRequest*)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadSharableLinkFailedWithError:)]) {
-            [delegate restClient:self loadSharableLinkFailedWithError:request.error];
-        }
-    } else {
-        NSString* sharableLink = [(NSDictionary*)request.resultJSON objectForKey:@"url"];
-        NSString* path = [request.userInfo objectForKey:@"path"];
-        if ([delegate respondsToSelector:@selector(restClient:loadedSharableLink:forFile:)]) {
-            [delegate restClient:self loadedSharableLink:sharableLink forFile:path];
-        }
-    }
-    [requests removeObject:request];
-}
-
-
-- (void)loadStreamableURLForFile:(NSString *)path {
-    NSString* fullPath = [NSString stringWithFormat:@"/media/%@%@", root, path];
-    NSURLRequest* urlRequest =
-        [self requestWithHost:kDBDropboxAPIHost path:fullPath parameters:nil];
-
-    DBRequest *request =
-        [[[DBRequest alloc]
-          initWithURLRequest:urlRequest andInformTarget:self selector:@selector(requestDidLoadStreamableURL:)]
-         autorelease];
-    request.userInfo = [NSDictionary dictionaryWithObject:path forKey:@"path"];
-    [requests addObject:request];
-}
-
-- (void)requestDidLoadStreamableURL:(DBRequest *)request {
-    [[self retain] autorelease];
-
-    if (request.error) {
-        [self checkForAuthenticationFailure:request];
-        if ([delegate respondsToSelector:@selector(restClient:loadStreamableURLFailedWithError:)]) {
-            [delegate restClient:self loadStreamableURLFailedWithError:request.error];
-        }
-    } else {
-        NSDictionary *response = [request parseResponseAsType:[NSDictionary class]];
-        NSURL *url = [NSURL URLWithString:[response objectForKey:@"url"]];
-        NSString *path = [request.userInfo objectForKey:@"path"];
-        if ([delegate respondsToSelector:@selector(restClient:loadedStreamableURL:forFile:)]) {
-            [delegate restClient:self loadedStreamableURL:url forFile:path];
-        }
-    }
-
-    [requests removeObject:request];
-}
-
-
-- (NSUInteger)requestCount {
-    return [requests count] + [loadRequests count] + [imageLoadRequests count] + [uploadRequests count];
-}
-
-
-#pragma mark private methods
-
-+ (NSString*)escapePath:(NSString*)path {
-    CFStringEncoding encoding = CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding);
-    NSString *escapedPath = 
-        (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
-                                                            (CFStringRef)path,
-                                                            NULL,
-                                                            (CFStringRef)@":?=,!$&'()*+;[]@#~",
-                                                            encoding);
-    
-    return [escapedPath autorelease];
-}
-
-+ (NSString *)bestLanguage {
-    static NSString *preferredLang = nil;
-    if (!preferredLang) {
-        NSString *lang = [[NSLocale preferredLanguages] objectAtIndex:0];
-        if ([[[NSBundle mainBundle] localizations] containsObject:lang])
-            preferredLang = [lang copy];
-        else
-            preferredLang =  @"en";
-    }
-    return preferredLang;
-}
-
-+ (NSString *)userAgent {
-    static NSString *userAgent;
-    if (!userAgent) {
-        NSBundle *bundle = [NSBundle mainBundle];
-        NSString *appName = [[bundle objectForInfoDictionaryKey:@"CFBundleDisplayName"]
-                              stringByReplacingOccurrencesOfString:@" " withString:@""];
-        NSString *appVersion = [bundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
-        userAgent =
-            [[NSString alloc] initWithFormat:@"%@/%@ OfficialDropboxIosSdk/%@", appName, appVersion, kDBSDKVersion];
-    }
-    return userAgent;
-}
-
-- (NSMutableURLRequest*)requestWithHost:(NSString*)host path:(NSString*)path 
-    parameters:(NSDictionary*)params {
-    
-    return [self requestWithHost:host path:path parameters:params method:nil];
-}
-
-
-- (NSMutableURLRequest*)requestWithHost:(NSString*)host path:(NSString*)path 
-    parameters:(NSDictionary*)params method:(NSString*)method {
-    
-    NSString* escapedPath = [DBRestClient escapePath:path];
-    NSString* urlString = [NSString stringWithFormat:@"%@://%@/%@%@", 
-                                        kDBProtocolHTTPS, host, kDBDropboxAPIVersion, escapedPath];
-    NSURL* url = [NSURL URLWithString:urlString];
-
-    NSMutableDictionary *allParams = 
-        [NSMutableDictionary dictionaryWithObject:[DBRestClient bestLanguage] forKey:@"locale"];
-    if (params) {
-        [allParams addEntriesFromDictionary:params];
-    }
-
-    NSArray *extraParams = [MPURLRequestParameter parametersFromDictionary:allParams];
-    NSArray *paramList = 
-    [[self.credentialStore oauthParameters] arrayByAddingObjectsFromArray:extraParams];
-
-    MPOAuthURLRequest* oauthRequest = 
-        [[[MPOAuthURLRequest alloc] initWithURL:url andParameters:paramList] autorelease];
-    if (method) {
-        oauthRequest.HTTPMethod = method;
-    }
-
-    NSMutableURLRequest* urlRequest = [oauthRequest 
-            urlRequestSignedWithSecret:self.credentialStore.signingKey 
-            usingMethod:self.credentialStore.signatureMethod];
-    [urlRequest setTimeoutInterval:20];
-    [urlRequest setValue:[DBRestClient userAgent] forHTTPHeaderField:@"User-Agent"];
-    return urlRequest;
-}
-
-
-- (void)checkForAuthenticationFailure:(DBRequest*)request {
-    if (request.error && request.error.code == 401 && [request.error.domain isEqual:DBErrorDomain]) {
-        [session.delegate sessionDidReceiveAuthorizationFailure:session userId:userId];
-    }
-}
-
-- (MPOAuthCredentialConcreteStore *)credentialStore {
-    return [session credentialStoreForUserId:userId];
-}
-
-@end

+ 0 - 168
Libraries external/DropboxSDK/DropboxSDK/Classes/DBSession+iOS.m

@@ -1,168 +0,0 @@
-//
-//  DBSession+iOS.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/7/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBSession+iOS.h"
-
-#import <CommonCrypto/CommonDigest.h>
-
-#import "DBConnectController.h"
-#import "DBLog.h"
-
-
-static NSString *kDBProtocolDropbox = @"dbapi-2";
-static NSString *kDBProtocolDropboxEMM = @"dbapi-8-emm";
-
-/* A key to keep track of the nonce for the current link flow */
-static NSString *kDBLinkNonce = @"dropbox.sync.nonce";
-
-
-@implementation DBSession (iOS)
-
-+ (NSDictionary*)parseURLParams:(NSString *)query {
-    NSArray *pairs = [query componentsSeparatedByString:@"&"];
-    NSMutableDictionary *params = [[[NSMutableDictionary alloc] init] autorelease];
-    for (NSString *pair in pairs) {
-        NSArray *kv = [pair componentsSeparatedByString:@"="];
-        NSString *val =
-        [[kv objectAtIndex:1]
-         stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-
-        [params setObject:val forKey:[kv objectAtIndex:0]];
-    }
-    return params;
-}
-
-- (NSString *)appScheme {
-    NSString *consumerKey = [baseCredentials objectForKey:kMPOAuthCredentialConsumerKey];
-    return [NSString stringWithFormat:@"db-%@", consumerKey];
-}
-
-- (BOOL)appConformsToScheme {
-    NSString *appScheme = [self appScheme];
-
-    NSDictionary *loadedPlist = [[NSBundle mainBundle] infoDictionary];
-
-    NSArray *urlTypes = [loadedPlist objectForKey:@"CFBundleURLTypes"];
-    for (NSDictionary *urlType in urlTypes) {
-        NSArray *schemes = [urlType objectForKey:@"CFBundleURLSchemes"];
-        for (NSString *scheme in schemes) {
-            if ([scheme isEqual:appScheme]) {
-                return YES;
-            }
-        }
-    }
-    return NO;
-}
-
-- (void)linkUserId:(NSString *)userId fromController:(UIViewController *)rootController {
-    if (![self appConformsToScheme]) {
-        DBLogError(@"DropboxSDK: unable to link; app isn't registered for correct URL scheme (%@)", [self appScheme]);
-        return;
-    }
-
-    extern NSString *kDBDropboxUnknownUserId;
-    NSString *userIdStr = @"";
-    if (userId && ![userId isEqual:kDBDropboxUnknownUserId]) {
-        userIdStr = [NSString stringWithFormat:@"&u=%@", userId];
-    }
-
-    NSString *consumerKey = [baseCredentials objectForKey:kMPOAuthCredentialConsumerKey];
-
-    NSData *consumerSecret =
-    [[baseCredentials objectForKey:kMPOAuthCredentialConsumerSecret] dataUsingEncoding:NSUTF8StringEncoding];
-    unsigned char md[CC_SHA1_DIGEST_LENGTH];
-    CC_SHA1(consumerSecret.bytes, (uint32_t)[consumerSecret length], md);
-    uint32_t sha_32 = htonl(((uint32_t *)md)[CC_SHA1_DIGEST_LENGTH/sizeof(uint32_t) - 1]);
-    NSString *secret = [NSString stringWithFormat:@"%x", sha_32];
-
-    CFUUIDRef uuid = CFUUIDCreate(NULL);
-    CFStringRef uuid_str = CFUUIDCreateString(NULL, uuid);
-    CFRelease(uuid);
-    NSString *nonce = [(NSString *)uuid_str autorelease];
-    [[NSUserDefaults standardUserDefaults] setObject:nonce forKey:kDBLinkNonce];
-    [[NSUserDefaults standardUserDefaults] synchronize];
-
-    NSString *urlStr = nil;
-
-    NSURL *dbURL = [DBSession db_checkedURLForProtocol:kDBProtocolDropbox];
-    if (!dbURL) {
-        dbURL = [DBSession db_checkedURLForProtocol: kDBProtocolDropboxEMM];
-    }
-
-    if (dbURL) {
-        urlStr = [NSString stringWithFormat:@"%@?k=%@&s=%@&state=%@%@",
-				  dbURL, consumerKey, secret, nonce, userIdStr];
-        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
-    } else {
-        urlStr = [NSString stringWithFormat:@"%@://%@/%@/connect_login?k=%@&s=%@&state=%@&easl=1%@",
-                  kDBProtocolHTTPS, kDBDropboxWebHost, kDBDropboxAPIVersion,
-                  consumerKey, secret, nonce, userIdStr];
-        UIViewController *connectController = [[[DBConnectController alloc] initWithUrl:[NSURL URLWithString:urlStr] fromController:rootController session:self] autorelease];
-        UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:connectController] autorelease];
-        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
-            connectController.modalPresentationStyle = UIModalPresentationFormSheet;
-            navController.modalPresentationStyle = UIModalPresentationFormSheet;
-        }
-
-        [rootController presentModalViewController:navController animated:YES];
-    }
-}
-
-- (void)linkFromController:(UIViewController *)rootController {
-    [self linkUserId:nil fromController:rootController];
-}
-
-+ (NSURL *)db_checkedURLForProtocol:(NSString *)protocol
-{
-    if (!protocol) {
-        return nil;
-    }
-
-    NSURL *url =
-    [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@/connect", protocol, kDBDropboxAPIVersion]];
-
-    if ([[UIApplication sharedApplication] canOpenURL:url]) {
-        return url;
-    }
-
-    return nil;
-}
-
-- (BOOL)handleOpenURL:(NSURL *)url {
-    NSString *expected = [NSString stringWithFormat:@"%@://%@/", [self appScheme], kDBDropboxAPIVersion];
-    if (![[url absoluteString] hasPrefix:expected]) {
-        return NO;
-    }
-
-    NSArray *components = [[url path] pathComponents];
-    NSString *methodName = [components count] > 1 ? [components objectAtIndex:1] : nil;
-
-    if ([methodName isEqual:@"connect"]) {
-        NSDictionary *params = [DBSession parseURLParams:[url query]];
-        NSString *token = [params objectForKey:@"oauth_token"];
-        NSString *secret = [params objectForKey:@"oauth_token_secret"];
-        NSString *userId = [params objectForKey:@"uid"];
-
-		NSString *state = [params objectForKey:@"state"];
-		NSString *nonce = [[NSUserDefaults standardUserDefaults] objectForKey:kDBLinkNonce];
-		[[NSUserDefaults standardUserDefaults] removeObjectForKey:kDBLinkNonce];
-		[[NSUserDefaults standardUserDefaults] synchronize];
-		if (![nonce isEqual:state]) {
-			DBLogError(@"unable to verify link request");
-			return NO;
-		}
-
-        [self updateAccessToken:token accessTokenSecret:secret forUserId:userId];
-    } else if ([methodName isEqual:@"cancel"]) {
-        DBLogInfo(@"DropboxSDK: user cancelled Dropbox link");
-    }
-
-    return YES;
-}
-
-@end

+ 0 - 221
Libraries external/DropboxSDK/DropboxSDK/Classes/DBSession.m

@@ -1,221 +0,0 @@
-//
-//  DBSession.m
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/8/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBSession.h"
-
-#import "DBKeychain.h"
-#import "DBLog.h"
-#import "MPOAuthCredentialConcreteStore.h"
-#import "MPOAuthSignatureParameter.h"
-
-NSString *kDBSDKVersion = @"1.3.14"; // TODO: parameterize from build system
-
-NSString *kDBDropboxAPIHost = @"api.dropbox.com";
-NSString *kDBDropboxAPIContentHost = @"api-content.dropbox.com";
-NSString *kDBDropboxWebHost = @"www.dropbox.com";
-NSString *kDBDropboxAPIVersion = @"1";
-
-NSString *kDBRootDropbox = @"dropbox";
-NSString *kDBRootAppFolder = @"sandbox";
-
-NSString *kDBProtocolHTTPS = @"https";
-
-NSString *kDBDropboxUnknownUserId = @"unknown";
-
-static DBSession *_sharedSession = nil;
-static NSString *kDBDropboxSavedCredentialsOldOld = @"kDBDropboxSavedCredentialsKey";
-static NSString *kDBDropboxSavedCredentialsOld = @"kDBDropboxSavedCredentials";
-static NSString *kDBDropboxUserCredentials = @"kDBDropboxUserCredentials";
-static NSString *kDBDropboxUserId = @"kDBDropboxUserId";
-static NSString *kDBCredentialsVersionKey = @"DBCredentialVersion";
-static int kDBCredentialsVersion = 3;
-
-
-
-@interface DBSession ()
-
-- (void)saveCredentials;
-- (void)setAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId;
-
-@end
-
-
-@implementation DBSession
-
-+ (DBSession *)sharedSession {
-    return _sharedSession;
-}
-
-+ (void)setSharedSession:(DBSession *)session {
-    if (session == _sharedSession) return;
-    [_sharedSession release];
-    _sharedSession = [session retain];
-}
-
-- (id)initWithAppKey:(NSString *)key appSecret:(NSString *)secret root:(NSString *)theRoot {
-    if ((self = [super init])) {
-        
-        baseCredentials = 
-            [[NSDictionary alloc] initWithObjectsAndKeys:
-                key, kMPOAuthCredentialConsumerKey,
-                secret, kMPOAuthCredentialConsumerSecret, 
-                kMPOAuthSignatureMethodPlaintext, kMPOAuthSignatureMethod, nil];
-                
-        credentialStores = [NSMutableDictionary new];
-        
-        NSDictionary *oldOldCredentials =
-            [[NSUserDefaults standardUserDefaults] objectForKey:kDBDropboxSavedCredentialsOldOld];
-        if (oldOldCredentials) {
-            if ([key isEqual:[oldOldCredentials objectForKey:kMPOAuthCredentialConsumerKey]]) {
-                // These credentials are the same structure as version 1, but in userDefaults
-                NSString *token = [oldOldCredentials objectForKey:kMPOAuthCredentialAccessToken];
-                NSString *secret = [oldOldCredentials objectForKey:kMPOAuthCredentialAccessTokenSecret];
-                [self updateAccessToken:token accessTokenSecret:secret forUserId:kDBDropboxUnknownUserId];
-            }
-            [[NSUserDefaults standardUserDefaults] removeObjectForKey:kDBDropboxSavedCredentialsOldOld];
-            [[NSUserDefaults standardUserDefaults] synchronize];
-        }
-
-        NSDictionary *oldCredentials =
-            [[NSUserDefaults standardUserDefaults] objectForKey:kDBDropboxSavedCredentialsOld];
-        if (oldCredentials) {
-            if ([key isEqual:[oldCredentials objectForKey:kMPOAuthCredentialConsumerKey]]) {
-                // These credentials are the same structure as version 2, but in userDefaults and missing version
-				NSArray *allUserCredentials = [oldCredentials objectForKey:kDBDropboxUserCredentials];
-				for (NSDictionary *userCredentials in allUserCredentials) {
-					NSString *userId = [userCredentials objectForKey:kDBDropboxUserId];
-					NSString *token = [userCredentials objectForKey:kMPOAuthCredentialAccessToken];
-					NSString *secret = [userCredentials objectForKey:kMPOAuthCredentialAccessTokenSecret];
-					[self setAccessToken:token accessTokenSecret:secret forUserId:userId];
-				}
-				[self saveCredentials];
-            }
-            [[NSUserDefaults standardUserDefaults] removeObjectForKey:kDBDropboxSavedCredentialsOld];
-            [[NSUserDefaults standardUserDefaults] synchronize];
-        }
-
-        NSDictionary *savedCredentials = [DBKeychain credentials];
-        if (savedCredentials != nil) {
-            if ([key isEqualToString:[savedCredentials objectForKey:kMPOAuthCredentialConsumerKey]]) {
-                NSInteger version = [[savedCredentials objectForKey:kDBCredentialsVersionKey] intValue];
-                if (version == 1) {
-                    // These credentials are version 1 in the keychain
-                    NSString *token = [savedCredentials objectForKey:kMPOAuthCredentialAccessToken];
-                    NSString *secret = [savedCredentials objectForKey:kMPOAuthCredentialAccessTokenSecret];
-                    [self updateAccessToken:token accessTokenSecret:secret forUserId:kDBDropboxUnknownUserId];
-                } else {
-                    // These credentials are version 2 or 3 in the keychain
-                    NSArray *allUserCredentials = [savedCredentials objectForKey:kDBDropboxUserCredentials];
-                    for (NSDictionary *userCredentials in allUserCredentials) {
-                        NSString *userId = [userCredentials objectForKey:kDBDropboxUserId];
-                        NSString *token = [userCredentials objectForKey:kMPOAuthCredentialAccessToken];
-                        NSString *secret = [userCredentials objectForKey:kMPOAuthCredentialAccessTokenSecret];
-                        if (version < 3) {
-                            // version 2 of the API used a different keychain access mode and needs
-                            // to be set again with the newer one
-                            [self updateAccessToken:token accessTokenSecret:secret forUserId:userId];
-                        } else {
-                            [self setAccessToken:token accessTokenSecret:secret forUserId:userId];
-                        }
-                    }
-                }
-            } else {
-                [DBKeychain deleteCredentials];
-            }
-        }
-        
-        root = [theRoot retain];
-    }
-    return self;
-}
-
-- (void)dealloc {
-    [baseCredentials release];
-    [credentialStores release];
-    [anonymousStore release];
-    [root release];
-    [super dealloc];
-}
-
-@synthesize root;
-@synthesize delegate;
-
-- (void)updateAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId {
-    [self setAccessToken:token accessTokenSecret:secret forUserId:userId];
-    [self saveCredentials];
-}
-
-- (void)setAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId {
-    MPOAuthCredentialConcreteStore *credentialStore = [credentialStores objectForKey:userId];
-    if (!credentialStore) {
-        credentialStore = 
-            [[MPOAuthCredentialConcreteStore alloc] initWithCredentials:baseCredentials];
-        [credentialStores setObject:credentialStore forKey:userId];
-        [credentialStore release];
-        
-        if (![userId isEqual:kDBDropboxUnknownUserId] && [credentialStores objectForKey:kDBDropboxUnknownUserId]) {
-            // If the unknown user is in credential store, replace it with this new entry
-            [credentialStores removeObjectForKey:kDBDropboxUnknownUserId];
-        }
-    }
-    credentialStore.accessToken = token;
-    credentialStore.accessTokenSecret = secret;
-}
-
-- (BOOL)isLinked {
-    return [credentialStores count] != 0;
-}
-
-- (void)unlinkAll {
-    [credentialStores removeAllObjects];
-    [DBKeychain deleteCredentials];
-}
-
-- (void)unlinkUserId:(NSString *)userId {
-    [credentialStores removeObjectForKey:userId];
-    [self saveCredentials];
-}
-
-- (MPOAuthCredentialConcreteStore *)credentialStoreForUserId:(NSString *)userId {
-    if (!userId) {
-        if (!anonymousStore) {
-            anonymousStore = [[MPOAuthCredentialConcreteStore alloc] initWithCredentials:baseCredentials];
-        }
-        return anonymousStore;
-    }
-    return [credentialStores objectForKey:userId];
-}
-
-- (NSArray *)userIds {
-    return [credentialStores allKeys];
-}
-
-
-#pragma mark private methods
-
-- (void)saveCredentials {
-    NSMutableDictionary *credentials = [NSMutableDictionary dictionaryWithObjectsAndKeys:
-                                        [baseCredentials objectForKey:kMPOAuthCredentialConsumerKey], kMPOAuthCredentialConsumerKey,
-                                        [NSNumber numberWithInt:kDBCredentialsVersion], kDBCredentialsVersionKey,
-                                        nil];
-
-    NSMutableArray *allUserCredentials = [NSMutableArray array];
-    for (NSString *userId in [credentialStores allKeys]) {
-        MPOAuthCredentialConcreteStore *store = [credentialStores objectForKey:userId];
-        NSMutableDictionary *userCredentials = [NSMutableDictionary new];
-        [userCredentials setObject:userId forKey:kDBDropboxUserId];
-        [userCredentials setObject:store.accessToken forKey:kMPOAuthCredentialAccessToken];
-        [userCredentials setObject:store.accessTokenSecret forKey:kMPOAuthCredentialAccessTokenSecret];
-        [allUserCredentials addObject:userCredentials];
-        [userCredentials release];
-    }
-    [credentials setObject:allUserCredentials forKey:kDBDropboxUserCredentials];
-    [DBKeychain setCredentials:credentials];
-}
-
-@end

+ 0 - 30
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxOSX-Info.plist

@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIconFile</key>
-	<string></string>
-	<key>CFBundleIdentifier</key>
-	<string>com.dropbox.${PRODUCT_NAME:rfc1034identifier}</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-	<key>NSHumanReadableCopyright</key>
-	<string>Copyright © 2012 Dropbox. All rights reserved.</string>
-	<key>NSPrincipalClass</key>
-	<string></string>
-</dict>
-</plist>

+ 0 - 7
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxOSX-Prefix.pch

@@ -1,7 +0,0 @@
-//
-// Prefix header for all source files of the 'DropboxOSX' target in the 'DropboxSDK' project
-//
-
-#ifdef __OBJC__
-	#import <Cocoa/Cocoa.h>
-#endif

+ 0 - 46
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK-Info.plist

@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
-	<key>CFBundleIconFile</key>
-	<string></string>
-	<key>CFBundleIdentifier</key>
-	<string>com.dropbox.${PRODUCT_NAME:rfc1034identifier}</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
-	<key>CFBundlePackageType</key>
-	<string>FMWK</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>1</string>
-	<key>CFPlugInDynamicRegisterFunction</key>
-	<string></string>
-	<key>CFPlugInDynamicRegistration</key>
-	<string>NO</string>
-	<key>CFPlugInFactories</key>
-	<dict>
-		<key>00000000-0000-0000-0000-000000000000</key>
-		<string>MyFactoryFunction</string>
-	</dict>
-	<key>CFPlugInTypes</key>
-	<dict>
-		<key>00000000-0000-0000-0000-000000000000</key>
-		<array>
-			<string>00000000-0000-0000-0000-000000000000</string>
-		</array>
-	</dict>
-	<key>CFPlugInUnloadFunction</key>
-	<string></string>
-	<key>NSHumanReadableCopyright</key>
-	<string>Copyright © 2011 Dropbox Inc. All rights reserved.</string>
-</dict>
-</plist>

+ 0 - 7
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK-Prefix.pch

@@ -1,7 +0,0 @@
-//
-// Prefix header for all source files of the 'DropboxSDK' target in the 'DropboxSDK' project
-//
-
-#ifdef __OBJC__
-    #import <UIKit/UIKit.h>
-#endif

+ 0 - 31
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBAccountInfo.h

@@ -1,31 +0,0 @@
-//
-//  DBAccountInfo.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-#import "DBQuota.h"
-
-@interface DBAccountInfo : NSObject <NSCoding> {
-    NSString* email;
-    NSString* country;
-    NSString* displayName;
-    DBQuota* quota;
-    NSString* userId;
-    NSString* referralLink;
-    NSDictionary* original;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict;
-
-@property (nonatomic, readonly) NSString* email;
-@property (nonatomic, readonly) NSString* country;
-@property (nonatomic, readonly) NSString* displayName;
-@property (nonatomic, readonly) DBQuota* quota;
-@property (nonatomic, readonly) NSString* userId;
-@property (nonatomic, readonly) NSString* referralLink;
-
-@end

+ 0 - 30
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBAuthHelperOSX.h

@@ -1,30 +0,0 @@
-//
-//  DBAuthHelperOSX.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/26/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBRestClient+OSX.h"
-#import "DBSession.h"
-
-// You should register for this notification from the screen that allows you to link your Dropbox and update the state
-// of your "Link Dropbox" button based on the value of -[DBAuthHelperOSX isLoading]
-extern NSString *DBAuthHelperOSXStateChangedNotification;
-
-@interface DBAuthHelperOSX : NSObject {
-	BOOL loading;
-	DBRestClient *restClient;
-}
-
-+ (DBAuthHelperOSX *)sharedHelper;
-
-// Call this any time the user clicks on your "Link Dropbox" button
-- (void)authenticate;
-
-// If loading, you should disable your "Link Dropbox" button and optionally show an activity indicator
-@property (nonatomic, readonly, getter=isLoading) BOOL loading;
-
-
-@end

+ 0 - 36
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBBase64Transcoder.h

@@ -1,36 +0,0 @@
-/*
- *  Base64Transcoder.h
- *  Base64Test
- *
- *  Created by Jonathan Wight on Tue Mar 18 2003.
- *  Copyright (c) 2003 Toxic Software. All rights reserved.
- *
- *  Permission is hereby granted, free of charge, to any person obtaining a copy
- *  of this software and associated documentation files (the "Software"), to deal
- *  in the Software without restriction, including without limitation the rights
- *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- *  copies of the Software, and to permit persons to whom the Software is
- *  furnished to do so, subject to the following conditions:
- *
- *  The above copyright notice and this permission notice shall be included in
- *  all copies or substantial portions of the Software.
- *
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- *  THE SOFTWARE.
- *
- */
-
-#include <stdlib.h>
-#include <stdbool.h>
-
-size_t DBEstimateBas64EncodedDataSize(size_t inDataSize);
-size_t DBEstimateBas64DecodedDataSize(size_t inDataSize);
-
-bool DBBase64EncodeData(const void *inInputData, size_t inInputDataSize, char *outOutputData, size_t *ioOutputDataSize);
-bool DBBase64DecodeData(const void *inInputData, size_t inInputDataSize, void *ioOutputData, size_t *ioOutputDataSize);
-

+ 0 - 16
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBConnectController.h

@@ -1,16 +0,0 @@
-//
-//  DBConnectController.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/4/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-#import "DBSession.h"
-
-@interface DBConnectController : UIViewController
-
-- (id)initWithUrl:(NSURL *)connectUrl fromController:(UIViewController *)rootController;
-- (id)initWithUrl:(NSURL *)connectUrl fromController:(UIViewController *)rootController session:(DBSession *)session;
-
-@end

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBDeltaEntry.h

@@ -1,21 +0,0 @@
-//
-//  DBDeltaEntry.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/25/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBMetadata.h"
-
-@interface DBDeltaEntry : NSObject <NSCoding> {
-    NSString *lowercasePath;
-    DBMetadata *metadata;
-}
-
-- (id)initWithArray:(NSArray *)array;
-
-@property (nonatomic, readonly) NSString *lowercasePath;
-@property (nonatomic, readonly) DBMetadata *metadata; // nil if file has been deleted
-
-@end

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBError.h

@@ -1,21 +0,0 @@
-//
-//  DBError.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 7/21/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-/* This file contains error codes and the dropbox error domain */
-
-extern NSString* DBErrorDomain;
-
-// Error codes in the dropbox.com domain represent the HTTP status code if less than 1000
-typedef enum {
-    DBErrorNone = 0,
-    DBErrorGenericError = 1000,
-    DBErrorFileNotFound,
-    DBErrorInsufficientDiskSpace,
-    DBErrorIllegalFileType, // Error sent if you try to upload a directory
-    DBErrorInvalidResponse, // Sent when the client does not get valid JSON when it's expecting it
-} DBErrorCode;

+ 0 - 75
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJSON.h

@@ -1,75 +0,0 @@
-/*
- Copyright (C) 2007-2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import "DBJsonParser.h"
-#import "DBJsonWriter.h"
-
-/**
- @brief Facade for DBJsonWriter/DBJsonParser.
-
- Requests are forwarded to instances of DBJsonWriter and DBJsonParser.
- */
-@interface DBJSON : DBJsonBase <DBJsonParser, DBJsonWriter> {
-
-@private    
-    DBJsonParser *jsonParser;
-    DBJsonWriter *jsonWriter;
-}
-
-
-/// Return the fragment represented by the given string
-- (id)fragmentWithString:(NSString*)jsonrep
-                   error:(NSError**)error;
-
-/// Return the object represented by the given string
-- (id)objectWithString:(NSString*)jsonrep
-                 error:(NSError**)error;
-
-/// Parse the string and return the represented object (or scalar)
-- (id)objectWithString:(id)value
-           allowScalar:(BOOL)x
-    			 error:(NSError**)error;
-
-
-/// Return JSON representation of an array  or dictionary
-- (NSString*)stringWithObject:(id)value
-                        error:(NSError**)error;
-
-/// Return JSON representation of any legal JSON value
-- (NSString*)stringWithFragment:(id)value
-                          error:(NSError**)error;
-
-/// Return JSON representation (or fragment) for the given object
-- (NSString*)stringWithObject:(id)value
-                  allowScalar:(BOOL)x
-    					error:(NSError**)error;
-
-
-@end

+ 0 - 86
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJsonBase.h

@@ -1,86 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-extern NSString * DBJSONErrorDomain;
-
-
-enum {
-    EUNSUPPORTED = 1,
-    EPARSENUM,
-    EPARSE,
-    EFRAGMENT,
-    ECTRL,
-    EUNICODE,
-    EDEPTH,
-    EESCAPE,
-    ETRAILCOMMA,
-    ETRAILGARBAGE,
-    EEOF,
-    EINPUT
-};
-
-/**
- @brief Common base class for parsing & writing.
-
- This class contains the common error-handling code and option between the parser/writer.
- */
-@interface DBJsonBase : NSObject {
-    NSMutableArray *errorTrace;
-
-@protected
-    NSUInteger depth, maxDepth;
-}
-
-/**
- @brief The maximum recursing depth.
- 
- Defaults to 512. If the input is nested deeper than this the input will be deemed to be
- malicious and the parser returns nil, signalling an error. ("Nested too deep".) You can
- turn off this security feature by setting the maxDepth value to 0.
- */
-@property NSUInteger maxDepth;
-
-/**
- @brief Return an error trace, or nil if there was no errors.
- 
- Note that this method returns the trace of the last method that failed.
- You need to check the return value of the call you're making to figure out
- if the call actually failed, before you know call this method.
- */
- @property(copy,readonly) NSArray* errorTrace;
-
-/// @internal for use in subclasses to add errors to the stack trace
-- (void)addErrorWithCode:(NSUInteger)code description:(NSString*)str;
-
-/// @internal for use in subclasess to clear the error before a new parsing attempt
-- (void)clearErrorTrace;
-
-@end

+ 0 - 87
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJsonParser.h

@@ -1,87 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import "DBJsonBase.h"
-
-/**
-  @brief Options for the parser class.
- 
- This exists so the DBJSON facade can implement the options in the parser without having to re-declare them.
- */
-@protocol DBJsonParser
-
-/**
- @brief Return the object represented by the given string.
- 
- Returns the object represented by the passed-in string or nil on error. The returned object can be
- a string, number, boolean, null, array or dictionary.
- 
- @param repr the json string to parse
- */
-- (id)objectWithString:(NSString *)repr;
-
-@end
-
-
-/**
- @brief The JSON parser class.
- 
- JSON is mapped to Objective-C types in the following way:
- 
- @li Null -> NSNull
- @li String -> NSMutableString
- @li Array -> NSMutableArray
- @li Object -> NSMutableDictionary
- @li Boolean -> NSNumber (initialised with -initWithBool:)
- @li Number -> NSDecimalNumber
- 
- Since Objective-C doesn't have a dedicated class for boolean values, these turns into NSNumber
- instances. These are initialised with the -initWithBool: method, and 
- round-trip back to JSON properly. (They won't silently suddenly become 0 or 1; they'll be
- represented as 'true' and 'false' again.)
- 
- JSON numbers turn into NSDecimalNumber instances,
- as we can thus avoid any loss of precision. (JSON allows ridiculously large numbers.)
- 
- */
-@interface DBJsonParser : DBJsonBase <DBJsonParser> {
-    
-@private
-    const char *c;
-}
-
-@end
-
-// don't use - exists for backwards compatibility with 2.1.x only. Will be removed in 2.3.
-@interface DBJsonParser (Private)
-- (id)fragmentWithString:(id)repr;
-@end
-
-

+ 0 - 129
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBJsonWriter.h

@@ -1,129 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import "DBJsonBase.h"
-
-/**
- @brief Options for the writer class.
- 
- This exists so the DBJSON facade can implement the options in the writer without having to re-declare them.
- */
-@protocol DBJsonWriter
-
-/**
- @brief Whether we are generating human-readable (multiline) JSON.
- 
- Set whether or not to generate human-readable JSON. The default is NO, which produces
- JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable
- JSON with linebreaks after each array value and dictionary key/value pair, indented two
- spaces per nesting level.
- */
-@property BOOL humanReadable;
-
-/**
- @brief Whether or not to sort the dictionary keys in the output.
- 
- If this is set to YES, the dictionary keys in the JSON output will be in sorted order.
- (This is useful if you need to compare two structures, for example.) The default is NO.
- */
-@property BOOL sortKeys;
-
-/**
- @brief Return JSON representation (or fragment) for the given object.
- 
- Returns a string containing JSON representation of the passed in value, or nil on error.
- If nil is returned and @p error is not NULL, @p *error can be interrogated to find the cause of the error.
- 
- @param value any instance that can be represented as a JSON fragment
- 
- */
-- (NSString*)stringWithObject:(id)value;
-
-@end
-
-
-/**
- @brief The JSON writer class.
- 
- Objective-C types are mapped to JSON types in the following way:
- 
- @li NSNull -> Null
- @li NSString -> String
- @li NSArray -> Array
- @li NSDictionary -> Object
- @li NSNumber (-initWithBool:) -> Boolean
- @li NSNumber -> Number
- 
- In JSON the keys of an object must be strings. NSDictionary keys need
- not be, but attempting to convert an NSDictionary with non-string keys
- into JSON will throw an exception.
- 
- NSNumber instances created with the +initWithBool: method are
- converted into the JSON boolean "true" and "false" values, and vice
- versa. Any other NSNumber instances are converted to a JSON number the
- way you would expect.
- 
- */
-@interface DBJsonWriter : DBJsonBase <DBJsonWriter> {
-
-@private
-    BOOL sortKeys, humanReadable;
-}
-
-@end
-
-// don't use - exists for backwards compatibility. Will be removed in 2.3.
-@interface DBJsonWriter (Private)
-- (NSString*)stringWithFragment:(id)value;
-@end
-
-/**
- @brief Allows generation of JSON for otherwise unsupported classes.
- 
- If you have a custom class that you want to create a JSON representation for you can implement
- this method in your class. It should return a representation of your object defined
- in terms of objects that can be translated into JSON. For example, a Person
- object might implement it like this:
- 
- @code
- - (id)jsonProxyObject {
-    return [NSDictionary dictionaryWithObjectsAndKeys:
-        name, @"name",
-        phone, @"phone",
-        email, @"email",
-        nil];
- }
- @endcode
- 
- */
-@interface NSObject (SBProxyForJson)
-- (id)proxyForJson;
-@end
-

+ 0 - 17
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBKeychain.h

@@ -1,17 +0,0 @@
-//
-//  DBKeychain.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/5/12.
-//  Copyright (c) 2012 Dropbox, Inc. All rights reserved.
-//
-
-@interface DBKeychain : NSObject
-
-+ (NSDictionary *)credentials;
-
-+ (void)setCredentials:(NSDictionary *)credentials;
-
-+ (void)deleteCredentials;
-
-@end

+ 0 - 38
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBLog.h

@@ -1,38 +0,0 @@
-//
-//  DBLog.h
-//  Dropbox
-//
-//  Created by Will Stockwell on 11/4/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-#if !defined(NS_FORMAT_FUNCTION)
-#define NS_FORMAT_FUNCTION(F, A)
-#endif
-
-typedef enum {
-	DBLogLevelInfo = 0,
-	DBLogLevelAnalytics,
-	DBLogLevelWarning,
-	DBLogLevelError,
-	DBLogLevelFatal
-} DBLogLevel;
-
-typedef void DBLogCallback(DBLogLevel logLevel, NSString *format, va_list args);
-
-NSString * DBLogFilePath(void);
-void DBSetupLogToFile(void);
-
-NSString* DBStringFromLogLevel(DBLogLevel logLevel);
-
-
-void DBLogSetLevel(DBLogLevel logLevel);
-void DBLogSetCallback(DBLogCallback *callback);
-
-void DBLog(DBLogLevel logLevel, NSString *format, ...) NS_FORMAT_FUNCTION(2,3);
-void DBLogInfo(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-void DBLogWarning(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-void DBLogError(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-void DBLogFatal(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);

+ 0 - 47
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBMetadata.h

@@ -1,47 +0,0 @@
-//
-//  DBMetadata.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-@interface DBMetadata : NSObject <NSCoding> {
-    BOOL thumbnailExists;
-    long long totalBytes;
-    NSDate* lastModifiedDate;
-    NSDate *clientMtime; // file's mtime for display purposes only
-    NSString* path;
-    BOOL isDirectory;
-    NSArray* contents;
-    NSString* hash;
-    NSString* humanReadableSize;
-    NSString* root;
-    NSString* icon;
-    NSString* rev;
-    long long revision; // Deprecated; will be removed in version 2. Use rev whenever possible
-    BOOL isDeleted;
-
-    NSString *filename;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict;
-
-@property (nonatomic, readonly) BOOL thumbnailExists;
-@property (nonatomic, readonly) long long totalBytes;
-@property (nonatomic, readonly) NSDate* lastModifiedDate;
-@property (nonatomic, readonly) NSDate* clientMtime;
-@property (nonatomic, readonly) NSString* path;
-@property (nonatomic, readonly) BOOL isDirectory;
-@property (nonatomic, readonly) NSArray* contents;
-@property (nonatomic, readonly) NSString* hash;
-@property (nonatomic, readonly) NSString* humanReadableSize;
-@property (nonatomic, readonly) NSString* root;
-@property (nonatomic, readonly) NSString* icon;
-@property (nonatomic, readonly) long long revision; // Deprecated, use rev instead
-@property (nonatomic, readonly) NSString* rev;
-@property (nonatomic, readonly) BOOL isDeleted;
-@property (nonatomic, readonly) NSString* filename;
-
-@end

+ 0 - 24
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBQuota.h

@@ -1,24 +0,0 @@
-//
-//  DBQuota.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 5/3/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-@interface DBQuota : NSObject <NSCoding> {
-    long long normalConsumedBytes;
-    long long sharedConsumedBytes;
-    long long totalBytes;
-}
-
-- (id)initWithDictionary:(NSDictionary*)dict;
-
-@property (nonatomic, readonly) long long normalConsumedBytes;
-@property (nonatomic, readonly) long long sharedConsumedBytes;
-@property (nonatomic, readonly) long long totalConsumedBytes;
-@property (nonatomic, readonly) long long totalBytes;
-
-@end

+ 0 - 80
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBRequest.h

@@ -1,80 +0,0 @@
-//
-//  DBRestRequest.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/9/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-@protocol DBNetworkRequestDelegate;
-
-/* DBRestRequest will download a URL either into a file that you provied the name to or it will
-   create an NSData object with the result. When it has completed downloading the URL, it will
-   notify the target with a selector that takes the DBRestRequest as the only parameter. */
-@interface DBRequest : NSObject {
-    NSURLRequest* request;
-    id target;
-    SEL selector;
-    NSURLConnection* urlConnection;
-    NSFileHandle* fileHandle;
-    NSFileManager* fileManager;
-
-    SEL failureSelector;
-    SEL downloadProgressSelector;
-    SEL uploadProgressSelector;
-    NSString* resultFilename;
-    NSString* tempFilename;
-    NSDictionary* userInfo;
-    NSString *sourcePath;
-
-    NSHTTPURLResponse* response;
-    NSDictionary* xDropboxMetadataJSON;
-    NSInteger bytesDownloaded;
-    CGFloat downloadProgress;
-    CGFloat uploadProgress;
-    NSMutableData* resultData;
-    NSError* error;
-}
-
-/*  Set this to get called when _any_ request starts or stops. This should hook into whatever
-    network activity indicator system you have. */
-+ (void)setNetworkRequestDelegate:(id<DBNetworkRequestDelegate>)delegate;
-
-/*  This constructor downloads the URL into the resultData object */
-- (id)initWithURLRequest:(NSURLRequest*)request andInformTarget:(id)target selector:(SEL)selector;
-
-/*  Cancels the request and prevents it from sending additional messages to the delegate. */
-- (void)cancel;
-
-/* If there is no error, it will parse the response as JSON and make sure the JSON object is the
-   correct type. If not, it will set the error object with an error code of DBErrorInvalidResponse */
-- (id)parseResponseAsType:(Class)cls;
-
-@property (nonatomic, assign) SEL failureSelector; // To send failure events to a different selector set this
-@property (nonatomic, assign) SEL downloadProgressSelector; // To receive download progress events set this
-@property (nonatomic, assign) SEL uploadProgressSelector; // To receive upload progress events set this
-@property (nonatomic, retain) NSString* resultFilename; // The file to put the HTTP body in, otherwise body is stored in resultData
-@property (nonatomic, retain) NSDictionary* userInfo;
-@property (nonatomic, retain) NSString *sourcePath; // Used by methods that upload to refresh the input stream
-
-@property (nonatomic, readonly) NSURLRequest* request;
-@property (nonatomic, readonly) NSHTTPURLResponse* response;
-@property (nonatomic, readonly) NSDictionary* xDropboxMetadataJSON;
-@property (nonatomic, readonly) NSInteger statusCode;
-@property (nonatomic, readonly) CGFloat downloadProgress;
-@property (nonatomic, readonly) CGFloat uploadProgress;
-@property (nonatomic, readonly) NSData* resultData;
-@property (nonatomic, readonly) NSString* resultString;
-@property (nonatomic, readonly) NSObject* resultJSON;
-@property (nonatomic, readonly) NSError* error;
-
-@end
-
-
-@protocol DBNetworkRequestDelegate 
-
-- (void)networkRequestStarted;
-- (void)networkRequestStopped;
-
-@end

+ 0 - 34
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBRestClient+OSX.h

@@ -1,34 +0,0 @@
-//
-//  DBRestClient+OSX.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 1/22/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBRestClient.h"
-
-@interface DBRestClient (OSX)
-
-- (void)loadRequestToken;
-
-- (BOOL)requestTokenLoaded;
-
-- (NSURL *)authorizeURL;
-
-- (void)loadAccessToken;
-
-@end
-
-
-@protocol DBRestClientOSXDelegate <DBRestClientDelegate>
-
-@optional
-
-- (void)restClientLoadedRequestToken:(DBRestClient *)restClient;
-- (void)restClient:(DBRestClient *)restClient loadRequestTokenFailedWithError:(NSError *)error;
-
-- (void)restClientLoadedAccessToken:(DBRestClient *)restClient;
-- (void)restClient:(DBRestClient *)restClient loadAccessTokenFailedWithError:(NSError *)error;
-
-@end

+ 0 - 225
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBRestClient.h

@@ -1,225 +0,0 @@
-//
-//  DBRestClient.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/9/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-
-#import "DBSession.h"
-
-@protocol DBRestClientDelegate;
-@class DBAccountInfo;
-@class DBMetadata;
-
-@interface DBRestClient : NSObject {
-    DBSession* session;
-    NSString* userId;
-    NSString* root;
-    NSMutableSet* requests;
-    /* Map from path to the load request. Needs to be expanded to a general framework for cancelling
-       requests. */
-    NSMutableDictionary* loadRequests;
-    NSMutableDictionary* imageLoadRequests;
-    NSMutableDictionary* uploadRequests;
-    id<DBRestClientDelegate> delegate;
-}
-
-- (id)initWithSession:(DBSession*)session;
-- (id)initWithSession:(DBSession *)session userId:(NSString *)userId;
-
-/* Cancels all outstanding requests. No callback for those requests will be sent */
-- (void)cancelAllRequests;
-
-
-/* Loads metadata for the object at the given root/path and returns the result to the delegate as a 
-   dictionary */
-- (void)loadMetadata:(NSString*)path withHash:(NSString*)hash;
-
-- (void)loadMetadata:(NSString*)path;
-
-/* This will load the metadata of a file at a given rev */
-- (void)loadMetadata:(NSString *)path atRev:(NSString *)rev;
-
-/* Loads a list of files (represented as DBDeltaEntry objects) that have changed since the cursor was generated */
-- (void)loadDelta:(NSString *)cursor;
-
-
-/* Loads the file contents at the given root/path and stores the result into destinationPath */
-- (void)loadFile:(NSString *)path intoPath:(NSString *)destinationPath;
-
-/* This will load a file as it existed at a given rev */
-- (void)loadFile:(NSString *)path atRev:(NSString *)rev intoPath:(NSString *)destPath;
-
-- (void)cancelFileLoad:(NSString*)path;
-
-
-- (void)loadThumbnail:(NSString *)path ofSize:(NSString *)size intoPath:(NSString *)destinationPath;
-- (void)cancelThumbnailLoad:(NSString*)path size:(NSString*)size;
-
-/* Uploads a file that will be named filename to the given path on the server. sourcePath is the
-   full path of the file you want to upload. If you are modifying a file, parentRev represents the
-   rev of the file before you modified it as returned from the server. If you are uploading a new
-   file set parentRev to nil. */
-- (void)uploadFile:(NSString *)filename toPath:(NSString *)path withParentRev:(NSString *)parentRev
-    fromPath:(NSString *)sourcePath;
-
-- (void)cancelFileUpload:(NSString *)path;
-
-/* Avoid using this because it is very easy to overwrite conflicting changes. Provided for backwards
-   compatibility reasons only */
-- (void)uploadFile:(NSString*)filename toPath:(NSString*)path fromPath:(NSString *)sourcePath __attribute__((deprecated));
-
-/* These calls allow you to upload files in chunks, which is better for file larger than a few megabytes.
-   You can append bytes to the file using -[DBRestClient uploadFileChunk:offset:uploadId:] and then call
-   -[DBRestClient uploadFile:toPath:withParentRev:fromUploadId:] to turn the bytes appended at that uploadId
-   into an actual file in the user's Dropbox.
-   Use a nil uploadId to start uploading a new file. */
-- (void)uploadFileChunk:(NSString *)uploadId offset:(unsigned long long)offset fromPath:(NSString *)localPath;
-- (void)uploadFile:(NSString *)filename toPath:(NSString *)parentFolder withParentRev:(NSString *)parentRev
-	fromUploadId:(NSString *)uploadId;
-
-
-/* Loads a list of up to 10 DBMetadata objects representing past revisions of the file at path */
-- (void)loadRevisionsForFile:(NSString *)path;
-
-/* Same as above but with a configurable limit to number of DBMetadata objects returned, up to 1000 */
-- (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit;
-
-/* Restores a file at path as it existed at the given rev and returns the metadata of the restored
-   file after restoration */
-- (void)restoreFile:(NSString *)path toRev:(NSString *)rev;
-
-/* Creates a folder at the given root/path */
-- (void)createFolder:(NSString*)path;
-
-- (void)deletePath:(NSString*)path;
-
-- (void)copyFrom:(NSString*)fromPath toPath:(NSString *)toPath;
-
-- (void)createCopyRef:(NSString *)path; // Used to copy between Dropboxes
-- (void)copyFromRef:(NSString*)copyRef toPath:(NSString *)toPath; // Takes copy ref created by above call
-
-- (void)moveFrom:(NSString*)fromPath toPath:(NSString *)toPath;
-
-- (void)loadAccountInfo;
-
-- (void)searchPath:(NSString*)path forKeyword:(NSString*)keyword;
-
-- (void)loadSharableLinkForFile:(NSString *)path;
-- (void)loadSharableLinkForFile:(NSString *)path shortUrl:(BOOL)createShortUrl;
-
-- (void)loadStreamableURLForFile:(NSString *)path;
-
-- (NSUInteger)requestCount;
-
-@property (nonatomic, assign) id<DBRestClientDelegate> delegate;
-
-@end
-
-
-
-
-/* The delegate provides allows the user to get the result of the calls made on the DBRestClient.
-   Right now, the error parameter of failed calls may be nil and [error localizedDescription] does
-   not contain an error message appropriate to show to the user. */
-@protocol DBRestClientDelegate <NSObject>
-
-@optional
-
-- (void)restClient:(DBRestClient*)client loadedMetadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client metadataUnchangedAtPath:(NSString*)path;
-- (void)restClient:(DBRestClient*)client loadMetadataFailedWithError:(NSError*)error; 
-// [error userInfo] contains the root and path of the call that failed
-
-- (void)restClient:(DBRestClient*)client loadedDeltaEntries:(NSArray *)entries reset:(BOOL)shouldReset cursor:(NSString *)cursor hasMore:(BOOL)hasMore;
-- (void)restClient:(DBRestClient*)client loadDeltaFailedWithError:(NSError *)error;
-
-- (void)restClient:(DBRestClient*)client loadedAccountInfo:(DBAccountInfo*)info;
-- (void)restClient:(DBRestClient*)client loadAccountInfoFailedWithError:(NSError*)error; 
-
-- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)destPath;
-// Implement the following callback instead of the previous if you care about the value of the
-// Content-Type HTTP header and the file metadata. Only one will be called per successful response.
-- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)destPath contentType:(NSString*)contentType metadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client loadProgress:(CGFloat)progress forFile:(NSString*)destPath;
-- (void)restClient:(DBRestClient*)client loadFileFailedWithError:(NSError*)error;
-// [error userInfo] contains the destinationPath
-
-
-- (void)restClient:(DBRestClient*)client loadedThumbnail:(NSString*)destPath metadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client loadThumbnailFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)client uploadedFile:(NSString*)destPath from:(NSString*)srcPath 
-        metadata:(DBMetadata*)metadata;
-- (void)restClient:(DBRestClient*)client uploadProgress:(CGFloat)progress 
-        forFile:(NSString*)destPath from:(NSString*)srcPath;
-- (void)restClient:(DBRestClient*)client uploadFileFailedWithError:(NSError*)error;
-// [error userInfo] contains the sourcePath
-
-- (void)restClient:(DBRestClient *)client uploadedFileChunk:(NSString *)uploadId newOffset:(unsigned long long)offset
-	fromFile:(NSString *)localPath expires:(NSDate *)expiresDate;
-- (void)restClient:(DBRestClient *)client uploadFileChunkFailedWithError:(NSError *)error;
-- (void)restClient:(DBRestClient *)client uploadFileChunkProgress:(CGFloat)progress
-	forFile:(NSString *)uploadId offset:(unsigned long long)offset fromPath:(NSString *)localPath;
-
-- (void)restClient:(DBRestClient *)client uploadedFile:(NSString *)destPath fromUploadId:(NSString *)uploadId
-    metadata:(DBMetadata *)metadata;
-- (void)restClient:(DBRestClient *)client uploadFromUploadIdFailedWithError:(NSError *)error;
-
-// Deprecated upload callback
-- (void)restClient:(DBRestClient*)client uploadedFile:(NSString*)destPath from:(NSString*)srcPath;
-
-// Deprecated download callbacks
-- (void)restClient:(DBRestClient*)client loadedFile:(NSString*)destPath contentType:(NSString*)contentType;
-- (void)restClient:(DBRestClient*)client loadedThumbnail:(NSString*)destPath;
-
-- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path;
-- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error;
-
-- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata;
-- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error;
-
-- (void)restClient:(DBRestClient*)client createdFolder:(DBMetadata*)folder;
-// Folder is the metadata for the newly created folder
-- (void)restClient:(DBRestClient*)client createFolderFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)client deletedPath:(NSString *)path;
-- (void)restClient:(DBRestClient*)client deletePathFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)client copiedPath:(NSString *)fromPath to:(DBMetadata *)to;
-- (void)restClient:(DBRestClient*)client copyPathFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)client createdCopyRef:(NSString *)copyRef forPath:(NSString *)path;
-- (void)restClient:(DBRestClient*)client createCopyRefFailedWithError:(NSError *)error;
-
-// Deprecated copy ref callback
-- (void)restClient:(DBRestClient*)client createdCopyRef:(NSString *)copyRef;
-
-- (void)restClient:(DBRestClient*)client copiedRef:(NSString *)copyRef to:(DBMetadata *)to;
-- (void)restClient:(DBRestClient*)client copyFromRefFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)client movedPath:(NSString *)from_path to:(DBMetadata *)result;
-- (void)restClient:(DBRestClient*)client movePathFailedWithError:(NSError*)error;
-// [error userInfo] contains the root and path
-
-- (void)restClient:(DBRestClient*)restClient loadedSearchResults:(NSArray*)results 
-forPath:(NSString*)path keyword:(NSString*)keyword;
-// results is a list of DBMetadata * objects
-- (void)restClient:(DBRestClient*)restClient searchFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)restClient loadedSharableLink:(NSString*)link 
-forFile:(NSString*)path;
-- (void)restClient:(DBRestClient*)restClient loadSharableLinkFailedWithError:(NSError*)error;
-
-- (void)restClient:(DBRestClient*)restClient loadedStreamableURL:(NSURL*)url forFile:(NSString*)path;
-- (void)restClient:(DBRestClient*)restClient loadStreamableURLFailedWithError:(NSError*)error;
-
-
-@end
-
-

+ 0 - 24
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBSession+iOS.h

@@ -1,24 +0,0 @@
-//
-//  DBSession+iOS.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 3/7/12.
-//  Copyright (c) 2012 Dropbox. All rights reserved.
-//
-
-#import "DBSession.h"
-
-#import <UIKit/UIKit.h>
-
-@interface DBSession (iOS)
-
-+ (NSDictionary*)parseURLParams:(NSString *)query;
-
-- (NSString *)appScheme;
-
-- (void)linkFromController:(UIViewController *)rootController;
-- (void)linkUserId:(NSString *)userId fromController:(UIViewController *)rootController;
-
-- (BOOL)handleOpenURL:(NSURL *)url;
-
-@end

+ 0 - 59
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DBSession.h

@@ -1,59 +0,0 @@
-//
-//  DBSession.h
-//  DropboxSDK
-//
-//  Created by Brian Smith on 4/8/10.
-//  Copyright 2010 Dropbox, Inc. All rights reserved.
-//
-
-#import "MPOAuthCredentialConcreteStore.h"
-
-extern NSString *kDBSDKVersion;
-
-extern NSString *kDBDropboxAPIHost;
-extern NSString *kDBDropboxAPIContentHost;
-extern NSString *kDBDropboxWebHost;
-extern NSString *kDBDropboxAPIVersion;
-
-extern NSString *kDBRootDropbox;
-extern NSString *kDBRootAppFolder;
-
-extern NSString *kDBProtocolHTTPS;
-
-@protocol DBSessionDelegate;
-
-
-/*  Creating and setting the shared DBSession should be done before any other Dropbox objects are
-    used, perferrably in the UIApplication delegate. */
-@interface DBSession : NSObject {
-    NSDictionary *baseCredentials;
-    NSMutableDictionary *credentialStores;
-    MPOAuthCredentialConcreteStore *anonymousStore;
-    NSString *root;
-    id<DBSessionDelegate> delegate;
-}
-
-+ (DBSession*)sharedSession;
-+ (void)setSharedSession:(DBSession *)session;
-
-- (id)initWithAppKey:(NSString *)key appSecret:(NSString *)secret root:(NSString *)root;
-- (BOOL)isLinked; // Session must be linked before creating any DBRestClient objects
-
-- (void)unlinkAll;
-- (void)unlinkUserId:(NSString *)userId;
-
-- (MPOAuthCredentialConcreteStore *)credentialStoreForUserId:(NSString *)userId;
-- (void)updateAccessToken:(NSString *)token accessTokenSecret:(NSString *)secret forUserId:(NSString *)userId;
-
-@property (nonatomic, readonly) NSString *root;
-@property (nonatomic, readonly) NSArray *userIds;
-@property (nonatomic, assign) id<DBSessionDelegate> delegate;
-
-@end
-
-
-@protocol DBSessionDelegate
-
-- (void)sessionDidReceiveAuthorizationFailure:(DBSession *)session userId:(NSString *)userId;
-
-@end

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DropboxOSX.h

@@ -1,21 +0,0 @@
-/*
- *  DropboxOSX.h
- *  DropboxSDK
- *
- *  Created by Brian Smith on 7/13/10.
- *  Copyright 2010 Dropbox, Inc. All rights reserved.
- *
- */
-
-/* Import this file to get the most important header files imported */
-#import "DBAccountInfo.h"
-#import "DBSession.h"
-#import "DBRestClient.h"
-#import "DBRequest.h"
-#import "DBMetadata.h"
-#import "DBQuota.h"
-#import "DBError.h"
-#import "NSString+Dropbox.h"
-#import "DBDeltaEntry.h"
-
-#import "DBAuthHelperOSX.h"

+ 0 - 21
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/DropboxSDK.h

@@ -1,21 +0,0 @@
-/*
- *  DropboxSDK.h
- *  DropboxSDK
- *
- *  Created by Brian Smith on 7/13/10.
- *  Copyright 2010 Dropbox, Inc. All rights reserved.
- *
- */
-
-/* Import this file to get the most important header files imported */
-#import "DBAccountInfo.h"
-#import "DBSession.h"
-#import "DBRestClient.h"
-#import "DBRequest.h"
-#import "DBMetadata.h"
-#import "DBQuota.h"
-#import "DBError.h"
-#import "NSString+Dropbox.h"
-#import "DBDeltaEntry.h"
-
-#import "DBSession+iOS.h"

+ 0 - 55
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/JSON.h

@@ -1,55 +0,0 @@
-/*
- Copyright (C) 2009 Stig Brautaset. All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- 
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
- 
- * Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
- 
- * Neither the name of the author nor the names of its contributors may be used
-   to endorse or promote products derived from this software without specific
-   prior written permission.
- 
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- @mainpage A strict JSON parser and generator for Objective-C
-
- JSON (JavaScript Object Notation) is a lightweight data-interchange
- format. This framework provides two apis for parsing and generating
- JSON. One standard object-based and a higher level api consisting of
- categories added to existing Objective-C classes.
-
- Learn more on the http://code.google.com/p/json-framework project site.
- 
- This framework does its best to be as strict as possible, both in what it
- accepts and what it generates. For example, it does not support trailing commas
- in arrays or objects. Nor does it support embedded comments, or
- anything else not in the JSON specification. This is considered a feature. 
-
-
- SBJson has been renamed to DBJson in the DropboxSDK because static libraries
- are unable to hide symbols and other libraries that developers use include
- SBJson
- 
-*/
-
-#import "DBJSON.h"
-#import "NSObject+DBJSON.h"
-#import "NSString+DBJSON.h"
-

+ 0 - 14
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPDebug.h

@@ -1,14 +0,0 @@
-//
-//  MPDebug.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 09.02.06.
-//  Copyright 2009 matrixPointer. All rights reserved.
-//
-
-// Removing oauth logging for now, set to '#ifdef DEBUG' to re-enable
-#if 0
-	#define MPLog(...) NSLog(__VA_ARGS__)
-#else
-	#define MPLog(...) do { } while (0)
-#endif

+ 0 - 20
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuth.h

@@ -1,20 +0,0 @@
-//
-//  MPOAuth.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.13.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-#import <MPOAuth/MPOAuthAPI.h>
-#import <MPOAuth/MPOAuthAPIRequestLoader.h>
-#import <MPOAuth/MPOAuthAuthenticationMethod.h>
-#import <MPOAuth/MPOAuthAuthenticationMethodOAuth.h>
-#import <MPOAuth/MPOAuthCredentialStore.h>
-#import <MPOAuth/MPOAuthParameterFactory.h>
-#import <MPOAuth/MPOAuthConnection.h>
-#import <MPOAuth/MPOAuthURLRequest.h>
-#import <MPOAuth/MPOAuthURLResponse.h>

+ 0 - 86
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAPI.h

@@ -1,86 +0,0 @@
-//
-//  MPOAuthAPI.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthCredentialStore.h"
-#import "MPOAuthParameterFactory.h"
-
-extern NSString * const MPOAuthNotificationAccessTokenReceived;
-extern NSString * const MPOAuthNotificationAccessTokenRejected;
-extern NSString * const MPOAuthNotificationAccessTokenRefreshed;
-extern NSString * const MPOAuthNotificationOAuthCredentialsReady;
-extern NSString * const MPOAuthNotificationErrorHasOccurred;
-
-extern NSString * const MPOAuthCredentialRequestTokenKey;
-extern NSString * const MPOAuthCredentialRequestTokenSecretKey;
-extern NSString * const MPOAuthCredentialAccessTokenKey;
-extern NSString * const MPOAuthCredentialAccessTokenSecretKey;
-extern NSString * const MPOAuthCredentialSessionHandleKey;
-
-extern NSString * const MPOAuthTokenRefreshDateDefaultsKey;
-
-typedef enum {
-	MPOAuthSignatureSchemePlainText,
-	MPOAuthSignatureSchemeHMACSHA1,
-	MPOAuthSignatureSchemeRSASHA1
-} MPOAuthSignatureScheme;
-
-typedef enum {
-	MPOAuthAuthenticationStateUnauthenticated		= 0,
-	MPOAuthAuthenticationStateAuthenticating		= 1,
-	MPOAuthAuthenticationStateAuthenticated			= 2
-} MPOAuthAuthenticationState;
-
-@protocol MPOAuthAPIInternalClient
-@end
-
-@class MPOAuthAuthenticationMethod;
-
-@interface MPOAuthAPI : NSObject <MPOAuthAPIInternalClient> {
-@private
-	id <MPOAuthCredentialStore, MPOAuthParameterFactory>		credentials_;
-	NSURL														*baseURL_;
-	NSURL														*authenticationURL_;
-	MPOAuthAuthenticationMethod									*authenticationMethod_;
-	MPOAuthSignatureScheme										signatureScheme_;
-	NSMutableArray												*activeLoaders_;
-	MPOAuthAuthenticationState									oauthAuthenticationState_;
-}
-
-@property (nonatomic, readonly, retain) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
-@property (nonatomic, readonly, retain) NSURL *baseURL;
-@property (nonatomic, readonly, retain) NSURL *authenticationURL;
-@property (nonatomic, readwrite, retain) MPOAuthAuthenticationMethod *authenticationMethod;
-@property (nonatomic, readwrite, assign) MPOAuthSignatureScheme signatureScheme;
-
-@property (nonatomic, readonly, assign) MPOAuthAuthenticationState authenticationState;
-
-
-- (id)initWithCredentials:(NSDictionary *)inCredentials andBaseURL:(NSURL *)inURL;
-- (id)initWithCredentials:(NSDictionary *)inCredentials authenticationURL:(NSURL *)inAuthURL andBaseURL:(NSURL *)inBaseURL;
-- (id)initWithCredentials:(NSDictionary *)inCredentials authenticationURL:(NSURL *)inAuthURL andBaseURL:(NSURL *)inBaseURL autoStart:(BOOL)aFlag;
-
-- (void)authenticate;
-- (BOOL)isAuthenticated;
-
-- (void)performMethod:(NSString *)inMethod withTarget:(id)inTarget andAction:(SEL)inAction;
-- (void)performMethod:(NSString *)inMethod atURL:(NSURL *)inURL withParameters:(NSArray *)inParameters withTarget:(id)inTarget andAction:(SEL)inAction;
-- (void)performPOSTMethod:(NSString *)inMethod atURL:(NSURL *)inURL withParameters:(NSArray *)inParameters withTarget:(id)inTarget andAction:(SEL)inAction;
-- (void)performURLRequest:(NSURLRequest *)inRequest withTarget:(id)inTarget andAction:(SEL)inAction;
-
-- (NSData *)dataForMethod:(NSString *)inMethod;
-- (NSData *)dataForMethod:(NSString *)inMethod withParameters:(NSArray *)inParameters;
-- (NSData *)dataForURL:(NSURL *)inURL andMethod:(NSString *)inMethod withParameters:(NSArray *)inParameters;
-
-- (id)credentialNamed:(NSString *)inCredentialName;
-- (void)setCredential:(id)inCredential withName:(NSString *)inName;
-- (void)removeCredentialNamed:(NSString *)inName;
-
-- (void)discardCredentials;
-
-@end

+ 0 - 50
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAPIRequestLoader.h

@@ -1,50 +0,0 @@
-//
-//  MPOAuthAPIRequestLoader.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-extern NSString * const MPOAuthNotificationRequestTokenReceived;
-extern NSString * const MPOAuthNotificationRequestTokenRejected;
-extern NSString * const MPOAuthNotificationAccessTokenReceived;
-extern NSString * const MPOAuthNotificationAccessTokenRejected;
-extern NSString * const MPOAuthNotificationAccessTokenRefreshed;
-extern NSString * const MPOAuthNotificationErrorHasOccurred;
-
-@protocol MPOAuthCredentialStore;
-@protocol MPOAuthParameterFactory;
-
-@class MPOAuthURLRequest;
-@class MPOAuthURLResponse;
-@class MPOAuthCredentialConcreteStore;
-
-@interface MPOAuthAPIRequestLoader : NSObject {
-	MPOAuthCredentialConcreteStore	*_credentials;
-	MPOAuthURLRequest				*_oauthRequest;
-	MPOAuthURLResponse				*_oauthResponse;
-	NSMutableData					*_dataBuffer;
-	NSString						*_dataAsString;
-	NSError							*_error;
-	id								_target;
-	SEL								_action;
-}
-
-@property (nonatomic, readwrite, retain) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
-@property (nonatomic, readwrite, retain) MPOAuthURLRequest *oauthRequest;
-@property (nonatomic, readwrite, retain) MPOAuthURLResponse *oauthResponse;
-@property (nonatomic, readonly, retain) NSData *data;
-@property (nonatomic, readonly, retain) NSString *responseString;
-@property (nonatomic, readwrite, assign) id target;
-@property (nonatomic, readwrite, assign) SEL action;
-
-- (id)initWithURL:(NSURL *)inURL;
-- (id)initWithRequest:(MPOAuthURLRequest *)inRequest;
-
-- (void)loadSynchronously:(BOOL)inSynchronous;
-
-@end
-

+ 0 - 30
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAuthenticationMethod.h

@@ -1,30 +0,0 @@
-//
-//  MPOAuthAuthenticationMethod.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 09.12.19.
-//  Copyright 2009 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-extern NSString * const MPOAuthAccessTokenURLKey;
-
-@class MPOAuthAPI;
-
-@interface MPOAuthAuthenticationMethod : NSObject {
-	MPOAuthAPI								*oauthAPI_;
-	NSURL									*oauthGetAccessTokenURL_;
-	NSTimer									*refreshTimer_;
-}
-
-@property (nonatomic, readwrite, assign) MPOAuthAPI *oauthAPI;
-@property (nonatomic, readwrite, retain) NSURL *oauthGetAccessTokenURL;
-
-- (id)initWithAPI:(MPOAuthAPI *)inAPI forURL:(NSURL *)inURL;
-- (id)initWithAPI:(MPOAuthAPI *)inAPI forURL:(NSURL *)inURL withConfiguration:(NSDictionary *)inConfig;
-- (void)authenticate;
-
-- (void)setTokenRefreshInterval:(NSTimeInterval)inTimeInterval;
-- (void)refreshAccessToken;
-@end

+ 0 - 44
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthAuthenticationMethodOAuth.h

@@ -1,44 +0,0 @@
-//
-//  MPOAuthAuthenticationMethodOAuth.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 09.12.19.
-//  Copyright 2009 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthAuthenticationMethod.h"
-#import "MPOAuthAPI.h"
-#import "MPOAuthAPIRequestLoader.h"
-
-extern NSString * const MPOAuthNotificationRequestTokenReceived;
-extern NSString * const MPOAuthNotificationRequestTokenRejected;
-
-@protocol MPOAuthAuthenticationMethodOAuthDelegate;
-
-@interface MPOAuthAuthenticationMethodOAuth : MPOAuthAuthenticationMethod <MPOAuthAPIInternalClient> {
-	NSURL									*oauthRequestTokenURL_;
-	NSURL									*oauthAuthorizeTokenURL_;
-	BOOL									oauth10aModeActive_;
-	
-	id <MPOAuthAuthenticationMethodOAuthDelegate> delegate_;
-}
-
-@property (nonatomic, readwrite, assign) id <MPOAuthAuthenticationMethodOAuthDelegate> delegate;
-
-@property (nonatomic, readwrite, retain) NSURL *oauthRequestTokenURL;
-@property (nonatomic, readwrite, retain) NSURL *oauthAuthorizeTokenURL;
-
-- (void)authenticate;
-
-@end
-
-@protocol MPOAuthAuthenticationMethodOAuthDelegate <NSObject>
-- (NSURL *)callbackURLForCompletedUserAuthorization;
-- (BOOL)automaticallyRequestAuthenticationFromURL:(NSURL *)inAuthURL withCallbackURL:(NSURL *)inCallbackURL;
-
-@optional
-- (NSString *)oauthVerifierForCompletedUserAuthorization;
-- (void)authenticationDidFailWithError:(NSError *)error;
-@end
-

+ 0 - 29
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthConnection.h

@@ -1,29 +0,0 @@
-//
-//  MPOAuthConnection.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-@protocol MPOAuthCredentialStore;
-@protocol MPOAuthParameterFactory;
-
-@class MPOAuthURLRequest;
-@class MPOAuthURLResponse;
-@class MPOAuthCredentialConcreteStore;
-
-@interface MPOAuthConnection : NSURLConnection {
-@private
-	MPOAuthCredentialConcreteStore *_credentials;
-}
-
-@property (nonatomic, readonly) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
-
-+ (MPOAuthConnection *)connectionWithRequest:(MPOAuthURLRequest *)inRequest delegate:(id)inDelegate credentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials;
-+ (NSData *)sendSynchronousRequest:(MPOAuthURLRequest *)inRequest usingCredentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials returningResponse:(MPOAuthURLResponse **)outResponse error:(NSError **)inError;
-- (id)initWithRequest:(MPOAuthURLRequest *)inRequest delegate:(id)inDelegate credentials:(NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> *)inCredentials;
-
-@end

+ 0 - 18
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthCredentialConcreteStore+KeychainAdditions.h

@@ -1,18 +0,0 @@
-//
-//  MPOAuthCredentialConcreteStore+TokenAdditionsMac.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.13.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthCredentialConcreteStore.h"
-
-@interface MPOAuthCredentialConcreteStore (KeychainAdditions)
-
-- (void)addToKeychainUsingName:(NSString *)inName andValue:(NSString *)inValue;
-- (NSString *)findValueFromKeychainUsingName:(NSString *)inName;
-- (void)removeValueFromKeychainUsingName:(NSString *)inName;
-
-@end

+ 0 - 40
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthCredentialConcreteStore.h

@@ -1,40 +0,0 @@
-//
-//  MPOAuthCredentialConcreteStore.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.11.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPOAuthCredentialStore.h"
-#import "MPOAuthParameterFactory.h"
-
-@interface MPOAuthCredentialConcreteStore : NSObject <MPOAuthCredentialStore, MPOAuthParameterFactory> {
-	NSMutableDictionary *store_;
-	NSURL				*baseURL_;
-	NSURL				*authenticationURL_;
-}
-
-@property (nonatomic, readonly, retain) NSURL *baseURL;
-@property (nonatomic, readonly, retain) NSURL *authenticationURL;
-
-@property (nonatomic, readonly) NSString *tokenSecret;
-@property (nonatomic, readonly) NSString *signingKey;
-
-@property (nonatomic, readwrite, retain) NSString *requestToken;
-@property (nonatomic, readwrite, retain) NSString *requestTokenSecret;
-@property (nonatomic, readwrite, retain) NSString *accessToken;
-@property (nonatomic, readwrite, retain) NSString *accessTokenSecret;
-
-@property (nonatomic, readwrite, retain) NSString *sessionHandle;
-
-- (id)initWithCredentials:(NSDictionary *)inCredential;
-- (id)initWithCredentials:(NSDictionary *)inCredentials forBaseURL:(NSURL *)inBaseURL;
-- (id)initWithCredentials:(NSDictionary *)inCredentials forBaseURL:(NSURL *)inBaseURL withAuthenticationURL:(NSURL *)inAuthenticationURL;
-
-- (void)setCredential:(id)inCredential withName:(NSString *)inName;
-- (void)removeCredentialNamed:(NSString *)inName;
-	
-
-@end

+ 0 - 33
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthCredentialStore.h

@@ -1,33 +0,0 @@
-//
-//  MPOAuthCredentialStore.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.06.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-extern NSString *kMPOAuthCredentialConsumerKey;
-extern NSString *kMPOAuthCredentialConsumerSecret;
-extern NSString *kMPOAuthCredentialUsername;
-extern NSString *kMPOAuthCredentialPassword;
-extern NSString *kMPOAuthCredentialRequestToken;
-extern NSString *kMPOAuthCredentialRequestTokenSecret;
-extern NSString *kMPOAuthCredentialAccessToken;
-extern NSString *kMPOAuthCredentialAccessTokenSecret;
-extern NSString *kMPOAuthCredentialSessionHandle;
-extern NSString *kMPOAuthCredentialRealm;
-
-@protocol MPOAuthCredentialStore <NSObject>
-
-@property (nonatomic, readonly) NSString *consumerKey;
-@property (nonatomic, readonly) NSString *consumerSecret;
-@property (nonatomic, readonly) NSString *username;
-@property (nonatomic, readonly) NSString *password;
-@property (nonatomic, readonly, retain) NSString *requestToken;
-@property (nonatomic, readonly, retain) NSString *requestTokenSecret;
-@property (nonatomic, readonly, retain) NSString *accessToken;
-@property (nonatomic, readonly, retain) NSString *accessTokenSecret;
-
-- (NSString *)credentialNamed:(NSString *)inCredentialName;
-- (void)discardOAuthCredentials;
-@end

+ 0 - 28
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthParameterFactory.h

@@ -1,28 +0,0 @@
-//
-//  MPOAuthParameterFactory.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.06.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-extern NSString *kMPOAuthSignatureMethod;
-
-@class MPURLRequestParameter;
-
-@protocol MPOAuthParameterFactory <NSObject>
-
-@property (nonatomic, readwrite, retain) NSString *signatureMethod;
-@property (nonatomic, readonly) NSString *signingKey;
-@property (nonatomic, readonly) NSString *timestamp;
-
-- (NSArray *)oauthParameters;
-
-- (MPURLRequestParameter *)oauthConsumerKeyParameter;
-- (MPURLRequestParameter *)oauthTokenParameter;
-- (MPURLRequestParameter *)oauthSignatureMethodParameter;
-- (MPURLRequestParameter *)oauthTimestampParameter;
-- (MPURLRequestParameter *)oauthNonceParameter;
-- (MPURLRequestParameter *)oauthVersionParameter;
-
-@end

+ 0 - 28
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthSignatureParameter.h

@@ -1,28 +0,0 @@
-//
-//  MPOAuthSignatureParameter.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.07.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "MPURLRequestParameter.h"
-
-#define kMPOAuthSignatureMethodPlaintext	@"PLAINTEXT"
-#define kMPOAuthSignatureMethodHMACSHA1		@"HMAC-SHA1"
-#define kMPOAuthSignatureMethodRSASHA1		@"RSA-SHA1"
-
-@class MPOAuthURLRequest;
-
-@interface MPOAuthSignatureParameter : MPURLRequestParameter {
-
-}
-
-+ (NSString *)signatureBaseStringUsingParameterString:(NSString *)inParameterString forRequest:(MPOAuthURLRequest *)inRequest;
-+ (NSString *)HMAC_SHA1SignatureForText:(NSString *)inText usingSecret:(NSString *)inSecret;
-
-- (id)initWithText:(NSString *)inText andSecret:(NSString *)inSecret forRequest:(MPOAuthURLRequest *)inRequest usingMethod:(NSString *)inMethod;
-
-
-@end

+ 0 - 32
Libraries external/DropboxSDK/DropboxSDK/Classes/DropboxSDK/MPOAuthURLRequest.h

@@ -1,32 +0,0 @@
-//
-//  MPOAuthURLRequest.h
-//  MPOAuthConnection
-//
-//  Created by Karl Adam on 08.12.05.
-//  Copyright 2008 matrixPointer. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-
-@interface MPOAuthURLRequest : NSObject {
-@private
-	NSURL			*_url;
-	NSString		*_httpMethod;
-	NSURLRequest	*_urlRequest;
-	NSMutableArray	*_parameters;
-}
-
-@property (nonatomic, readwrite, retain) NSURL *url;
-@property (nonatomic, readwrite, retain) NSString *HTTPMethod;
-@property (nonatomic, readonly, retain) NSURLRequest *urlRequest;
-@property (nonatomic, readwrite, retain) NSMutableArray *parameters;
-
-- (id)initWithURL:(NSURL *)inURL andParameters:(NSArray *)parameters;
-- (id)initWithURLRequest:(NSURLRequest *)inRequest;
-
-- (void)addParameters:(NSArray *)inParameters;
-
-- (NSMutableURLRequest*)urlRequestSignedWithSecret:(NSString *)inSecret usingMethod:(NSString *)inScheme;
-
-@end

Some files were not shown because too many files changed in this diff