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

Side by Side Diff: chromeos/network/onc/onc_translator_shill_to_onc.cc

Issue 552113002: Add ONC 'Source' configuration property (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_279351_internet_options_9a
Patch Set: Rebase Created 6 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
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 #include "chromeos/network/onc/onc_translator.h" 5 #include "chromeos/network/onc/onc_translator.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
11 #include "base/json/json_writer.h" 11 #include "base/json/json_writer.h"
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chromeos/network/network_profile_handler.h"
15 #include "chromeos/network/network_state.h" 16 #include "chromeos/network/network_state.h"
16 #include "chromeos/network/network_util.h" 17 #include "chromeos/network/network_util.h"
17 #include "chromeos/network/onc/onc_signature.h" 18 #include "chromeos/network/onc/onc_signature.h"
18 #include "chromeos/network/onc/onc_translation_tables.h" 19 #include "chromeos/network/onc/onc_translation_tables.h"
19 #include "chromeos/network/shill_property_util.h" 20 #include "chromeos/network/shill_property_util.h"
20 #include "components/onc/onc_constants.h" 21 #include "components/onc/onc_constants.h"
21 #include "third_party/cros_system_api/dbus/service_constants.h" 22 #include "third_party/cros_system_api/dbus/service_constants.h"
22 23
23 namespace chromeos { 24 namespace chromeos {
24 namespace onc { 25 namespace onc {
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 } 409 }
409 onc_object_->SetStringWithoutPathExpansion( 410 onc_object_->SetStringWithoutPathExpansion(
410 ::onc::network_config::kConnectionState, onc_state); 411 ::onc::network_config::kConnectionState, onc_state);
411 // Only set 'RestrictedConnectivity' if true. 412 // Only set 'RestrictedConnectivity' if true.
412 if (state == shill::kStatePortal) { 413 if (state == shill::kStatePortal) {
413 onc_object_->SetBooleanWithoutPathExpansion( 414 onc_object_->SetBooleanWithoutPathExpansion(
414 ::onc::network_config::kRestrictedConnectivity, true); 415 ::onc::network_config::kRestrictedConnectivity, true);
415 } 416 }
416 } 417 }
417 418
419 std::string profile_path;
420 if (shill_dictionary_->GetStringWithoutPathExpansion(shill::kProfileProperty,
pneubeck (no reviews) 2014/09/09 19:35:32 If we use the same field for 'policy sources', thi
stevenjb 2014/09/10 00:00:55 I think the right thing to do is to pass ONCSource
421 &profile_path)) {
422 std::string source;
423 if (profile_path == NetworkProfileHandler::GetSharedProfilePath())
424 source = ::onc::network_config::kSourceDevice;
425 else if (!profile_path.empty())
426 source = ::onc::network_config::kSourceUser;
427 else
428 source = ::onc::network_config::kSourceNone;
429 onc_object_->SetStringWithoutPathExpansion(
430 ::onc::network_config::kSource, source);
431 }
432
418 // Use a human-readable aa:bb format for any hardware MAC address. Note: 433 // Use a human-readable aa:bb format for any hardware MAC address. Note:
419 // this property is provided by the caller but is not part of the Shill 434 // this property is provided by the caller but is not part of the Shill
420 // Service properties (it is copied from the Device properties). 435 // Service properties (it is copied from the Device properties).
421 std::string address; 436 std::string address;
422 if (shill_dictionary_->GetStringWithoutPathExpansion(shill::kAddressProperty, 437 if (shill_dictionary_->GetStringWithoutPathExpansion(shill::kAddressProperty,
423 &address)) { 438 &address)) {
424 onc_object_->SetStringWithoutPathExpansion( 439 onc_object_->SetStringWithoutPathExpansion(
425 ::onc::network_config::kMacAddress, 440 ::onc::network_config::kMacAddress,
426 network_util::FormattedMacAddress(address)); 441 network_util::FormattedMacAddress(address));
427 } 442 }
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 const base::DictionaryValue& shill_dictionary, 647 const base::DictionaryValue& shill_dictionary,
633 const OncValueSignature* onc_signature) { 648 const OncValueSignature* onc_signature) {
634 CHECK(onc_signature != NULL); 649 CHECK(onc_signature != NULL);
635 650
636 ShillToONCTranslator translator(shill_dictionary, *onc_signature); 651 ShillToONCTranslator translator(shill_dictionary, *onc_signature);
637 return translator.CreateTranslatedONCObject(); 652 return translator.CreateTranslatedONCObject();
638 } 653 }
639 654
640 } // namespace onc 655 } // namespace onc
641 } // namespace chromeos 656 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698