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

Side by Side Diff: chrome/browser/chromeos/login/signed_settings_helper.cc

Issue 8091002: PART2: Make SignedSettings use proper Value types instead of string all around the place. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed the nits and rebased on ToT (which now has PART1 in). Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/chromeos/login/signed_settings_helper.h" 5 #include "chrome/browser/chromeos/login/signed_settings_helper.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/values.h"
13 #include "chrome/browser/chromeos/login/signed_settings.h" 14 #include "chrome/browser/chromeos/login/signed_settings.h"
14 #include "chrome/browser/policy/proto/device_management_backend.pb.h" 15 #include "chrome/browser/policy/proto/device_management_backend.pb.h"
15 #include "content/public/browser/browser_thread.h" 16 #include "content/public/browser/browser_thread.h"
16 17
17 using content::BrowserThread; 18 using content::BrowserThread;
18 19
19 namespace chromeos { 20 namespace chromeos {
20 21
21 namespace { 22 namespace {
22 23
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 Type type_; 164 Type type_;
164 std::string email_; 165 std::string email_;
165 166
166 DISALLOW_COPY_AND_ASSIGN(WhitelistOpContext); 167 DISALLOW_COPY_AND_ASSIGN(WhitelistOpContext);
167 }; 168 };
168 169
169 class StorePropertyOpContext : public SignedSettings::Delegate<bool>, 170 class StorePropertyOpContext : public SignedSettings::Delegate<bool>,
170 public OpContext { 171 public OpContext {
171 public: 172 public:
172 StorePropertyOpContext(const std::string& name, 173 StorePropertyOpContext(const std::string& name,
173 const std::string& value, 174 const base::Value& value,
174 SignedSettingsHelper::Callback* callback, 175 SignedSettingsHelper::Callback* callback,
175 OpContext::Delegate* delegate) 176 OpContext::Delegate* delegate)
176 : OpContext(callback, delegate), 177 : OpContext(callback, delegate),
177 name_(name), 178 name_(name),
178 value_(value) { 179 value_(value.DeepCopy()) {
179 } 180 }
180 181
181 // chromeos::SignedSettings::Delegate implementation 182 // chromeos::SignedSettings::Delegate implementation
182 virtual void OnSettingsOpCompleted(SignedSettings::ReturnCode code, 183 virtual void OnSettingsOpCompleted(SignedSettings::ReturnCode code,
183 bool unused) OVERRIDE { 184 bool unused) OVERRIDE {
184 VLOG(2) << "OnSettingsOpCompleted, code = " << code; 185 VLOG(2) << "OnSettingsOpCompleted, code = " << code;
185 if (callback_) 186 if (callback_)
186 callback_->OnStorePropertyCompleted(code, name_, value_); 187 callback_->OnStorePropertyCompleted(code, name_, *value_);
187 OnOpCompleted(); 188 OnOpCompleted();
188 } 189 }
189 190
190 protected: 191 protected:
191 // OpContext implemenetation 192 // OpContext implemenetation
192 virtual void CreateOp() OVERRIDE { 193 virtual void CreateOp() OVERRIDE {
193 op_ = SignedSettings::CreateStorePropertyOp(name_, value_, this); 194 op_ = SignedSettings::CreateStorePropertyOp(name_, *value_, this);
194 } 195 }
195 196
196 private: 197 private:
197 std::string name_; 198 std::string name_;
198 std::string value_; 199 scoped_ptr<base::Value> value_;
199 200
200 DISALLOW_COPY_AND_ASSIGN(StorePropertyOpContext); 201 DISALLOW_COPY_AND_ASSIGN(StorePropertyOpContext);
201 }; 202 };
202 203
203 class RetrievePropertyOpContext 204 class RetrievePropertyOpContext
204 : public SignedSettings::Delegate<std::string>, 205 : public SignedSettings::Delegate<const base::Value*>,
205 public OpContext { 206 public OpContext {
206 public: 207 public:
207 RetrievePropertyOpContext(const std::string& name, 208 RetrievePropertyOpContext(const std::string& name,
208 SignedSettingsHelper::Callback* callback, 209 SignedSettingsHelper::Callback* callback,
209 OpContext::Delegate* delegate) 210 OpContext::Delegate* delegate)
210 : OpContext(callback, delegate), 211 : OpContext(callback, delegate),
211 name_(name) { 212 name_(name) {
212 } 213 }
213 214
214 // chromeos::SignedSettings::Delegate implementation 215 // chromeos::SignedSettings::Delegate implementation
215 virtual void OnSettingsOpCompleted(SignedSettings::ReturnCode code, 216 virtual void OnSettingsOpCompleted(SignedSettings::ReturnCode code,
216 std::string value) OVERRIDE { 217 const base::Value* value) OVERRIDE {
217 if (callback_) 218 if (callback_)
218 callback_->OnRetrievePropertyCompleted(code, name_, value); 219 callback_->OnRetrievePropertyCompleted(code, name_, value);
219 220
220 OnOpCompleted(); 221 OnOpCompleted();
221 } 222 }
222 223
223 protected: 224 protected:
224 // OpContext implemenetation 225 // OpContext implemenetation
225 virtual void CreateOp() OVERRIDE { 226 virtual void CreateOp() OVERRIDE {
226 op_ = SignedSettings::CreateRetrievePropertyOp(name_, this); 227 op_ = SignedSettings::CreateRetrievePropertyOp(name_, this);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 class SignedSettingsHelperImpl : public SignedSettingsHelper, 297 class SignedSettingsHelperImpl : public SignedSettingsHelper,
297 public OpContext::Delegate { 298 public OpContext::Delegate {
298 public: 299 public:
299 // SignedSettingsHelper implementation 300 // SignedSettingsHelper implementation
300 virtual void StartCheckWhitelistOp(const std::string& email, 301 virtual void StartCheckWhitelistOp(const std::string& email,
301 Callback* callback) OVERRIDE; 302 Callback* callback) OVERRIDE;
302 virtual void StartWhitelistOp(const std::string& email, 303 virtual void StartWhitelistOp(const std::string& email,
303 bool add_to_whitelist, 304 bool add_to_whitelist,
304 Callback* callback) OVERRIDE; 305 Callback* callback) OVERRIDE;
305 virtual void StartStorePropertyOp(const std::string& name, 306 virtual void StartStorePropertyOp(const std::string& name,
306 const std::string& value, 307 const base::Value& value,
307 Callback* callback) OVERRIDE; 308 Callback* callback) OVERRIDE;
308 virtual void StartRetrieveProperty(const std::string& name, 309 virtual void StartRetrieveProperty(const std::string& name,
309 Callback* callback) OVERRIDE; 310 Callback* callback) OVERRIDE;
310 virtual void StartStorePolicyOp(const em::PolicyFetchResponse& policy, 311 virtual void StartStorePolicyOp(const em::PolicyFetchResponse& policy,
311 Callback* callback) OVERRIDE; 312 Callback* callback) OVERRIDE;
312 virtual void StartRetrievePolicyOp(Callback* callback) OVERRIDE; 313 virtual void StartRetrievePolicyOp(Callback* callback) OVERRIDE;
313 virtual void CancelCallback(Callback* callback) OVERRIDE; 314 virtual void CancelCallback(Callback* callback) OVERRIDE;
314 315
315 // OpContext::Delegate implementation 316 // OpContext::Delegate implementation
316 virtual void OnOpCreated(OpContext* context); 317 virtual void OnOpCreated(OpContext* context);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 SignedSettingsHelper::Callback* callback) { 361 SignedSettingsHelper::Callback* callback) {
361 AddOpContext(new WhitelistOpContext( 362 AddOpContext(new WhitelistOpContext(
362 add_to_whitelist ? WhitelistOpContext::ADD : WhitelistOpContext::REMOVE, 363 add_to_whitelist ? WhitelistOpContext::ADD : WhitelistOpContext::REMOVE,
363 email, 364 email,
364 callback, 365 callback,
365 this)); 366 this));
366 } 367 }
367 368
368 void SignedSettingsHelperImpl::StartStorePropertyOp( 369 void SignedSettingsHelperImpl::StartStorePropertyOp(
369 const std::string& name, 370 const std::string& name,
370 const std::string& value, 371 const base::Value& value,
371 SignedSettingsHelper::Callback* callback) { 372 SignedSettingsHelper::Callback* callback) {
372 AddOpContext(new StorePropertyOpContext( 373 AddOpContext(new StorePropertyOpContext(
373 name, 374 name,
374 value, 375 value,
375 callback, 376 callback,
376 this)); 377 this));
377 } 378 }
378 379
379 void SignedSettingsHelperImpl::StartRetrieveProperty( 380 void SignedSettingsHelperImpl::StartRetrieveProperty(
380 const std::string& name, 381 const std::string& name,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 447
447 if (test_delegate_) 448 if (test_delegate_)
448 test_delegate_->OnOpCompleted(context->op()); 449 test_delegate_->OnOpCompleted(context->op());
449 } 450 }
450 451
451 SignedSettingsHelper* SignedSettingsHelper::Get() { 452 SignedSettingsHelper* SignedSettingsHelper::Get() {
452 return g_signed_settings_helper_impl.Pointer(); 453 return g_signed_settings_helper_impl.Pointer();
453 } 454 }
454 455
455 } // namespace chromeos 456 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698