Mark public ObjC APIs as explicitly visible.
BUG=
Review URL: https://codereview.webrtc.org/1899573002
Cr-Commit-Position: refs/heads/master@{#12431}
diff --git a/webrtc/api/objc/RTCAVFoundationVideoSource.h b/webrtc/api/objc/RTCAVFoundationVideoSource.h
index 8c0232a..73e5585 100644
--- a/webrtc/api/objc/RTCAVFoundationVideoSource.h
+++ b/webrtc/api/objc/RTCAVFoundationVideoSource.h
@@ -9,6 +9,7 @@
*/
#import "webrtc/api/objc/RTCVideoSource.h"
+#import "webrtc/base/objc/RTCMacros.h"
@class AVCaptureSession;
@class RTCMediaConstraints;
@@ -23,6 +24,7 @@
* guarantee its lifetime. Instead, we expose its properties through the ref
* counted video source interface.
*/
+RTC_EXPORT
@interface RTCAVFoundationVideoSource : RTCVideoSource
- (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCAudioTrack.h b/webrtc/api/objc/RTCAudioTrack.h
index b5ea649..0f4b69d 100644
--- a/webrtc/api/objc/RTCAudioTrack.h
+++ b/webrtc/api/objc/RTCAudioTrack.h
@@ -9,9 +9,11 @@
*/
#import "webrtc/api/objc/RTCMediaStreamTrack.h"
+#import "webrtc/base/objc/RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCAudioTrack : RTCMediaStreamTrack
- (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCConfiguration.h b/webrtc/api/objc/RTCConfiguration.h
index 144c8d3..38ae88d 100644
--- a/webrtc/api/objc/RTCConfiguration.h
+++ b/webrtc/api/objc/RTCConfiguration.h
@@ -10,6 +10,8 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
@class RTCIceServer;
/**
@@ -50,6 +52,7 @@
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCConfiguration : NSObject
/** An array of Ice Servers available to be used by ICE. */
diff --git a/webrtc/api/objc/RTCDataChannel.h b/webrtc/api/objc/RTCDataChannel.h
index 59ab2b8..43d4663 100644
--- a/webrtc/api/objc/RTCDataChannel.h
+++ b/webrtc/api/objc/RTCDataChannel.h
@@ -11,8 +11,11 @@
#import <AvailabilityMacros.h>
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCDataBuffer : NSObject
/** NSData representation of the underlying buffer. */
@@ -33,6 +36,7 @@
@class RTCDataChannel;
+RTC_EXPORT
@protocol RTCDataChannelDelegate <NSObject>
/** The data channel state changed. */
@@ -58,7 +62,7 @@
RTCDataChannelStateClosed,
};
-
+RTC_EXPORT
@interface RTCDataChannel : NSObject
/**
diff --git a/webrtc/api/objc/RTCDataChannelConfiguration.h b/webrtc/api/objc/RTCDataChannelConfiguration.h
index fbe342d..d9e7059 100644
--- a/webrtc/api/objc/RTCDataChannelConfiguration.h
+++ b/webrtc/api/objc/RTCDataChannelConfiguration.h
@@ -11,8 +11,11 @@
#import <AvailabilityMacros.h>
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCDataChannelConfiguration : NSObject
/** Set to YES if ordered delivery is required. */
diff --git a/webrtc/api/objc/RTCEAGLVideoView.h b/webrtc/api/objc/RTCEAGLVideoView.h
index cd39881..afb092e 100644
--- a/webrtc/api/objc/RTCEAGLVideoView.h
+++ b/webrtc/api/objc/RTCEAGLVideoView.h
@@ -12,10 +12,12 @@
#import <UIKit/UIKit.h>
#import "webrtc/api/objc/RTCVideoRenderer.h"
+#import "webrtc/base/objc/RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
@class RTCEAGLVideoView;
+RTC_EXPORT
@protocol RTCEAGLVideoViewDelegate
- (void)videoView:(RTCEAGLVideoView *)videoView didChangeVideoSize:(CGSize)size;
@@ -26,6 +28,7 @@
* RTCEAGLVideoView is an RTCVideoRenderer which renders video frames in its
* bounds using OpenGLES 2.0.
*/
+RTC_EXPORT
@interface RTCEAGLVideoView : UIView <RTCVideoRenderer>
@property(nonatomic, weak) id<RTCEAGLVideoViewDelegate> delegate;
diff --git a/webrtc/api/objc/RTCIceCandidate.h b/webrtc/api/objc/RTCIceCandidate.h
index e521ae0..c1aa060 100644
--- a/webrtc/api/objc/RTCIceCandidate.h
+++ b/webrtc/api/objc/RTCIceCandidate.h
@@ -10,8 +10,11 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCIceCandidate : NSObject
/**
diff --git a/webrtc/api/objc/RTCIceServer.h b/webrtc/api/objc/RTCIceServer.h
index 487588e..fe9076c 100644
--- a/webrtc/api/objc/RTCIceServer.h
+++ b/webrtc/api/objc/RTCIceServer.h
@@ -10,8 +10,11 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCIceServer : NSObject
/** URI(s) for this server represented as NSStrings. */
diff --git a/webrtc/api/objc/RTCMediaConstraints.h b/webrtc/api/objc/RTCMediaConstraints.h
index a8ad391..d726f7d 100644
--- a/webrtc/api/objc/RTCMediaConstraints.h
+++ b/webrtc/api/objc/RTCMediaConstraints.h
@@ -10,8 +10,11 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCMediaConstraints : NSObject
- (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCMediaStream.h b/webrtc/api/objc/RTCMediaStream.h
index 50ae7df..d5de6d3 100644
--- a/webrtc/api/objc/RTCMediaStream.h
+++ b/webrtc/api/objc/RTCMediaStream.h
@@ -10,12 +10,15 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
@class RTCAudioTrack;
@class RTCPeerConnectionFactory;
@class RTCVideoTrack;
+RTC_EXPORT
@interface RTCMediaStream : NSObject
/** The audio tracks in this stream. */
diff --git a/webrtc/api/objc/RTCMediaStreamTrack.h b/webrtc/api/objc/RTCMediaStreamTrack.h
index b8576bd..5a0dcbf 100644
--- a/webrtc/api/objc/RTCMediaStreamTrack.h
+++ b/webrtc/api/objc/RTCMediaStreamTrack.h
@@ -10,6 +10,8 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
/**
* Represents the state of the track. This exposes the same states in C++.
*/
@@ -20,6 +22,7 @@
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCMediaStreamTrack : NSObject
/**
diff --git a/webrtc/api/objc/RTCOpenGLVideoRenderer.h b/webrtc/api/objc/RTCOpenGLVideoRenderer.h
index 729839c..7a8d3fe 100644
--- a/webrtc/api/objc/RTCOpenGLVideoRenderer.h
+++ b/webrtc/api/objc/RTCOpenGLVideoRenderer.h
@@ -15,6 +15,8 @@
#import <AppKit/NSOpenGL.h>
#endif
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
@class RTCVideoFrame;
@@ -23,6 +25,7 @@
// the currently bound framebuffer. Supports OpenGL 3.2 and OpenGLES 2.0. OpenGL
// framebuffer creation and management should be handled elsewhere using the
// same context used to initialize this class.
+RTC_EXPORT
@interface RTCOpenGLVideoRenderer : NSObject
// The last successfully drawn frame. Used to avoid drawing frames unnecessarily
diff --git a/webrtc/api/objc/RTCPeerConnection.h b/webrtc/api/objc/RTCPeerConnection.h
index 471a8de..5acaa80 100644
--- a/webrtc/api/objc/RTCPeerConnection.h
+++ b/webrtc/api/objc/RTCPeerConnection.h
@@ -10,6 +10,8 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
@class RTCConfiguration;
@class RTCDataChannel;
@class RTCDataChannelConfiguration;
@@ -65,6 +67,7 @@
@class RTCPeerConnection;
+RTC_EXPORT
@protocol RTCPeerConnectionDelegate <NSObject>
/** Called when the SignalingState changed. */
@@ -100,7 +103,7 @@
@end
-
+RTC_EXPORT
@interface RTCPeerConnection : NSObject
/** The object that will be notifed about events such as state changes and
diff --git a/webrtc/api/objc/RTCPeerConnectionFactory.h b/webrtc/api/objc/RTCPeerConnectionFactory.h
index f98a551..2a53cab 100644
--- a/webrtc/api/objc/RTCPeerConnectionFactory.h
+++ b/webrtc/api/objc/RTCPeerConnectionFactory.h
@@ -10,6 +10,8 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
@class RTCAVFoundationVideoSource;
@@ -22,6 +24,7 @@
@class RTCVideoTrack;
@protocol RTCPeerConnectionDelegate;
+RTC_EXPORT
@interface RTCPeerConnectionFactory : NSObject
- (instancetype)init NS_DESIGNATED_INITIALIZER;
diff --git a/webrtc/api/objc/RTCRtpEncodingParameters.h b/webrtc/api/objc/RTCRtpEncodingParameters.h
index 8f7f22e..0fb17b2 100644
--- a/webrtc/api/objc/RTCRtpEncodingParameters.h
+++ b/webrtc/api/objc/RTCRtpEncodingParameters.h
@@ -10,8 +10,11 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCRtpEncodingParameters : NSObject
/** Controls whether the encoding is currently transmitted. */
diff --git a/webrtc/api/objc/RTCRtpParameters.h b/webrtc/api/objc/RTCRtpParameters.h
index d38e9ef..91d8108 100644
--- a/webrtc/api/objc/RTCRtpParameters.h
+++ b/webrtc/api/objc/RTCRtpParameters.h
@@ -11,9 +11,11 @@
#import <Foundation/Foundation.h>
#import "webrtc/api/objc/RTCRtpEncodingParameters.h"
+#import "webrtc/base/objc/RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCRtpParameters : NSObject
/** The currently active encodings in the order of preference. */
diff --git a/webrtc/api/objc/RTCRtpSender.h b/webrtc/api/objc/RTCRtpSender.h
index 20d1db9..34a3d6c 100644
--- a/webrtc/api/objc/RTCRtpSender.h
+++ b/webrtc/api/objc/RTCRtpSender.h
@@ -12,9 +12,11 @@
#import "webrtc/api/objc/RTCMediaStreamTrack.h"
#import "webrtc/api/objc/RTCRtpParameters.h"
+#import "webrtc/base/objc/RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@protocol RTCRtpSender <NSObject>
/** The currently active RTCRtpParameters, as defined in
@@ -36,6 +38,7 @@
@end
+RTC_EXPORT
@interface RTCRtpSender : NSObject <RTCRtpSender>
- (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCSessionDescription.h b/webrtc/api/objc/RTCSessionDescription.h
index 2635633..de927cf 100644
--- a/webrtc/api/objc/RTCSessionDescription.h
+++ b/webrtc/api/objc/RTCSessionDescription.h
@@ -10,6 +10,8 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
/**
* Represents the session description type. This exposes the same types that are
* in C++, which doesn't include the rollback type that is in the W3C spec.
@@ -22,6 +24,7 @@
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCSessionDescription : NSObject
/** The type of session description. */
diff --git a/webrtc/api/objc/RTCStatsReport.h b/webrtc/api/objc/RTCStatsReport.h
index f3f8907..de80dc3 100644
--- a/webrtc/api/objc/RTCStatsReport.h
+++ b/webrtc/api/objc/RTCStatsReport.h
@@ -10,9 +10,12 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
/** This does not currently conform to the spec. */
+RTC_EXPORT
@interface RTCStatsReport : NSObject
/** Time since 1970-01-01T00:00:00Z in milliseconds. */
diff --git a/webrtc/api/objc/RTCVideoFrame.h b/webrtc/api/objc/RTCVideoFrame.h
index b44bf73..e76a9b3 100644
--- a/webrtc/api/objc/RTCVideoFrame.h
+++ b/webrtc/api/objc/RTCVideoFrame.h
@@ -11,9 +11,12 @@
#import <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
// RTCVideoFrame is an ObjectiveC version of cricket::VideoFrame.
+RTC_EXPORT
@interface RTCVideoFrame : NSObject
/** Width without rotation applied. */
diff --git a/webrtc/api/objc/RTCVideoRenderer.h b/webrtc/api/objc/RTCVideoRenderer.h
index 2fe4efb..41c3e37 100644
--- a/webrtc/api/objc/RTCVideoRenderer.h
+++ b/webrtc/api/objc/RTCVideoRenderer.h
@@ -13,10 +13,13 @@
#import <UIKit/UIKit.h>
#endif
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
@class RTCVideoFrame;
+RTC_EXPORT
@protocol RTCVideoRenderer <NSObject>
/** The size of the frame. */
diff --git a/webrtc/api/objc/RTCVideoSource.h b/webrtc/api/objc/RTCVideoSource.h
index a98fa6c..0269744 100644
--- a/webrtc/api/objc/RTCVideoSource.h
+++ b/webrtc/api/objc/RTCVideoSource.h
@@ -10,6 +10,8 @@
#import <Foundation/Foundation.h>
+#import "webrtc/base/objc/RTCMacros.h"
+
typedef NS_ENUM(NSInteger, RTCSourceState) {
RTCSourceStateInitializing,
RTCSourceStateLive,
@@ -19,6 +21,7 @@
NS_ASSUME_NONNULL_BEGIN
+RTC_EXPORT
@interface RTCVideoSource : NSObject
/** The current state of the RTCVideoSource. */
diff --git a/webrtc/api/objc/RTCVideoTrack.h b/webrtc/api/objc/RTCVideoTrack.h
index a7b6f0c..ff4196e 100644
--- a/webrtc/api/objc/RTCVideoTrack.h
+++ b/webrtc/api/objc/RTCVideoTrack.h
@@ -10,12 +10,15 @@
#import "webrtc/api/objc/RTCMediaStreamTrack.h"
+#import "webrtc/base/objc/RTCMacros.h"
+
NS_ASSUME_NONNULL_BEGIN
@protocol RTCVideoRenderer;
@class RTCPeerConnectionFactory;
@class RTCVideoSource;
+RTC_EXPORT
@interface RTCVideoTrack : RTCMediaStreamTrack
/** The video source for this video track. */