Fix clang style warnings in p2p/base/{session,transport}description
Bug: webrtc:163
Change-Id: Id876608c1a20bde49f0f7d1eda1b38dcb647bf3f
Reviewed-on: https://webrtc-review.googlesource.com/17004
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20507}
diff --git a/p2p/base/sessiondescription.cc b/p2p/base/sessiondescription.cc
index 26989c0..afe9a9a 100644
--- a/p2p/base/sessiondescription.cc
+++ b/p2p/base/sessiondescription.cc
@@ -45,6 +45,15 @@
return NULL;
}
+ContentGroup::ContentGroup(const std::string& semantics)
+ : semantics_(semantics) {}
+
+ContentGroup::ContentGroup(const ContentGroup&) = default;
+ContentGroup::ContentGroup(ContentGroup&&) = default;
+ContentGroup& ContentGroup::operator=(const ContentGroup&) = default;
+ContentGroup& ContentGroup::operator=(ContentGroup&&) = default;
+ContentGroup::~ContentGroup() = default;
+
const std::string* ContentGroup::FirstContentName() const {
return (!content_names_.empty()) ? &(*content_names_.begin()) : NULL;
}
@@ -70,6 +79,31 @@
return true;
}
+SessionDescription::SessionDescription() = default;
+
+SessionDescription::SessionDescription(const ContentInfos& contents)
+ : contents_(contents) {}
+
+SessionDescription::SessionDescription(const ContentInfos& contents,
+ const ContentGroups& groups)
+ : contents_(contents), content_groups_(groups) {}
+
+SessionDescription::SessionDescription(const ContentInfos& contents,
+ const TransportInfos& transports,
+ const ContentGroups& groups)
+ : contents_(contents),
+ transport_infos_(transports),
+ content_groups_(groups) {}
+
+SessionDescription::SessionDescription(const SessionDescription&) = default;
+
+SessionDescription::~SessionDescription() {
+ for (ContentInfos::iterator content = contents_.begin();
+ content != contents_.end(); ++content) {
+ delete content->description;
+ }
+}
+
SessionDescription* SessionDescription::Copy() const {
SessionDescription* copy = new SessionDescription(*this);
// Copy all ContentDescriptions.
diff --git a/p2p/base/sessiondescription.h b/p2p/base/sessiondescription.h
index d1b11cf..565722c 100644
--- a/p2p/base/sessiondescription.h
+++ b/p2p/base/sessiondescription.h
@@ -67,8 +67,12 @@
// MediaDescription.
class ContentGroup {
public:
- explicit ContentGroup(const std::string& semantics) :
- semantics_(semantics) {}
+ explicit ContentGroup(const std::string& semantics);
+ ContentGroup(const ContentGroup&);
+ ContentGroup(ContentGroup&&);
+ ContentGroup& operator=(const ContentGroup&);
+ ContentGroup& operator=(ContentGroup&&);
+ ~ContentGroup();
const std::string& semantics() const { return semantics_; }
const ContentNames& content_names() const { return content_names_; }
@@ -96,25 +100,13 @@
// contents are unique be name, but doesn't enforce that.
class SessionDescription {
public:
- SessionDescription() {}
- explicit SessionDescription(const ContentInfos& contents) :
- contents_(contents) {}
- SessionDescription(const ContentInfos& contents,
- const ContentGroups& groups) :
- contents_(contents),
- content_groups_(groups) {}
+ SessionDescription();
+ explicit SessionDescription(const ContentInfos& contents);
+ SessionDescription(const ContentInfos& contents, const ContentGroups& groups);
SessionDescription(const ContentInfos& contents,
const TransportInfos& transports,
- const ContentGroups& groups) :
- contents_(contents),
- transport_infos_(transports),
- content_groups_(groups) {}
- ~SessionDescription() {
- for (ContentInfos::iterator content = contents_.begin();
- content != contents_.end(); ++content) {
- delete content->description;
- }
- }
+ const ContentGroups& groups);
+ ~SessionDescription();
SessionDescription* Copy() const;
@@ -181,6 +173,8 @@
bool msid_supported() const { return msid_supported_; }
private:
+ SessionDescription(const SessionDescription&);
+
ContentInfos contents_;
TransportInfos transport_infos_;
ContentGroups content_groups_;
diff --git a/p2p/base/transportdescription.cc b/p2p/base/transportdescription.cc
index 7dd780c..9cbf383 100644
--- a/p2p/base/transportdescription.cc
+++ b/p2p/base/transportdescription.cc
@@ -53,4 +53,54 @@
return true;
}
+TransportDescription::TransportDescription()
+ : ice_mode(ICEMODE_FULL), connection_role(CONNECTIONROLE_NONE) {}
+
+TransportDescription::TransportDescription(
+ const std::vector<std::string>& transport_options,
+ const std::string& ice_ufrag,
+ const std::string& ice_pwd,
+ IceMode ice_mode,
+ ConnectionRole role,
+ const rtc::SSLFingerprint* identity_fingerprint)
+ : transport_options(transport_options),
+ ice_ufrag(ice_ufrag),
+ ice_pwd(ice_pwd),
+ ice_mode(ice_mode),
+ connection_role(role),
+ identity_fingerprint(CopyFingerprint(identity_fingerprint)) {}
+
+TransportDescription::TransportDescription(const std::string& ice_ufrag,
+ const std::string& ice_pwd)
+ : ice_ufrag(ice_ufrag),
+ ice_pwd(ice_pwd),
+ ice_mode(ICEMODE_FULL),
+ connection_role(CONNECTIONROLE_NONE) {}
+
+TransportDescription::TransportDescription(const TransportDescription& from)
+ : transport_options(from.transport_options),
+ ice_ufrag(from.ice_ufrag),
+ ice_pwd(from.ice_pwd),
+ ice_mode(from.ice_mode),
+ connection_role(from.connection_role),
+ identity_fingerprint(CopyFingerprint(from.identity_fingerprint.get())) {}
+
+TransportDescription::~TransportDescription() = default;
+
+TransportDescription& TransportDescription::operator=(
+ const TransportDescription& from) {
+ // Self-assignment
+ if (this == &from)
+ return *this;
+
+ transport_options = from.transport_options;
+ ice_ufrag = from.ice_ufrag;
+ ice_pwd = from.ice_pwd;
+ ice_mode = from.ice_mode;
+ connection_role = from.connection_role;
+
+ identity_fingerprint.reset(CopyFingerprint(from.identity_fingerprint.get()));
+ return *this;
+}
+
} // namespace cricket
diff --git a/p2p/base/transportdescription.h b/p2p/base/transportdescription.h
index 278c9d1..664b7d3 100644
--- a/p2p/base/transportdescription.h
+++ b/p2p/base/transportdescription.h
@@ -87,59 +87,26 @@
extern const char CONNECTIONROLE_ACTPASS_STR[];
extern const char CONNECTIONROLE_HOLDCONN_STR[];
-constexpr auto ICE_OPTION_TRICKLE = "trickle";
-constexpr auto ICE_OPTION_RENOMINATION = "renomination";
+constexpr auto* ICE_OPTION_TRICKLE = "trickle";
+constexpr auto* ICE_OPTION_RENOMINATION = "renomination";
bool StringToConnectionRole(const std::string& role_str, ConnectionRole* role);
bool ConnectionRoleToString(const ConnectionRole& role, std::string* role_str);
struct TransportDescription {
- TransportDescription()
- : ice_mode(ICEMODE_FULL),
- connection_role(CONNECTIONROLE_NONE) {}
-
+ TransportDescription();
TransportDescription(const std::vector<std::string>& transport_options,
const std::string& ice_ufrag,
const std::string& ice_pwd,
IceMode ice_mode,
ConnectionRole role,
- const rtc::SSLFingerprint* identity_fingerprint)
- : transport_options(transport_options),
- ice_ufrag(ice_ufrag),
- ice_pwd(ice_pwd),
- ice_mode(ice_mode),
- connection_role(role),
- identity_fingerprint(CopyFingerprint(identity_fingerprint)) {}
+ const rtc::SSLFingerprint* identity_fingerprint);
TransportDescription(const std::string& ice_ufrag,
- const std::string& ice_pwd)
- : ice_ufrag(ice_ufrag),
- ice_pwd(ice_pwd),
- ice_mode(ICEMODE_FULL),
- connection_role(CONNECTIONROLE_NONE) {}
- TransportDescription(const TransportDescription& from)
- : transport_options(from.transport_options),
- ice_ufrag(from.ice_ufrag),
- ice_pwd(from.ice_pwd),
- ice_mode(from.ice_mode),
- connection_role(from.connection_role),
- identity_fingerprint(CopyFingerprint(from.identity_fingerprint.get())) {
- }
+ const std::string& ice_pwd);
+ TransportDescription(const TransportDescription& from);
+ ~TransportDescription();
- TransportDescription& operator=(const TransportDescription& from) {
- // Self-assignment
- if (this == &from)
- return *this;
-
- transport_options = from.transport_options;
- ice_ufrag = from.ice_ufrag;
- ice_pwd = from.ice_pwd;
- ice_mode = from.ice_mode;
- connection_role = from.connection_role;
-
- identity_fingerprint.reset(CopyFingerprint(
- from.identity_fingerprint.get()));
- return *this;
- }
+ TransportDescription& operator=(const TransportDescription& from);
// TODO(deadbeef): Rename to HasIceOption, etc.
bool HasOption(const std::string& option) const {
diff --git a/p2p/base/transportdescriptionfactory.cc b/p2p/base/transportdescriptionfactory.cc
index 69663c4..8ccb4b6 100644
--- a/p2p/base/transportdescriptionfactory.cc
+++ b/p2p/base/transportdescriptionfactory.cc
@@ -24,6 +24,8 @@
: secure_(SEC_DISABLED) {
}
+TransportDescriptionFactory::~TransportDescriptionFactory() = default;
+
TransportDescription* TransportDescriptionFactory::CreateOffer(
const TransportOptions& options,
const TransportDescription* current_description) const {
diff --git a/p2p/base/transportdescriptionfactory.h b/p2p/base/transportdescriptionfactory.h
index 7f020e0..f8b031a 100644
--- a/p2p/base/transportdescriptionfactory.h
+++ b/p2p/base/transportdescriptionfactory.h
@@ -35,6 +35,8 @@
public:
// Default ctor; use methods below to set configuration.
TransportDescriptionFactory();
+ ~TransportDescriptionFactory();
+
SecurePolicy secure() const { return secure_; }
// The certificate to use when setting up DTLS.
const rtc::scoped_refptr<rtc::RTCCertificate>& certificate() const {