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

Side by Side Diff: remoting/protocol/port_allocator.h

Issue 1864213002: Convert //remoting to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac IWYU Created 4 years, 8 months 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
« no previous file with comments | « remoting/protocol/pairing_registry_unittest.cc ('k') | remoting/protocol/port_allocator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef REMOTING_PROTOCOL_PORT_ALLOCATOR_H_ 5 #ifndef REMOTING_PROTOCOL_PORT_ALLOCATOR_H_
6 #define REMOTING_PROTOCOL_PORT_ALLOCATOR_H_ 6 #define REMOTING_PROTOCOL_PORT_ALLOCATOR_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "remoting/base/url_request.h" 12 #include "remoting/base/url_request.h"
13 #include "remoting/protocol/ice_config.h" 13 #include "remoting/protocol/ice_config.h"
14 #include "remoting/protocol/transport_context.h" 14 #include "remoting/protocol/transport_context.h"
15 #include "third_party/webrtc/p2p/client/basicportallocator.h" 15 #include "third_party/webrtc/p2p/client/basicportallocator.h"
16 16
17 namespace remoting { 17 namespace remoting {
18 namespace protocol { 18 namespace protocol {
19 19
20 class PortAllocator : public cricket::BasicPortAllocator { 20 class PortAllocator : public cricket::BasicPortAllocator {
21 public: 21 public:
22 PortAllocator(scoped_ptr<rtc::NetworkManager> network_manager, 22 PortAllocator(std::unique_ptr<rtc::NetworkManager> network_manager,
23 scoped_ptr<rtc::PacketSocketFactory> socket_factory, 23 std::unique_ptr<rtc::PacketSocketFactory> socket_factory,
24 scoped_refptr<TransportContext> transport_context); 24 scoped_refptr<TransportContext> transport_context);
25 ~PortAllocator() override; 25 ~PortAllocator() override;
26 26
27 scoped_refptr<TransportContext> transport_context() { 27 scoped_refptr<TransportContext> transport_context() {
28 return transport_context_; 28 return transport_context_;
29 } 29 }
30 30
31 cricket::PortAllocatorSession* CreateSessionInternal( 31 cricket::PortAllocatorSession* CreateSessionInternal(
32 const std::string& content_name, 32 const std::string& content_name,
33 int component, 33 int component,
34 const std::string& ice_ufrag, 34 const std::string& ice_ufrag,
35 const std::string& ice_pwd) override; 35 const std::string& ice_pwd) override;
36 36
37 private: 37 private:
38 scoped_ptr<rtc::NetworkManager> network_manager_; 38 std::unique_ptr<rtc::NetworkManager> network_manager_;
39 scoped_ptr<rtc::PacketSocketFactory> socket_factory_; 39 std::unique_ptr<rtc::PacketSocketFactory> socket_factory_;
40 scoped_refptr<TransportContext> transport_context_; 40 scoped_refptr<TransportContext> transport_context_;
41 }; 41 };
42 42
43 class PortAllocatorSession : public cricket::BasicPortAllocatorSession { 43 class PortAllocatorSession : public cricket::BasicPortAllocatorSession {
44 public: 44 public:
45 PortAllocatorSession(PortAllocator* allocator, 45 PortAllocatorSession(PortAllocator* allocator,
46 const std::string& content_name, 46 const std::string& content_name,
47 int component, 47 int component,
48 const std::string& ice_ufrag, 48 const std::string& ice_ufrag,
49 const std::string& ice_pwd); 49 const std::string& ice_pwd);
50 ~PortAllocatorSession() override; 50 ~PortAllocatorSession() override;
51 51
52 private: 52 private:
53 bool relay_enabled() { 53 bool relay_enabled() {
54 return !(flags() & cricket::PORTALLOCATOR_DISABLE_RELAY); 54 return !(flags() & cricket::PORTALLOCATOR_DISABLE_RELAY);
55 } 55 }
56 56
57 // BasicPortAllocatorSession overrides. 57 // BasicPortAllocatorSession overrides.
58 void GetPortConfigurations() override; 58 void GetPortConfigurations() override;
59 59
60 // Callback for TransportContext::GetIceConfig(). 60 // Callback for TransportContext::GetIceConfig().
61 void OnIceConfig(const IceConfig& ice_config); 61 void OnIceConfig(const IceConfig& ice_config);
62 62
63 // Creates PortConfiguration that inclues STUN and TURN servers from 63 // Creates PortConfiguration that inclues STUN and TURN servers from
64 // |ice_config_|. 64 // |ice_config_|.
65 scoped_ptr<cricket::PortConfiguration> GetPortConfiguration(); 65 std::unique_ptr<cricket::PortConfiguration> GetPortConfiguration();
66 66
67 // Attempts to allocate relay session. 67 // Attempts to allocate relay session.
68 void TryCreateRelaySession(); 68 void TryCreateRelaySession();
69 69
70 // Result handler for UrlRequest objects in |url_requests_|. 70 // Result handler for UrlRequest objects in |url_requests_|.
71 void OnSessionRequestResult(const UrlRequest::Result& result); 71 void OnSessionRequestResult(const UrlRequest::Result& result);
72 72
73 scoped_refptr<TransportContext> transport_context_; 73 scoped_refptr<TransportContext> transport_context_;
74 74
75 IceConfig ice_config_; 75 IceConfig ice_config_;
76 76
77 int attempts_ = 0; 77 int attempts_ = 0;
78 78
79 std::set<scoped_ptr<UrlRequest>> url_requests_; 79 std::set<std::unique_ptr<UrlRequest>> url_requests_;
80 80
81 base::WeakPtrFactory<PortAllocatorSession> weak_factory_; 81 base::WeakPtrFactory<PortAllocatorSession> weak_factory_;
82 }; 82 };
83 83
84 } // namespace protocol 84 } // namespace protocol
85 } // namespace remoting 85 } // namespace remoting
86 86
87 #endif // REMOTING_PROTOCOL_PORT_ALLOCATOR_H_ 87 #endif // REMOTING_PROTOCOL_PORT_ALLOCATOR_H_
OLDNEW
« no previous file with comments | « remoting/protocol/pairing_registry_unittest.cc ('k') | remoting/protocol/port_allocator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698