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

Unified Diff: components/wifi_sync/wifi_credential_syncable_service.cc

Issue 2463463004: [Sync] Rename wifi_sync to sync_wifi. (Closed)
Patch Set: Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: components/wifi_sync/wifi_credential_syncable_service.cc
diff --git a/components/wifi_sync/wifi_credential_syncable_service.cc b/components/wifi_sync/wifi_credential_syncable_service.cc
deleted file mode 100644
index 75534b248002b24f30b0663fc08ec02241e788eb..0000000000000000000000000000000000000000
--- a/components/wifi_sync/wifi_credential_syncable_service.cc
+++ /dev/null
@@ -1,235 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/wifi_sync/wifi_credential_syncable_service.h"
-
-#include <stdint.h>
-
-#include <utility>
-#include <vector>
-
-#include "base/logging.h"
-#include "components/sync/model/sync_change.h"
-#include "components/sync/model/sync_data.h"
-#include "components/sync/model/sync_error.h"
-#include "components/sync/model/sync_error_factory.h"
-#include "components/sync/model/sync_merge_result.h"
-#include "components/sync/protocol/sync.pb.h"
-#include "components/wifi_sync/wifi_credential.h"
-#include "components/wifi_sync/wifi_security_class.h"
-
-namespace wifi_sync {
-
-namespace {
-
-struct RawCredentialData {
- std::vector<uint8_t> ssid;
- WifiSecurityClass security_class;
- std::string passphrase;
-};
-
-void BuildSpecifics(const WifiCredential& credential,
- sync_pb::EntitySpecifics* out_buffer) {
- DCHECK(out_buffer);
- sync_pb::WifiCredentialSpecifics* credential_specifics =
- out_buffer->mutable_wifi_credential();
- DCHECK(credential_specifics);
- credential_specifics->set_ssid(credential.ssid().data(),
- credential.ssid().size());
- credential_specifics->set_security_class(
- WifiSecurityClassToSyncSecurityClass(credential.security_class()));
- if (WifiSecurityClassSupportsPassphrases(credential.security_class())) {
- credential_specifics->set_passphrase(credential.passphrase().data(),
- credential.passphrase().size());
- }
-}
-
-bool ParseSpecifics(const sync_pb::EntitySpecifics& specifics,
- RawCredentialData* raw_credential) {
- DCHECK(raw_credential);
- if (!specifics.has_wifi_credential()) {
- LOG(ERROR) << "Specifics with missing wifi_credential; skipping";
- return false;
- }
-
- const sync_pb::WifiCredentialSpecifics& credential_specifics =
- specifics.wifi_credential();
- if (!credential_specifics.has_ssid()) {
- LOG(ERROR) << "Specifics with missing SSID; skipping";
- return false;
- }
- if (!credential_specifics.has_security_class()) {
- LOG(ERROR) << "Specifics with missing security class; skipping";
- return false;
- }
-
- const WifiSecurityClass security_class =
- WifiSecurityClassFromSyncSecurityClass(
- credential_specifics.security_class());
- if (WifiSecurityClassSupportsPassphrases(security_class) &&
- !credential_specifics.has_passphrase()) {
- LOG(ERROR) << "Specifics for security class "
- << credential_specifics.security_class()
- << " is missing passphrase; skipping";
- return false;
- }
-
- raw_credential->ssid.assign(credential_specifics.ssid().begin(),
- credential_specifics.ssid().end());
- raw_credential->security_class = security_class;
- raw_credential->passphrase = credential_specifics.passphrase();
- return true;
-}
-
-// TODO(quiche): Separate SyncData validation from parsing of
-// WifiCredentialSpecifics.
-bool ParseSyncData(const syncer::SyncData& sync_data,
- RawCredentialData* raw_credential) {
- DCHECK(raw_credential);
- if (!sync_data.IsValid()) {
- LOG(WARNING) << "Invalid SyncData; skipping item";
- return false;
- }
-
- if (sync_data.GetDataType() != syncer::WIFI_CREDENTIALS) {
- LOG(WARNING) << "Unexpected SyncData of type "
- << syncer::ModelTypeToString(sync_data.GetDataType())
- << "; skipping item";
- return false;
- }
-
- return ParseSpecifics(sync_data.GetSpecifics(), raw_credential);
-}
-
-} // namespace
-
-const syncer::ModelType WifiCredentialSyncableService::kModelType =
- syncer::WIFI_CREDENTIALS;
-
-WifiCredentialSyncableService::WifiCredentialSyncableService(
- std::unique_ptr<WifiConfigDelegate> network_config_delegate)
- : network_config_delegate_(std::move(network_config_delegate)) {
- DCHECK(network_config_delegate_);
-}
-
-WifiCredentialSyncableService::~WifiCredentialSyncableService() {
-}
-
-syncer::SyncMergeResult WifiCredentialSyncableService::MergeDataAndStartSyncing(
- syncer::ModelType type,
- const syncer::SyncDataList& initial_sync_data,
- std::unique_ptr<syncer::SyncChangeProcessor> sync_processor,
- std::unique_ptr<syncer::SyncErrorFactory> /* error_handler */) {
- DCHECK(!sync_processor_.get());
- DCHECK(sync_processor.get());
- DCHECK_EQ(kModelType, type);
-
- sync_processor_ = std::move(sync_processor);
-
- // TODO(quiche): Update local WiFi configuration from |initial_sync_data|.
- // TODO(quiche): Notify upper layers that sync is ready.
- NOTIMPLEMENTED();
-
- return syncer::SyncMergeResult(type);
-}
-
-void WifiCredentialSyncableService::StopSyncing(syncer::ModelType type) {
- DCHECK_EQ(kModelType, type);
- sync_processor_.reset();
-}
-
-syncer::SyncDataList WifiCredentialSyncableService::GetAllSyncData(
- syncer::ModelType type) const {
- DCHECK_EQ(kModelType, type);
- NOTIMPLEMENTED();
- return syncer::SyncDataList();
-}
-
-syncer::SyncError WifiCredentialSyncableService::ProcessSyncChanges(
- const tracked_objects::Location& /* caller_location */,
- const syncer::SyncChangeList& change_list) {
- if (!sync_processor_.get()) {
- return syncer::SyncError(
- FROM_HERE, syncer::SyncError::UNREADY_ERROR,
- "ProcessSyncChanges called before MergeDataAndStartSyncing",
- kModelType);
- }
-
- for (const syncer::SyncChange& sync_change : change_list) {
- DCHECK(sync_change.IsValid());
- RawCredentialData raw_credential;
- if (!ParseSyncData(sync_change.sync_data(), &raw_credential)) {
- LOG(WARNING) << "Failed to parse item; skipping "
- << syncer::SyncChange::ChangeTypeToString(
- sync_change.change_type());
- continue;
- }
-
- std::unique_ptr<WifiCredential> credential;
- switch (sync_change.change_type()) {
- case syncer::SyncChange::ACTION_ADD:
- credential = WifiCredential::Create(raw_credential.ssid,
- raw_credential.security_class,
- raw_credential.passphrase);
- if (!credential)
- LOG(WARNING) << "Failed to create credential; skipping";
- else
- network_config_delegate_->AddToLocalNetworks(*credential);
- break;
- case syncer::SyncChange::ACTION_UPDATE:
- // TODO(quiche): Implement update, and add appropriate tests.
- NOTIMPLEMENTED();
- break;
- case syncer::SyncChange::ACTION_DELETE:
- // TODO(quiche): Implement delete, and add appropriate tests.
- NOTIMPLEMENTED();
- break;
- default:
- return syncer::SyncError(
- FROM_HERE, syncer::SyncError::DATATYPE_ERROR,
- "ProcessSyncChanges given invalid SyncChangeType", kModelType);
- }
- }
-
- return syncer::SyncError();
-}
-
-bool WifiCredentialSyncableService::AddToSyncedNetworks(
- const std::string& item_id,
- const WifiCredential& credential) {
- if (!sync_processor_.get()) {
- // Callers must queue updates until MergeDataAndStartSyncing has
- // been called on this SyncableService.
- LOG(WARNING) << "WifiCredentials syncable service is not started.";
- return false;
- }
-
- const SsidAndSecurityClass network_id(
- credential.ssid(), credential.security_class());
- if (synced_networks_and_passphrases_.find(network_id) !=
- synced_networks_and_passphrases_.end()) {
- // TODO(quiche): If passphrase has changed, submit this to sync as
- // an ACTION_UPDATE. crbug.com/431436
- return false;
- }
-
- syncer::SyncChangeList change_list;
- syncer::SyncError sync_error;
- sync_pb::EntitySpecifics wifi_credential_specifics;
- BuildSpecifics(credential, &wifi_credential_specifics);
- change_list.push_back(
- syncer::SyncChange(FROM_HERE, syncer::SyncChange::ACTION_ADD,
- syncer::SyncData::CreateLocalData(
- item_id, item_id, wifi_credential_specifics)));
- sync_error = sync_processor_->ProcessSyncChanges(FROM_HERE, change_list);
- if (sync_error.IsSet()) {
- LOG(ERROR) << sync_error.ToString();
- return false;
- }
-
- synced_networks_and_passphrases_[network_id] = credential.passphrase();
- return true;
-}
-
-} // namespace wifi_sync

Powered by Google App Engine
This is Rietveld 408576698