Bug 1053792 - Fix some bad implicit constructors in the mtransport code; r=jesup

This commit is contained in:
Ehsan Akhgari 2014-08-15 17:41:29 -04:00
Родитель 53911e168c
Коммит 9647357b1f
9 изменённых файлов: 19 добавлений и 10 удалений

Просмотреть файл

@ -202,7 +202,7 @@ public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIUDPSOCKETINTERNAL
NrSocketIpc(const nsCOMPtr<nsIEventTarget> &main_thread);
explicit NrSocketIpc(const nsCOMPtr<nsIEventTarget> &main_thread);
// Implementations of the NrSocketBase APIs
virtual int create(nr_transport_addr *addr);

Просмотреть файл

@ -93,7 +93,7 @@ extern const char kNrIceTransportTcp[];
class NrIceStunServer {
public:
NrIceStunServer(const PRNetAddr& addr) : has_addr_(true) {
explicit NrIceStunServer(const PRNetAddr& addr) : has_addr_(true) {
memcpy(&addr_, &addr, sizeof(addr));
}

Просмотреть файл

@ -7,6 +7,11 @@ boilerplate = "/* This Source Code Form is subject to the terms of the Mozilla P
* License, v. 2.0. If a copy of the MPL was not distributed with this\n\
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n"
def get_args_count(args, member):
if member:
return args + 2
return args + 1
def gen_args_type(args, member):
if member:
ret = ["C o"]
@ -98,7 +103,10 @@ def generate_class_template(args, ret = False, member = True):
print " public:"
if not ret:
print " %s(" % class_name + gen_args_type(args, member) + ") :"
explicit = ""
if get_args_count(args, member) == 1:
explicit = "explicit "
print " %s%s(" % (explicit, class_name) + gen_args_type(args, member) + ") :"
print " " + gen_init(args, False, member) + " {}"
else:
print " %s(" % class_name + gen_args_type(args, member) + ", R *r) :"

Просмотреть файл

@ -6,7 +6,7 @@
// 0 arguments --
template<typename M> class runnable_args_nm_0 : public detail::runnable_args_base<detail::NoResult> {
public:
runnable_args_nm_0(M m) :
explicit runnable_args_nm_0(M m) :
m_(m) {}
NS_IMETHOD Run() {

Просмотреть файл

@ -307,7 +307,7 @@ namespace sigslot {
public:
mt_policy *m_mutex;
lock_block(mt_policy *mtx)
explicit lock_block(mt_policy *mtx)
: m_mutex(mtx)
{
m_mutex->lock();

Просмотреть файл

@ -10,6 +10,7 @@ extern "C" {
#include "stun.h"
}
#include "mozilla/Attributes.h"
#include "mozilla/net/DNS.h"
#include "stun_udp_socket_filter.h"
#include "nr_socket_prsock.h"
@ -18,7 +19,7 @@ namespace {
class NetAddressAdapter {
public:
NetAddressAdapter(const mozilla::net::NetAddr& netaddr)
MOZ_IMPLICIT NetAddressAdapter(const mozilla::net::NetAddr& netaddr)
: addr_(ntohl(netaddr.inet.ip)),
port_(ntohs(netaddr.inet.port)) {
MOZ_ASSERT(netaddr.raw.family == AF_INET);
@ -44,7 +45,7 @@ class PendingSTUNRequest {
net_addr_(netaddr),
is_id_set_(true) {}
PendingSTUNRequest(const NetAddressAdapter& netaddr)
MOZ_IMPLICIT PendingSTUNRequest(const NetAddressAdapter& netaddr)
: id_(),
net_addr_(netaddr),
is_id_set_(false) {}

Просмотреть файл

@ -56,7 +56,7 @@ class TransportFlow : public nsISupports,
: id_("(anonymous)"),
state_(TransportLayer::TS_NONE),
layers_(new std::deque<TransportLayer *>) {}
TransportFlow(const std::string id)
explicit TransportFlow(const std::string id)
: id_(id),
state_(TransportLayer::TS_NONE),
layers_(new std::deque<TransportLayer *>) {}

Просмотреть файл

@ -30,7 +30,7 @@ struct Packet;
class TransportLayerNSPRAdapter {
public:
TransportLayerNSPRAdapter(TransportLayer *output) :
explicit TransportLayerNSPRAdapter(TransportLayer *output) :
output_(output),
input_() {}

Просмотреть файл

@ -107,7 +107,7 @@ class TransportLayerLoopback : public TransportLayer {
// Fires every 100 ms
class Deliverer : public nsITimerCallback {
public:
Deliverer(TransportLayerLoopback *layer) :
explicit Deliverer(TransportLayerLoopback *layer) :
layer_(layer) {}
void Detach() {
layer_ = nullptr;