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

Unified Diff: device/nfc/nfc_peer_chromeos.cc

Issue 2292703002: chromeos: Remove unused NFC D-Bus client library (Closed)
Patch Set: rebase Created 4 years, 4 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
« no previous file with comments | « device/nfc/nfc_peer_chromeos.h ('k') | device/nfc/nfc_tag.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/nfc/nfc_peer_chromeos.cc
diff --git a/device/nfc/nfc_peer_chromeos.cc b/device/nfc/nfc_peer_chromeos.cc
deleted file mode 100644
index 91169cd6a35599cb92a0e95544bf518955d96c9f..0000000000000000000000000000000000000000
--- a/device/nfc/nfc_peer_chromeos.cc
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2013 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 "device/nfc/nfc_peer_chromeos.h"
-
-#include <string>
-#include <vector>
-
-#include "base/logging.h"
-#include "base/stl_util.h"
-#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/nfc_device_client.h"
-#include "device/nfc/nfc_ndef_record_utils_chromeos.h"
-#include "third_party/cros_system_api/dbus/service_constants.h"
-
-using device::NfcNdefMessage;
-using device::NfcNdefRecord;
-
-namespace chromeos {
-
-namespace {
-
-typedef std::vector<dbus::ObjectPath> ObjectPathVector;
-
-} // namespace
-
-NfcPeerChromeOS::NfcPeerChromeOS(const dbus::ObjectPath& object_path)
- : object_path_(object_path),
- weak_ptr_factory_(this) {
- // Create record objects for all records that were received before.
- const ObjectPathVector& records =
- DBusThreadManager::Get()->GetNfcRecordClient()->
- GetRecordsForDevice(object_path_);
- for (ObjectPathVector::const_iterator iter = records.begin();
- iter != records.end(); ++iter) {
- AddRecord(*iter);
- }
- DBusThreadManager::Get()->GetNfcRecordClient()->AddObserver(this);
-}
-
-NfcPeerChromeOS::~NfcPeerChromeOS() {
- DBusThreadManager::Get()->GetNfcRecordClient()->RemoveObserver(this);
- base::STLDeleteValues(&records_);
-}
-
-void NfcPeerChromeOS::AddObserver(device::NfcPeer::Observer* observer) {
- DCHECK(observer);
- observers_.AddObserver(observer);
-}
-
-void NfcPeerChromeOS::RemoveObserver(device::NfcPeer::Observer* observer) {
- DCHECK(observer);
- observers_.RemoveObserver(observer);
-}
-
-std::string NfcPeerChromeOS::GetIdentifier() const {
- return object_path_.value();
-}
-
-const NfcNdefMessage& NfcPeerChromeOS::GetNdefMessage() const {
- return message_;
-}
-
-void NfcPeerChromeOS::PushNdef(const NfcNdefMessage& message,
- const base::Closure& callback,
- const ErrorCallback& error_callback) {
- if (message.records().empty()) {
- LOG(ERROR) << "Given NDEF message is empty. Cannot push it.";
- error_callback.Run();
- return;
- }
- // TODO(armansito): neard currently supports pushing only one NDEF record
- // to a remote device and won't support multiple records until 0.15. Until
- // then, report failure if |message| contains more than one record.
- if (message.records().size() > 1) {
- LOG(ERROR) << "Currently, pushing only 1 NDEF record is supported.";
- error_callback.Run();
- return;
- }
- const NfcNdefRecord* record = message.records()[0];
- base::DictionaryValue attributes;
- if (!nfc_ndef_record_utils::NfcNdefRecordToDBusAttributes(
- record, &attributes)) {
- LOG(ERROR) << "Failed to extract NDEF record fields for NDEF push.";
- error_callback.Run();
- return;
- }
- DBusThreadManager::Get()->GetNfcDeviceClient()->Push(
- object_path_,
- attributes,
- base::Bind(&NfcPeerChromeOS::OnPushNdef,
- weak_ptr_factory_.GetWeakPtr(),
- callback),
- base::Bind(&NfcPeerChromeOS::OnPushNdefError,
- weak_ptr_factory_.GetWeakPtr(),
- error_callback));
-}
-
-void NfcPeerChromeOS::StartHandover(HandoverType handover_type,
- const base::Closure& callback,
- const ErrorCallback& error_callback) {
- // TODO(armansito): Initiating handover with a peer is currently not
- // supported. For now, return an error immediately.
- LOG(ERROR) << "NFC Handover currently not supported.";
- error_callback.Run();
-}
-
-void NfcPeerChromeOS::RecordAdded(const dbus::ObjectPath& object_path) {
- // Don't create the record object yet. Instead, wait until all record
- // properties have been received and contruct the object and notify observers
- // then.
- VLOG(1) << "Record added: " << object_path.value() << ". Waiting until "
- << "all properties have been fetched to create record object.";
-}
-
-void NfcPeerChromeOS::RecordRemoved(const dbus::ObjectPath& object_path) {
- NdefRecordMap::iterator iter = records_.find(object_path);
- if (iter == records_.end())
- return;
- VLOG(1) << "Lost remote NDEF record object: " << object_path.value()
- << ", removing record.";
- NfcNdefRecord* record = iter->second;
- message_.RemoveRecord(record);
- delete record;
- records_.erase(iter);
-}
-
-void NfcPeerChromeOS::RecordPropertiesReceived(
- const dbus::ObjectPath& object_path) {
- VLOG(1) << "Record properties received for: " << object_path.value();
-
- // Check if the found record belongs to this device.
- bool record_found = false;
- const ObjectPathVector& records =
- DBusThreadManager::Get()->GetNfcRecordClient()->
- GetRecordsForDevice(object_path_);
- for (ObjectPathVector::const_iterator iter = records.begin();
- iter != records.end(); ++iter) {
- if (*iter == object_path) {
- record_found = true;
- break;
- }
- }
- if (!record_found) {
- VLOG(1) << "Record \"" << object_path.value() << "\" doesn't belong to this"
- << " device. Ignoring.";
- return;
- }
-
- AddRecord(object_path);
-}
-
-void NfcPeerChromeOS::OnPushNdef(const base::Closure& callback) {
- callback.Run();
-}
-
-void NfcPeerChromeOS::OnPushNdefError(const ErrorCallback& error_callback,
- const std::string& error_name,
- const std::string& error_message) {
- LOG(ERROR) << object_path_.value() << ": Failed to Push NDEF message: "
- << error_name << ": " << error_message;
- error_callback.Run();
-}
-
-void NfcPeerChromeOS::AddRecord(const dbus::ObjectPath& object_path) {
- // Ignore this call if an entry for this record already exists.
- if (records_.find(object_path) != records_.end()) {
- VLOG(1) << "Record object for remote \"" << object_path.value()
- << "\" already exists.";
- return;
- }
-
- NfcRecordClient::Properties* record_properties =
- DBusThreadManager::Get()->GetNfcRecordClient()->
- GetProperties(object_path);
- DCHECK(record_properties);
-
- NfcNdefRecord* record = new NfcNdefRecord();
- if (!nfc_ndef_record_utils::RecordPropertiesToNfcNdefRecord(
- record_properties, record)) {
- LOG(ERROR) << "Failed to create record object for record with object "
- << "path \"" << object_path.value() << "\"";
- delete record;
- return;
- }
-
- message_.AddRecord(record);
- records_[object_path] = record;
- FOR_EACH_OBSERVER(NfcPeer::Observer, observers_,
- RecordReceived(this, record));
-}
-
-} // namespace chromeos
« no previous file with comments | « device/nfc/nfc_peer_chromeos.h ('k') | device/nfc/nfc_tag.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698