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

Side by Side Diff: chrome/browser/sync/engine/net/server_connection_manager.cc

Issue 3305003: New authorization framework for sync. ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 3 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "chrome/browser/sync/engine/net/server_connection_manager.h" 5 #include "chrome/browser/sync/engine/net/server_connection_manager.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 8
9 #include <ostream> 9 #include <ostream>
10 #include <string> 10 #include <string>
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 } 128 }
129 // Notify if we've gone on or offline. 129 // Notify if we've gone on or offline.
130 if (server_reachable_ != conn_mgr_->server_reachable_) 130 if (server_reachable_ != conn_mgr_->server_reachable_)
131 conn_mgr_->NotifyStatusChanged(); 131 conn_mgr_->NotifyStatusChanged();
132 } 132 }
133 133
134 ServerConnectionManager::ServerConnectionManager( 134 ServerConnectionManager::ServerConnectionManager(
135 const string& server, 135 const string& server,
136 int port, 136 int port,
137 bool use_ssl, 137 bool use_ssl,
138 const string& user_agent, 138 const string& user_agent)
139 const string& client_id)
140 : sync_server_(server), 139 : sync_server_(server),
141 sync_server_port_(port), 140 sync_server_port_(port),
142 client_id_(client_id),
143 user_agent_(user_agent), 141 user_agent_(user_agent),
144 use_ssl_(use_ssl), 142 use_ssl_(use_ssl),
145 proto_sync_path_(kSyncServerSyncPath), 143 proto_sync_path_(kSyncServerSyncPath),
146 get_time_path_(kSyncServerGetTimePath), 144 get_time_path_(kSyncServerGetTimePath),
147 error_count_(0), 145 error_count_(0),
148 channel_(new Channel(shutdown_event)), 146 channel_(new Channel(shutdown_event)),
149 server_status_(HttpResponse::NONE), 147 server_status_(HttpResponse::NONE),
150 server_reachable_(false), 148 server_reachable_(false),
151 reset_count_(0), 149 reset_count_(0),
152 terminate_all_io_(false) { 150 terminate_all_io_(false) {
153 } 151 }
154 152
155 ServerConnectionManager::~ServerConnectionManager() { 153 ServerConnectionManager::~ServerConnectionManager() {
156 delete channel_; 154 delete channel_;
157 } 155 }
158 156
159 void ServerConnectionManager::NotifyStatusChanged() { 157 void ServerConnectionManager::NotifyStatusChanged() {
160 ServerConnectionEvent event = { ServerConnectionEvent::STATUS_CHANGED, 158 ServerConnectionEvent event = { ServerConnectionEvent::STATUS_CHANGED,
161 server_status_, 159 server_status_,
162 server_reachable_ }; 160 server_reachable_ };
163 channel_->NotifyListeners(event); 161 channel_->NotifyListeners(event);
164 } 162 }
165 163
166 // Uses currently set auth token. Set by AuthWatcher.
167 bool ServerConnectionManager::PostBufferWithCachedAuth( 164 bool ServerConnectionManager::PostBufferWithCachedAuth(
168 const PostBufferParams* params, ScopedServerStatusWatcher* watcher) { 165 const PostBufferParams* params, ScopedServerStatusWatcher* watcher) {
169 string path = 166 string path =
170 MakeSyncServerPath(proto_sync_path(), MakeSyncQueryString(client_id_)); 167 MakeSyncServerPath(proto_sync_path(), MakeSyncQueryString(client_id_));
171 return PostBufferToPath(params, path, auth_token(), watcher); 168 return PostBufferToPath(params, path, auth_token(), watcher);
172 } 169 }
173 170
174 bool ServerConnectionManager::PostBufferWithAuth(const PostBufferParams* params,
175 const string& auth_token, ScopedServerStatusWatcher* watcher) {
176 string path = MakeSyncServerPath(proto_sync_path(),
177 MakeSyncQueryString(client_id_));
178
179 return PostBufferToPath(params, path, auth_token, watcher);
180 }
181
182 bool ServerConnectionManager::PostBufferToPath(const PostBufferParams* params, 171 bool ServerConnectionManager::PostBufferToPath(const PostBufferParams* params,
183 const string& path, const string& auth_token, 172 const string& path, const string& auth_token,
184 ScopedServerStatusWatcher* watcher) { 173 ScopedServerStatusWatcher* watcher) {
185 DCHECK(watcher != NULL); 174 DCHECK(watcher != NULL);
186 scoped_ptr<Post> post(MakePost()); 175 scoped_ptr<Post> post(MakePost());
187 post->set_timing_info(params->timing_info); 176 post->set_timing_info(params->timing_info);
188 bool ok = post->Init(path.c_str(), auth_token, params->buffer_in, 177 bool ok = post->Init(path.c_str(), auth_token, params->buffer_in,
189 params->response); 178 params->response);
190 179
191 if (!ok || RC_REQUEST_OK != params->response->response_code) { 180 if (!ok || RC_REQUEST_OK != params->response->response_code) {
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 347
359 } // namespace browser_sync 348 } // namespace browser_sync
360 349
361 std::ostream& operator << (std::ostream& s, 350 std::ostream& operator << (std::ostream& s,
362 const struct browser_sync::HttpResponse& hr) { 351 const struct browser_sync::HttpResponse& hr) {
363 s << " Response Code (bogus on error): " << hr.response_code; 352 s << " Response Code (bogus on error): " << hr.response_code;
364 s << " Content-Length (bogus on error): " << hr.content_length; 353 s << " Content-Length (bogus on error): " << hr.content_length;
365 s << " Server Status: " << hr.server_status; 354 s << " Server Status: " << hr.server_status;
366 return s; 355 return s;
367 } 356 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698