BTClientToken.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #import <Foundation/Foundation.h>
  2. #import "BTJSON.h"
  3. NS_ASSUME_NONNULL_BEGIN
  4. /**
  5. Key for version.
  6. */
  7. extern NSString * const BTClientTokenKeyVersion;
  8. /**
  9. Domain for client token errors.
  10. */
  11. extern NSString * const BTClientTokenErrorDomain;
  12. /**
  13. Key for authorization fingerprint.
  14. */
  15. extern NSString * const BTClientTokenKeyAuthorizationFingerprint;
  16. /**
  17. Key for configuration URL.
  18. */
  19. extern NSString * const BTClientTokenKeyConfigURL;
  20. /**
  21. Error codes associated with a client token.
  22. */
  23. typedef NS_ENUM(NSInteger, BTClientTokenError) {
  24. /// Unknown error
  25. BTClientTokenErrorUnknown = 0,
  26. /// Invalid
  27. BTClientTokenErrorInvalid,
  28. /// Unsupported version
  29. BTClientTokenErrorUnsupportedVersion,
  30. };
  31. /**
  32. An authorization string used to initialize the Braintree SDK
  33. */
  34. @interface BTClientToken : NSObject <NSCoding, NSCopying>
  35. /**
  36. The client token as a BTJSON object
  37. */
  38. @property (nonatomic, readonly, strong) BTJSON *json;
  39. /**
  40. The extracted authorization fingerprint
  41. */
  42. @property (nonatomic, readonly, copy) NSString *authorizationFingerprint;
  43. /**
  44. The extracted configURL
  45. */
  46. @property (nonatomic, readonly, strong) NSURL *configURL;
  47. /**
  48. The original string used to initialize this instance
  49. */
  50. @property (nonatomic, readonly, copy) NSString *originalValue;
  51. #pragma mark - Initializers
  52. /**
  53. Initialize a client token with a client token string generated by a Braintree Server Library.
  54. */
  55. - (nullable instancetype)initWithClientToken:(NSString *)clientToken error:(NSError **)error NS_DESIGNATED_INITIALIZER;
  56. /**
  57. Base initializer - do not use.
  58. */
  59. - (instancetype)init __attribute__((unavailable("Please use initWithClientToken:error: instead.")));
  60. @end
  61. NS_ASSUME_NONNULL_END