Consolidate constructormagic macros with Chromium version and remove Chromium override.

Part of work removing dependency on Chromium's base.

Only adds "= delete". From https://codereview.chromium.org/1151443003 :
"This will guarantee the error to be at compile time, and not rely on the call visibility (private)."

In consequence of that change, fixed an illegal copy and removed a bunch of unused variables.

Depends on https://codereview.webrtc.org/1345433002/

BUG=chromium:468375
(in particular comment #37)
NOTRY=true

Review URL: https://codereview.webrtc.org/1342543004

Cr-Commit-Position: refs/heads/master@{#9954}
This commit is contained in:
henrikg
2015-09-16 06:33:20 -07:00
committed by Commit bot
parent 3c089d751e
commit 384194369b
14 changed files with 16 additions and 55 deletions

View File

@ -318,8 +318,6 @@ class FrameInputWrapper : public cricket::VideoRenderer {
private: private:
cricket::VideoCapturer* capturer_; cricket::VideoCapturer* capturer_;
int width_;
int height_;
RTC_DISALLOW_COPY_AND_ASSIGN(FrameInputWrapper); RTC_DISALLOW_COPY_AND_ASSIGN(FrameInputWrapper);
}; };

View File

@ -49,6 +49,7 @@
#include <vector> #include <vector>
#include "webrtc/base/basictypes.h" #include "webrtc/base/basictypes.h"
#include "webrtc/base/constructormagic.h"
namespace cricket { namespace cricket {

View File

@ -11,23 +11,24 @@
#ifndef WEBRTC_BASE_CONSTRUCTORMAGIC_H_ #ifndef WEBRTC_BASE_CONSTRUCTORMAGIC_H_
#define WEBRTC_BASE_CONSTRUCTORMAGIC_H_ #define WEBRTC_BASE_CONSTRUCTORMAGIC_H_
// Put this in the declarations for a class to be unassignable.
#define RTC_DISALLOW_ASSIGN(TypeName) \ #define RTC_DISALLOW_ASSIGN(TypeName) \
void operator=(const TypeName&) void operator=(const TypeName&) = delete
// A macro to disallow the evil copy constructor and operator= functions // A macro to disallow the copy constructor and operator= functions. This should
// This should be used in the private: declarations for a class. // be used in the declarations for a class.
#define RTC_DISALLOW_COPY_AND_ASSIGN(TypeName) \ #define RTC_DISALLOW_COPY_AND_ASSIGN(TypeName) \
TypeName(const TypeName&); \ TypeName(const TypeName&) = delete; \
RTC_DISALLOW_ASSIGN(TypeName) RTC_DISALLOW_ASSIGN(TypeName)
// A macro to disallow all the implicit constructors, namely the // A macro to disallow all the implicit constructors, namely the default
// default constructor, copy constructor and operator= functions. // constructor, copy constructor and operator= functions.
// //
// This should be used in the private: declarations for a class // This should be used in the declarations for a class that wants to prevent
// that wants to prevent anyone from instantiating it. This is // anyone from instantiating it. This is especially useful for classes
// especially useful for classes containing only static methods. // containing only static methods.
#define RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ #define RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
TypeName(); \ TypeName() = delete; \
RTC_DISALLOW_COPY_AND_ASSIGN(TypeName) RTC_DISALLOW_COPY_AND_ASSIGN(TypeName)
#endif // WEBRTC_BASE_CONSTRUCTORMAGIC_H_ #endif // WEBRTC_BASE_CONSTRUCTORMAGIC_H_

View File

@ -206,8 +206,7 @@ LogMessage::~LogMessage() {
} }
uint32 delay = TimeSince(before); uint32 delay = TimeSince(before);
if (delay >= warn_slow_logs_delay_) { if (delay >= warn_slow_logs_delay_) {
LogMessage slow_log_warning = rtc::LogMessage slow_log_warning(__FILE__, __LINE__, LS_WARNING);
rtc::LogMessage(__FILE__, __LINE__, LS_WARNING);
// If our warning is slow, we don't want to warn about it, because // If our warning is slow, we don't want to warn about it, because
// that would lead to inifinite recursion. So, give a really big // that would lead to inifinite recursion. So, give a really big
// number for the delay threshold. // number for the delay threshold.

View File

@ -109,7 +109,6 @@ class NATServer : public sigslot::has_slots<> {
bool ShouldFilterOut(TransEntry* entry, const SocketAddress& ext_addr); bool ShouldFilterOut(TransEntry* entry, const SocketAddress& ext_addr);
NAT* nat_; NAT* nat_;
SocketFactory* internal_;
SocketFactory* external_; SocketFactory* external_;
SocketAddress external_ip_; SocketAddress external_ip_;
AsyncUDPSocket* udp_server_socket_; AsyncUDPSocket* udp_server_socket_;

View File

@ -26,6 +26,7 @@
#endif #endif
#include "webrtc/base/basictypes.h" #include "webrtc/base/basictypes.h"
#include "webrtc/base/constructormagic.h"
#include "webrtc/base/socketaddress.h" #include "webrtc/base/socketaddress.h"
// Rather than converting errors into a private namespace, // Rather than converting errors into a private namespace,

View File

@ -98,7 +98,6 @@ VirtualSocket::VirtualSocket(VirtualSocketServer* server,
int type, int type,
bool async) bool async)
: server_(server), : server_(server),
family_(family),
type_(type), type_(type),
async_(async), async_(async),
state_(CS_CLOSED), state_(CS_CLOSED),

View File

@ -306,7 +306,6 @@ class VirtualSocket : public AsyncSocket, public MessageHandler {
void SetLocalAddress(const SocketAddress& addr); void SetLocalAddress(const SocketAddress& addr);
VirtualSocketServer* server_; VirtualSocketServer* server_;
int family_;
int type_; int type_;
bool async_; bool async_;
ConnState state_; ConnState state_;

View File

@ -719,8 +719,7 @@ VideoSource::VideoSource(int flow_id,
next_frame_ms_(first_frame_offset_ms), next_frame_ms_(first_frame_offset_ms),
next_frame_rand_ms_(0), next_frame_rand_ms_(0),
now_ms_(0), now_ms_(0),
prototype_header_(), prototype_header_() {
start_plotting_ms_(first_frame_offset_ms) {
memset(&prototype_header_, 0, sizeof(prototype_header_)); memset(&prototype_header_, 0, sizeof(prototype_header_));
prototype_header_.ssrc = ssrc; prototype_header_.ssrc = ssrc;
prototype_header_.sequenceNumber = 0xf000u; prototype_header_.sequenceNumber = 0xf000u;

View File

@ -370,7 +370,6 @@ class ChokeFilter : public PacketProcessor {
uint32_t capacity_kbps_; uint32_t capacity_kbps_;
int64_t last_send_time_us_; int64_t last_send_time_us_;
rtc::scoped_ptr<DelayCapHelper> delay_cap_helper_; rtc::scoped_ptr<DelayCapHelper> delay_cap_helper_;
int64_t max_delay_us_;
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ChokeFilter); RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ChokeFilter);
}; };
@ -447,8 +446,6 @@ class VideoSource {
int64_t next_frame_rand_ms_; int64_t next_frame_rand_ms_;
int64_t now_ms_; int64_t now_ms_;
RTPHeader prototype_header_; RTPHeader prototype_header_;
int64_t start_plotting_ms_;
uint32_t previous_bitrate_bps_;
RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(VideoSource); RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(VideoSource);
}; };

View File

@ -153,8 +153,7 @@ RtpPacketizerH264::RtpPacketizerH264(FrameType frame_type,
size_t max_payload_len) size_t max_payload_len)
: payload_data_(NULL), : payload_data_(NULL),
payload_size_(0), payload_size_(0),
max_payload_len_(max_payload_len), max_payload_len_(max_payload_len) {
frame_type_(frame_type) {
} }
RtpPacketizerH264::~RtpPacketizerH264() { RtpPacketizerH264::~RtpPacketizerH264() {

View File

@ -84,7 +84,6 @@ class RtpPacketizerH264 : public RtpPacketizer {
const size_t max_payload_len_; const size_t max_payload_len_;
RTPFragmentationHeader fragmentation_; RTPFragmentationHeader fragmentation_;
PacketQueue packets_; PacketQueue packets_;
FrameType frame_type_;
RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerH264); RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerH264);
}; };

View File

@ -61,7 +61,6 @@ class FileOutputFrameReceiver : public webrtc::VCMReceiveCallback {
private: private:
std::string out_filename_; std::string out_filename_;
uint32_t ssrc_;
FILE* out_file_; FILE* out_file_;
FILE* timing_file_; FILE* timing_file_;
int width_; int width_;

View File

@ -1,29 +0,0 @@
/*
* Copyright 2009 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
// This file overrides the inclusion of webrtc/base/constructormagic.h
// We do this because constructor magic defines RTC_DISALLOW_COPY_AND_ASSIGN,
// but we want to use the version from Chromium.
#ifndef OVERRIDES_WEBRTC_BASE_CONSTRUCTORMAGIC_H__
#define OVERRIDES_WEBRTC_BASE_CONSTRUCTORMAGIC_H__
#include "base/macros.h"
#define RTC_DISALLOW_ASSIGN(TypeName) \
DISALLOW_ASSIGN(TypeName)
#define RTC_DISALLOW_COPY_AND_ASSIGN(TypeName) \
DISALLOW_COPY_AND_ASSIGN(TypeName)
#define RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
#endif // OVERRIDES_WEBRTC_BASE_CONSTRUCTORMAGIC_H__