blob: f9f15c37d3943d9d5833f8c0d1f4fd2de4390aab [file] [log] [blame]
tkchind1fb26d2016-02-03 01:51:18 -08001/*
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
tkchine54467f2016-03-15 16:54:03 -070011#ifndef WEBRTC_BASE_OBJC_RTC_MACROS_H_
12#define WEBRTC_BASE_OBJC_RTC_MACROS_H_
13
tkchin8b577ed2016-04-19 10:04:41 -070014#define RTC_EXPORT __attribute__((visibility("default")))
15
tkchind1fb26d2016-02-03 01:51:18 -080016#if defined(__cplusplus)
tkchin8b577ed2016-04-19 10:04:41 -070017#define RTC_EXTERN extern "C" RTC_EXPORT
tkchind1fb26d2016-02-03 01:51:18 -080018#else
tkchin8b577ed2016-04-19 10:04:41 -070019#define RTC_EXTERN extern RTC_EXPORT
tkchind1fb26d2016-02-03 01:51:18 -080020#endif
tkchine54467f2016-03-15 16:54:03 -070021
22#ifdef __OBJC__
23#define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname
24#else
25#define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname
26#endif
27
tkchin24a62d52016-03-23 11:29:27 -070028#endif // WEBRTC_BASE_OBJC_RTC_MACROS_H_