| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- //
- // PPOTMacros.h
- // Copyright © 2015 PayPal, Inc. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #define PPSDKLog(format, args...) NSLog(@"%@", [NSString stringWithFormat:@"PayPal OneTouchCoreSDK: %@", [NSString stringWithFormat:format, ## args]])
- // PPLog is a replacement for NSLog that logs iff DEBUG is set.
- #ifdef DEBUG
- #define PPLog(format, args...) NSLog(format, ## args)
- #else
- #define PPLog(format, args...)
- #endif
- // PPAssert* are replacements for NSAssert, NSAssert1, etc.
- // Whether the latter are enabled or disabled depends upon NS_BLOCK_ASSERTIONS;
- // we set NS_BLOCK_ASSERTIONS inside our .pch files based upon DEBUG.
- // Those #defines are a little bit fragile, and could easily accidentally get broken in the future.
- // So PPAssert* depend explicitly on DEBUG, just to be a bit more safe.
- #ifdef DEBUG
- #define PPAssert(condition, desc...) NSAssert(condition, desc)
- #define PPAssert1(condition, desc, arg1) NSAssert1(condition, desc, arg1)
- #define PPAssert2(condition, desc, arg1, arg2) NSAssert2(condition, desc, arg1, arg2)
- #define PPAssert3(condition, desc, arg1, arg2, arg3) NSAssert3(condition, desc, arg1, arg2, arg3)
- #define PPAssert4(condition, desc, arg1, arg2, arg3, arg4) NSAssert4(condition, desc, arg1, arg2, arg3, arg4)
- #define PPAssert5(condition, desc, arg1, arg2, arg3, arg4, arg5) NSAssert5(condition, desc, arg1, arg2, arg3, arg4, arg5)
- #define PPParameterAssert(condition) NSParameterAssert(condition)
- #else
- #define PPAssert(condition, desc, ...)
- #define PPAssert1(condition, desc, arg1)
- #define PPAssert2(condition, desc, arg1, arg2)
- #define PPAssert3(condition, desc, arg1, arg2, arg3)
- #define PPAssert4(condition, desc, arg1, arg2, arg3, arg4)
- #define PPAssert5(condition, desc, arg1, arg2, arg3, arg4, arg5)
- #define PPParameterAssert(condition)
- #endif
- /**
- Macros used by PayPal payments
- */
- @interface PPOTMacros : NSObject
- /**
- @return the iOS major version number
- */
- + (NSUInteger)deviceSystemMajorVersion;
- @end
- #define iOS_MAJOR_VERSION [PPOTMacros deviceSystemMajorVersion]
- #define iOS_9_PLUS ([PPOTMacros deviceSystemMajorVersion] >= 9)
- #define iOS_8_PLUS ([PPOTMacros deviceSystemMajorVersion] >= 8)
- #define iOS_7_PLUS ([PPOTMacros deviceSystemMajorVersion] >= 7)
- #define iOS_6_PLUS ([PPOTMacros deviceSystemMajorVersion] >= 6)
- #define iOS_6 ([PPOTMacros deviceSystemMajorVersion] == 6)
- #define iOS_5 ([PPOTMacros deviceSystemMajorVersion] == 5)
- #define FORCE_VALUE_OR_NULL(x) (x ? x : [NSNull null])
- // Use the CARDIO_STR() macro around sensitive string literals.
- // E.g., `CARDIO_STR(@"http://top_secret_url.paypal.com")`.
- // For release builds, uses of this macro get preprocessed by fabfile.py to obfuscate the string.
- // PLEASE do not include any whitespace on either side of the string inside the parentheses;
- // i.e., between `CARDIO_STR(` and `@"abc"`, or between `@"abc"` and the closing `)`.
- #define CARDIO_STR(string) string
- #define PPRGBAUIColor(RR, GG, BB, AA) ([UIColor colorWithRed:(RR)/255.0f green:(GG)/255.0f blue:(BB)/255.0f alpha:(AA)/255.0f])
|