ios.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. Copyright Ruslan Baratov 2017
  3. Copyright Rene Rivera 2017
  4. Distributed under the Boost Software License, Version 1.0.
  5. (See accompanying file LICENSE_1_0.txt or copy at
  6. http://www.boost.org/LICENSE_1_0.txt)
  7. */
  8. #ifndef BHO_PREDEF_PLAT_IOS_H
  9. #define BHO_PREDEF_PLAT_IOS_H
  10. #include <asio2/bho/predef/os/ios.h> // BHO_OS_IOS
  11. #include <asio2/bho/predef/version_number.h> // BHO_VERSION_NUMBER_NOT_AVAILABLE
  12. /* tag::reference[]
  13. = `BHO_PLAT_IOS_DEVICE`
  14. = `BHO_PLAT_IOS_SIMULATOR`
  15. [options="header"]
  16. |===
  17. | {predef_symbol} | {predef_version}
  18. | `TARGET_IPHONE_SIMULATOR` | {predef_detection}
  19. | `TARGET_OS_SIMULATOR` | {predef_detection}
  20. |===
  21. */ // end::reference[]
  22. #define BHO_PLAT_IOS_DEVICE BHO_VERSION_NUMBER_NOT_AVAILABLE
  23. #define BHO_PLAT_IOS_SIMULATOR BHO_VERSION_NUMBER_NOT_AVAILABLE
  24. // https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h
  25. #if BHO_OS_IOS
  26. # include <TargetConditionals.h>
  27. # if defined(TARGET_OS_SIMULATOR) && (TARGET_OS_SIMULATOR == 1)
  28. # undef BHO_PLAT_IOS_SIMULATOR
  29. # define BHO_PLAT_IOS_SIMULATOR BHO_VERSION_NUMBER_AVAILABLE
  30. # elif defined(TARGET_IPHONE_SIMULATOR) && (TARGET_IPHONE_SIMULATOR == 1)
  31. # undef BHO_PLAT_IOS_SIMULATOR
  32. # define BHO_PLAT_IOS_SIMULATOR BHO_VERSION_NUMBER_AVAILABLE
  33. # else
  34. # undef BHO_PLAT_IOS_DEVICE
  35. # define BHO_PLAT_IOS_DEVICE BHO_VERSION_NUMBER_AVAILABLE
  36. # endif
  37. #endif
  38. #if BHO_PLAT_IOS_SIMULATOR
  39. # define BHO_PLAT_IOS_SIMULATOR_AVAILABLE
  40. # include <asio2/bho/predef/detail/platform_detected.h>
  41. #endif
  42. #if BHO_PLAT_IOS_DEVICE
  43. # define BHO_PLAT_IOS_DEVICE_AVAILABLE
  44. # include <asio2/bho/predef/detail/platform_detected.h>
  45. #endif
  46. #define BHO_PLAT_IOS_SIMULATOR_NAME "iOS Simulator"
  47. #define BHO_PLAT_IOS_DEVICE_NAME "iOS Device"
  48. #endif // BHO_PREDEF_PLAT_IOS_H
  49. #include <asio2/bho/predef/detail/test.h>
  50. BHO_PREDEF_DECLARE_TEST(BHO_PLAT_IOS_SIMULATOR,BHO_PLAT_IOS_SIMULATOR_NAME)
  51. BHO_PREDEF_DECLARE_TEST(BHO_PLAT_IOS_DEVICE,BHO_PLAT_IOS_DEVICE_NAME)