Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Side by Side Diff: webrtc/api/jsepicecandidate.h

Issue 2514883002: Create //webrtc/api:libjingle_peerconnection_api + refactorings. (Closed)
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 // Implements the IceCandidateInterface.
12
13 #ifndef WEBRTC_API_JSEPICECANDIDATE_H_
14 #define WEBRTC_API_JSEPICECANDIDATE_H_
15
16 #include <string>
17
18 #include "webrtc/api/jsep.h"
19 #include "webrtc/base/constructormagic.h"
20 #include "webrtc/p2p/base/candidate.h"
21
22 namespace webrtc {
23
24 class JsepIceCandidate : public IceCandidateInterface {
noahric 2016/12/19 21:09:36 This one as well, unless it just moved somewhere e
25 public:
26 JsepIceCandidate(const std::string& sdp_mid, int sdp_mline_index);
27 JsepIceCandidate(const std::string& sdp_mid, int sdp_mline_index,
28 const cricket::Candidate& candidate);
29 ~JsepIceCandidate();
30 // |error| can be NULL if don't care about the failure reason.
31 bool Initialize(const std::string& sdp, SdpParseError* err);
32 void SetCandidate(const cricket::Candidate& candidate) {
33 candidate_ = candidate;
34 }
35
36 virtual std::string sdp_mid() const { return sdp_mid_; }
37 virtual int sdp_mline_index() const { return sdp_mline_index_; }
38 virtual const cricket::Candidate& candidate() const {
39 return candidate_;
40 }
41
42 virtual bool ToString(std::string* out) const;
43
44 private:
45 std::string sdp_mid_;
46 int sdp_mline_index_;
47 cricket::Candidate candidate_;
48
49 RTC_DISALLOW_COPY_AND_ASSIGN(JsepIceCandidate);
50 };
51
52 // Implementation of IceCandidateCollection.
53 // This implementation stores JsepIceCandidates.
54 class JsepCandidateCollection : public IceCandidateCollection {
55 public:
56 JsepCandidateCollection() {}
57 // Move constructor is defined so that a vector of JsepCandidateCollections
58 // can be resized.
59 JsepCandidateCollection(JsepCandidateCollection&& o)
60 : candidates_(std::move(o.candidates_)) {}
61 ~JsepCandidateCollection();
62 virtual size_t count() const {
63 return candidates_.size();
64 }
65 virtual bool HasCandidate(const IceCandidateInterface* candidate) const;
66 // Adds and takes ownership of the JsepIceCandidate.
67 virtual void add(JsepIceCandidate* candidate) {
68 candidates_.push_back(candidate);
69 }
70 virtual const IceCandidateInterface* at(size_t index) const {
71 return candidates_[index];
72 }
73 // Removes the candidate that has a matching address and protocol.
74 // Returns the number of candidates that were removed.
75 size_t remove(const cricket::Candidate& candidate);
76
77 private:
78 std::vector<JsepIceCandidate*> candidates_;
79
80 RTC_DISALLOW_COPY_AND_ASSIGN(JsepCandidateCollection);
81 };
82
83 } // namespace webrtc
84
85 #endif // WEBRTC_API_JSEPICECANDIDATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698