Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.
BUG=webrtc:5520
Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
index cdc7e98..9948615 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
@@ -12,7 +12,7 @@
#import "NSString+StdString.h"
-#include "webrtc/base/scoped_ptr.h"
+#include <memory>
namespace webrtc {
@@ -46,7 +46,7 @@
@implementation RTCDataBuffer {
- rtc::scoped_ptr<webrtc::DataBuffer> _dataBuffer;
+ std::unique_ptr<webrtc::DataBuffer> _dataBuffer;
}
- (instancetype)initWithData:(NSData *)data isBinary:(BOOL)isBinary {
@@ -86,7 +86,7 @@
@implementation RTCDataChannel {
rtc::scoped_refptr<webrtc::DataChannelInterface> _nativeDataChannel;
- rtc::scoped_ptr<webrtc::DataChannelDelegateAdapter> _observer;
+ std::unique_ptr<webrtc::DataChannelDelegateAdapter> _observer;
BOOL _isObserverRegistered;
}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
index 73335f3..c1fbd74 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
@@ -10,11 +10,12 @@
#import "WebRTC/RTCFileLogger.h"
+#include <memory>
+
#include "webrtc/base/checks.h"
#include "webrtc/base/filerotatingstream.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/logsinks.h"
-#include "webrtc/base/scoped_ptr.h"
NSString *const kDefaultLogDirName = @"webrtc_logs";
NSUInteger const kDefaultMaxFileSize = 10 * 1024 * 1024; // 10MB.
@@ -24,7 +25,7 @@
BOOL _hasStarted;
NSString *_dirPath;
NSUInteger _maxFileSize;
- rtc::scoped_ptr<rtc::FileRotatingLogSink> _logSink;
+ std::unique_ptr<rtc::FileRotatingLogSink> _logSink;
}
@synthesize severity = _severity;
@@ -129,7 +130,7 @@
return nil;
}
NSMutableData* logData = [NSMutableData data];
- rtc::scoped_ptr<rtc::FileRotatingStream> stream;
+ std::unique_ptr<rtc::FileRotatingStream> stream;
switch(_rotationType) {
case RTCFileLoggerTypeApp:
stream.reset(
@@ -150,7 +151,7 @@
size_t read = 0;
// Allocate memory using malloc so we can pass it direcly to NSData without
// copying.
- rtc::scoped_ptr<uint8_t[]> buffer(static_cast<uint8_t*>(malloc(bufferSize)));
+ std::unique_ptr<uint8_t[]> buffer(static_cast<uint8_t*>(malloc(bufferSize)));
stream->ReadAll(buffer.get(), bufferSize, &read, nullptr);
logData = [[NSMutableData alloc] initWithBytesNoCopy:buffer.release()
length:read];
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
index ba3ffb6..04858cf 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
@@ -10,6 +10,8 @@
#import "WebRTC/RTCIceCandidate.h"
+#include <memory>
+
#include "webrtc/api/jsep.h"
#include "webrtc/base/scoped_ptr.h"
@@ -22,7 +24,7 @@
* object. This is needed to pass to the underlying C++ APIs.
*/
@property(nonatomic, readonly)
- rtc::scoped_ptr<webrtc::IceCandidateInterface> nativeCandidate;
+ std::unique_ptr<webrtc::IceCandidateInterface> nativeCandidate;
/**
* Initialize an RTCIceCandidate from a native IceCandidateInterface. No
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
index 7b1e655..193403d 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
@@ -10,6 +10,8 @@
#import "RTCIceCandidate+Private.h"
+#include <memory>
+
#import "NSString+StdString.h"
#import "WebRTC/RTCLogging.h"
@@ -51,7 +53,7 @@
sdpMid:[NSString stringForStdString:candidate->sdp_mid()]];
}
-- (rtc::scoped_ptr<webrtc::IceCandidateInterface>)nativeCandidate {
+- (std::unique_ptr<webrtc::IceCandidateInterface>)nativeCandidate {
webrtc::SdpParseError error;
webrtc::IceCandidateInterface *candidate = webrtc::CreateIceCandidate(
@@ -63,7 +65,7 @@
error.line.c_str());
}
- return rtc::scoped_ptr<webrtc::IceCandidateInterface>(candidate);
+ return std::unique_ptr<webrtc::IceCandidateInterface>(candidate);
}
@end
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
index 3662c44..6ad3b6d 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
@@ -10,6 +10,8 @@
#import "WebRTC/RTCMediaConstraints.h"
+#include <memory>
+
#include "webrtc/api/mediaconstraintsinterface.h"
#include "webrtc/base/scoped_ptr.h"
@@ -41,7 +43,7 @@
* A MediaConstraints representation of this RTCMediaConstraints object. This is
* needed to pass to the underlying C++ APIs.
*/
-- (rtc::scoped_ptr<webrtc::MediaConstraints>)nativeConstraints;
+- (std::unique_ptr<webrtc::MediaConstraints>)nativeConstraints;
/** Return a native Constraints object representing these constraints */
+ (webrtc::MediaConstraintsInterface::Constraints)
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
index 7a7cdf1..11be2ec 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
@@ -12,6 +12,8 @@
#import "NSString+StdString.h"
+#include <memory>
+
namespace webrtc {
MediaConstraints::~MediaConstraints() {}
@@ -62,7 +64,7 @@
#pragma mark - Private
-- (rtc::scoped_ptr<webrtc::MediaConstraints>)nativeConstraints {
+- (std::unique_ptr<webrtc::MediaConstraints>)nativeConstraints {
webrtc::MediaConstraintsInterface::Constraints mandatory =
[[self class] nativeConstraintsForConstraints:_mandatory];
webrtc::MediaConstraintsInterface::Constraints optional =
@@ -70,7 +72,7 @@
webrtc::MediaConstraints *nativeConstraints =
new webrtc::MediaConstraints(mandatory, optional);
- return rtc::scoped_ptr<webrtc::MediaConstraints>(nativeConstraints);
+ return std::unique_ptr<webrtc::MediaConstraints>(nativeConstraints);
}
+ (webrtc::MediaConstraintsInterface::Constraints)
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
index ab45ca4..7d7b416 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
@@ -16,10 +16,10 @@
#import <OpenGL/gl3.h>
#endif
#include <string.h>
+#include <memory>
#import "WebRTC/RTCVideoFrame.h"
-#include "webrtc/base/scoped_ptr.h"
// TODO(tkchin): check and log openGL errors. Methods here return BOOLs in
// anticipation of that happening in the future.
@@ -162,7 +162,7 @@
GLint _vSampler;
// Used to create a non-padded plane for GPU upload when we receive padded
// frames.
- rtc::scoped_ptr<uint8_t[]> _planeBuffer;
+ std::unique_ptr<uint8_t[]> _planeBuffer;
}
@synthesize lastDrawnFrame = _lastDrawnFrame;
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
index 46ea52a..3b7632c 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
@@ -22,6 +22,8 @@
#import "RTCStatsReport+Private.h"
#import "WebRTC/RTCLogging.h"
+#include <memory>
+
#include "webrtc/base/checks.h"
NSString * const kRTCPeerConnectionErrorDomain =
@@ -45,8 +47,8 @@
void OnSuccess(SessionDescriptionInterface *desc) override {
RTC_DCHECK(completion_handler_);
- rtc::scoped_ptr<webrtc::SessionDescriptionInterface> description =
- rtc::scoped_ptr<webrtc::SessionDescriptionInterface>(desc);
+ std::unique_ptr<webrtc::SessionDescriptionInterface> description =
+ std::unique_ptr<webrtc::SessionDescriptionInterface>(desc);
RTCSessionDescription* session =
[[RTCSessionDescription alloc] initWithNativeDescription:
description.get()];
@@ -184,7 +186,7 @@
@implementation RTCPeerConnection {
NSMutableArray *_localStreams;
- rtc::scoped_ptr<webrtc::PeerConnectionDelegateAdapter> _observer;
+ std::unique_ptr<webrtc::PeerConnectionDelegateAdapter> _observer;
rtc::scoped_refptr<webrtc::PeerConnectionInterface> _peerConnection;
}
@@ -199,7 +201,7 @@
_observer.reset(new webrtc::PeerConnectionDelegateAdapter(self));
webrtc::PeerConnectionInterface::RTCConfiguration config =
configuration.nativeConfiguration;
- rtc::scoped_ptr<webrtc::MediaConstraints> nativeConstraints =
+ std::unique_ptr<webrtc::MediaConstraints> nativeConstraints =
constraints.nativeConstraints;
_peerConnection =
factory.nativeFactory->CreatePeerConnection(config,
@@ -257,7 +259,7 @@
}
- (void)addIceCandidate:(RTCIceCandidate *)candidate {
- rtc::scoped_ptr<const webrtc::IceCandidateInterface> iceCandidate(
+ std::unique_ptr<const webrtc::IceCandidateInterface> iceCandidate(
candidate.nativeCandidate);
_peerConnection->AddIceCandidate(iceCandidate.get());
}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
index 04aa121..82d7707 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
@@ -20,9 +20,11 @@
#import "RTCVideoSource+Private.h"
#import "RTCVideoTrack+Private.h"
+#include <memory>
+
@implementation RTCPeerConnectionFactory {
- rtc::scoped_ptr<rtc::Thread> _signalingThread;
- rtc::scoped_ptr<rtc::Thread> _workerThread;
+ std::unique_ptr<rtc::Thread> _signalingThread;
+ std::unique_ptr<rtc::Thread> _workerThread;
}
@synthesize nativeFactory = _nativeFactory;
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
index 8a99d4e..1fb2695 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
@@ -10,10 +10,10 @@
#import "RTCVideoFrame+Private.h"
-#include "webrtc/base/scoped_ptr.h"
+#include <memory>
@implementation RTCVideoFrame {
- rtc::scoped_ptr<cricket::VideoFrame> _videoFrame;
+ std::unique_ptr<cricket::VideoFrame> _videoFrame;
rtc::scoped_refptr<webrtc::VideoFrameBuffer> _i420Buffer;
}
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
index 1d64cd8..4976ba9 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
@@ -12,6 +12,8 @@
#import "RTCVideoFrame+Private.h"
+#include <memory>
+
#include "webrtc/media/engine/webrtcvideoframe.h"
namespace webrtc {
@@ -60,7 +62,7 @@
}
@implementation RTCVideoRendererAdapter {
- rtc::scoped_ptr<webrtc::VideoRendererAdapter> _adapter;
+ std::unique_ptr<webrtc::VideoRendererAdapter> _adapter;
}
@synthesize videoRenderer = _videoRenderer;