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

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

Issue 9240033: Use scoped_ptr<>.Pass() to pass ownership in the remoting protocol code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 8 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_SESSION_CONFIG_H_ 5 #ifndef REMOTING_PROTOCOL_SESSION_CONFIG_H_
6 #define REMOTING_PROTOCOL_SESSION_CONFIG_H_ 6 #define REMOTING_PROTOCOL_SESSION_CONFIG_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/memory/scoped_ptr.h"
12 13
13 namespace remoting { 14 namespace remoting {
14 namespace protocol { 15 namespace protocol {
15 16
16 extern const int kDefaultStreamVersion; 17 extern const int kDefaultStreamVersion;
17 18
18 // Struct for configuration parameters of a single channel. 19 // Struct for configuration parameters of a single channel.
19 // Some channels (like video) may have multiple underlying sockets that need 20 // Some channels (like video) may have multiple underlying sockets that need
20 // to be configured simultaneously. 21 // to be configured simultaneously.
21 struct ChannelConfig { 22 struct ChannelConfig {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 113
113 // Returns true if |config| is supported. 114 // Returns true if |config| is supported.
114 bool IsSupported(const SessionConfig& config) const; 115 bool IsSupported(const SessionConfig& config) const;
115 116
116 // Extracts final protocol configuration. Must be used for the description 117 // Extracts final protocol configuration. Must be used for the description
117 // received in the session-accept stanza. If the selection is ambiguous 118 // received in the session-accept stanza. If the selection is ambiguous
118 // (e.g. there is more than one configuration for one of the channel) 119 // (e.g. there is more than one configuration for one of the channel)
119 // or undefined (e.g. no configurations for a channel) then NULL is returned. 120 // or undefined (e.g. no configurations for a channel) then NULL is returned.
120 bool GetFinalConfig(SessionConfig* result) const; 121 bool GetFinalConfig(SessionConfig* result) const;
121 122
122 CandidateSessionConfig* Clone() const; 123 scoped_ptr<CandidateSessionConfig> Clone() const;
123 124
124 static CandidateSessionConfig* CreateEmpty(); 125 static scoped_ptr<CandidateSessionConfig> CreateEmpty();
125 static CandidateSessionConfig* CreateFrom(const SessionConfig& config); 126 static scoped_ptr<CandidateSessionConfig> CreateFrom(
126 static CandidateSessionConfig* CreateDefault(); 127 const SessionConfig& config);
128 static scoped_ptr<CandidateSessionConfig> CreateDefault();
127 129
128 private: 130 private:
129 CandidateSessionConfig(); 131 CandidateSessionConfig();
130 explicit CandidateSessionConfig(const CandidateSessionConfig& config); 132 explicit CandidateSessionConfig(const CandidateSessionConfig& config);
131 CandidateSessionConfig& operator=(const CandidateSessionConfig& b); 133 CandidateSessionConfig& operator=(const CandidateSessionConfig& b);
132 134
133 static bool SelectCommonChannelConfig( 135 static bool SelectCommonChannelConfig(
134 const std::vector<ChannelConfig>& host_configs_, 136 const std::vector<ChannelConfig>& host_configs_,
135 const std::vector<ChannelConfig>& client_configs_, 137 const std::vector<ChannelConfig>& client_configs_,
136 ChannelConfig* config); 138 ChannelConfig* config);
137 static bool IsChannelConfigSupported(const std::vector<ChannelConfig>& vector, 139 static bool IsChannelConfigSupported(const std::vector<ChannelConfig>& vector,
138 const ChannelConfig& value); 140 const ChannelConfig& value);
139 141
140 std::vector<ChannelConfig> control_configs_; 142 std::vector<ChannelConfig> control_configs_;
141 std::vector<ChannelConfig> event_configs_; 143 std::vector<ChannelConfig> event_configs_;
142 std::vector<ChannelConfig> video_configs_; 144 std::vector<ChannelConfig> video_configs_;
143 }; 145 };
144 146
145 } // namespace protocol 147 } // namespace protocol
146 } // namespace remoting 148 } // namespace remoting
147 149
148 #endif // REMOTING_PROTOCOL_SESSION_CONFIG_H_ 150 #endif // REMOTING_PROTOCOL_SESSION_CONFIG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698