RTCMacros.h 880 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright 2016 The WebRTC Project Authors. All rights reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #ifndef SDK_OBJC_BASE_RTCMACROS_H_
  11. #define SDK_OBJC_BASE_RTCMACROS_H_
  12. #define RTC_OBJC_EXPORT __attribute__((visibility("default")))
  13. #if defined(__cplusplus)
  14. #define RTC_EXTERN extern "C" RTC_OBJC_EXPORT
  15. #else
  16. #define RTC_EXTERN extern RTC_OBJC_EXPORT
  17. #endif
  18. #ifdef __OBJC__
  19. #define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname
  20. #else
  21. #define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname
  22. #endif
  23. #endif // SDK_OBJC_BASE_RTCMACROS_H_