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

Side by Side Diff: remoting/protocol/transport_context.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/transport.h ('k') | remoting/protocol/transport_context.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_TRANSPORT_CONTEXT_H_ 5 #ifndef REMOTING_PROTOCOL_TRANSPORT_CONTEXT_H_
6 #define REMOTING_PROTOCOL_TRANSPORT_CONTEXT_H_ 6 #define REMOTING_PROTOCOL_TRANSPORT_CONTEXT_H_
7 7
8 #include <array> 8 #include <array>
9 #include <list> 9 #include <list>
10 #include <memory>
10 #include <string> 11 #include <string>
11 #include <vector> 12 #include <vector>
12 13
13 #include "base/macros.h" 14 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "remoting/protocol/ice_config.h" 16 #include "remoting/protocol/ice_config.h"
17 #include "remoting/protocol/network_settings.h" 17 #include "remoting/protocol/network_settings.h"
18 #include "remoting/protocol/transport.h" 18 #include "remoting/protocol/transport.h"
19 19
20 namespace remoting { 20 namespace remoting {
21 21
22 class SignalStrategy; 22 class SignalStrategy;
23 class UrlRequestFactory; 23 class UrlRequestFactory;
24 24
25 namespace protocol { 25 namespace protocol {
(...skipping 13 matching lines...) Expand all
39 LAST_RELAYMODE = TURN 39 LAST_RELAYMODE = TURN
40 }; 40 };
41 static const int kNumRelayModes = RelayMode::LAST_RELAYMODE + 1; 41 static const int kNumRelayModes = RelayMode::LAST_RELAYMODE + 1;
42 42
43 typedef base::Callback<void(const IceConfig& ice_config)> 43 typedef base::Callback<void(const IceConfig& ice_config)>
44 GetIceConfigCallback; 44 GetIceConfigCallback;
45 45
46 static scoped_refptr<TransportContext> ForTests(TransportRole role); 46 static scoped_refptr<TransportContext> ForTests(TransportRole role);
47 47
48 TransportContext(SignalStrategy* signal_strategy, 48 TransportContext(SignalStrategy* signal_strategy,
49 scoped_ptr<PortAllocatorFactory> port_allocator_factory, 49 std::unique_ptr<PortAllocatorFactory> port_allocator_factory,
50 scoped_ptr<UrlRequestFactory> url_request_factory, 50 std::unique_ptr<UrlRequestFactory> url_request_factory,
51 const NetworkSettings& network_settings, 51 const NetworkSettings& network_settings,
52 TransportRole role); 52 TransportRole role);
53 53
54 void set_ice_config_url(const std::string& ice_config_url) { 54 void set_ice_config_url(const std::string& ice_config_url) {
55 ice_config_url_ = ice_config_url; 55 ice_config_url_ = ice_config_url;
56 } 56 }
57 57
58 // Sets relay mode for all future calls of GetIceConfig(). Doesn't affect 58 // Sets relay mode for all future calls of GetIceConfig(). Doesn't affect
59 // previous GetIceConfig() requests. 59 // previous GetIceConfig() requests.
60 void set_relay_mode(RelayMode relay_mode) { relay_mode_ = relay_mode; } 60 void set_relay_mode(RelayMode relay_mode) { relay_mode_ = relay_mode; }
(...skipping 17 matching lines...) Expand all
78 78
79 private: 79 private:
80 friend class base::RefCountedThreadSafe<TransportContext>; 80 friend class base::RefCountedThreadSafe<TransportContext>;
81 81
82 ~TransportContext(); 82 ~TransportContext();
83 83
84 void EnsureFreshIceConfig(); 84 void EnsureFreshIceConfig();
85 void OnIceConfig(RelayMode relay_mode, const IceConfig& ice_config); 85 void OnIceConfig(RelayMode relay_mode, const IceConfig& ice_config);
86 86
87 SignalStrategy* signal_strategy_; 87 SignalStrategy* signal_strategy_;
88 scoped_ptr<PortAllocatorFactory> port_allocator_factory_; 88 std::unique_ptr<PortAllocatorFactory> port_allocator_factory_;
89 scoped_ptr<UrlRequestFactory> url_request_factory_; 89 std::unique_ptr<UrlRequestFactory> url_request_factory_;
90 NetworkSettings network_settings_; 90 NetworkSettings network_settings_;
91 TransportRole role_; 91 TransportRole role_;
92 92
93 std::string ice_config_url_; 93 std::string ice_config_url_;
94 RelayMode relay_mode_ = RelayMode::GTURN; 94 RelayMode relay_mode_ = RelayMode::GTURN;
95 95
96 std::array<scoped_ptr<IceConfigRequest>, kNumRelayModes> ice_config_request_; 96 std::array<std::unique_ptr<IceConfigRequest>, kNumRelayModes>
97 ice_config_request_;
97 std::array<IceConfig, kNumRelayModes> ice_config_; 98 std::array<IceConfig, kNumRelayModes> ice_config_;
98 99
99 // When there is an active |ice_config_request_| stores list of callbacks to 100 // When there is an active |ice_config_request_| stores list of callbacks to
100 // be called once the request is finished. 101 // be called once the request is finished.
101 std::array<std::list<GetIceConfigCallback>, kNumRelayModes> 102 std::array<std::list<GetIceConfigCallback>, kNumRelayModes>
102 pending_ice_config_callbacks_; 103 pending_ice_config_callbacks_;
103 104
104 DISALLOW_COPY_AND_ASSIGN(TransportContext); 105 DISALLOW_COPY_AND_ASSIGN(TransportContext);
105 }; 106 };
106 107
107 } // namespace protocol 108 } // namespace protocol
108 } // namespace remoting 109 } // namespace remoting
109 110
110 #endif // REMOTING_PROTOCOL_TRANSPORT_CONTEXT_H_ 111 #endif // REMOTING_PROTOCOL_TRANSPORT_CONTEXT_H_
OLDNEW
« no previous file with comments | « remoting/protocol/transport.h ('k') | remoting/protocol/transport_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698