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

Unified Diff: device/nfc/nfc_adapter_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_adapter_chromeos.h ('k') | device/nfc/nfc_adapter_factory.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/nfc/nfc_adapter_chromeos.cc
diff --git a/device/nfc/nfc_adapter_chromeos.cc b/device/nfc/nfc_adapter_chromeos.cc
deleted file mode 100644
index 374e8ac83e94901efc4e87b28e7899f58c846e73..0000000000000000000000000000000000000000
--- a/device/nfc/nfc_adapter_chromeos.cc
+++ /dev/null
@@ -1,396 +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_adapter_chromeos.h"
-
-#include <vector>
-
-#include "base/callback.h"
-#include "base/logging.h"
-#include "chromeos/dbus/dbus_thread_manager.h"
-#include "device/nfc/nfc_peer_chromeos.h"
-#include "device/nfc/nfc_tag_chromeos.h"
-#include "third_party/cros_system_api/dbus/service_constants.h"
-
-namespace chromeos {
-
-namespace {
-
-typedef std::vector<dbus::ObjectPath> ObjectPathVector;
-
-} // namespace
-
-NfcAdapterChromeOS::NfcAdapterChromeOS()
- : weak_ptr_factory_(this) {
- DBusThreadManager::Get()->GetNfcAdapterClient()->AddObserver(this);
- DBusThreadManager::Get()->GetNfcDeviceClient()->AddObserver(this);
- DBusThreadManager::Get()->GetNfcTagClient()->AddObserver(this);
-
- const ObjectPathVector& object_paths =
- DBusThreadManager::Get()->GetNfcAdapterClient()->GetAdapters();
- if (!object_paths.empty()) {
- VLOG(1) << object_paths.size() << " NFC adapter(s) available.";
- SetAdapter(object_paths[0]);
- }
-}
-
-NfcAdapterChromeOS::~NfcAdapterChromeOS() {
- DBusThreadManager::Get()->GetNfcAdapterClient()->RemoveObserver(this);
- DBusThreadManager::Get()->GetNfcDeviceClient()->RemoveObserver(this);
- DBusThreadManager::Get()->GetNfcTagClient()->RemoveObserver(this);
-}
-
-void NfcAdapterChromeOS::AddObserver(NfcAdapter::Observer* observer) {
- DCHECK(observer);
- observers_.AddObserver(observer);
-}
-
-void NfcAdapterChromeOS::RemoveObserver(NfcAdapter::Observer* observer) {
- DCHECK(observer);
- observers_.RemoveObserver(observer);
-}
-
-bool NfcAdapterChromeOS::IsPresent() const {
- return !object_path_.value().empty();
-}
-
-bool NfcAdapterChromeOS::IsPowered() const {
- if (!IsPresent())
- return false;
- return DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_)->powered.value();
-}
-
-bool NfcAdapterChromeOS::IsPolling() const {
- if (!IsPresent())
- return false;
- return DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_)->polling.value();
-}
-
-bool NfcAdapterChromeOS::IsInitialized() const {
- return true;
-}
-
-void NfcAdapterChromeOS::SetPowered(bool powered,
- const base::Closure& callback,
- const ErrorCallback& error_callback) {
- if (!IsPresent()) {
- LOG(WARNING) << "Adapter not present. Cannot power up the antenna.";
- error_callback.Run();
- return;
- }
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_)->powered.Set(
- powered,
- base::Bind(&NfcAdapterChromeOS::OnSetPowered,
- weak_ptr_factory_.GetWeakPtr(),
- callback,
- error_callback));
-}
-
-void NfcAdapterChromeOS::StartPolling(const base::Closure& callback,
- const ErrorCallback& error_callback) {
- // Always poll in "Initiator" mode.
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- StartPollLoop(object_path_,
- nfc_adapter::kModeInitiator,
- base::Bind(&NfcAdapterChromeOS::OnStartPolling,
- weak_ptr_factory_.GetWeakPtr(),
- callback),
- base::Bind(&NfcAdapterChromeOS::OnStartPollingError,
- weak_ptr_factory_.GetWeakPtr(),
- error_callback));
-}
-
-void NfcAdapterChromeOS::StopPolling(const base::Closure& callback,
- const ErrorCallback& error_callback) {
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- StopPollLoop(object_path_,
- base::Bind(&NfcAdapterChromeOS::OnStopPolling,
- weak_ptr_factory_.GetWeakPtr(),
- callback),
- base::Bind(&NfcAdapterChromeOS::OnStopPollingError,
- weak_ptr_factory_.GetWeakPtr(),
- error_callback));
-}
-
-void NfcAdapterChromeOS::AdapterAdded(const dbus::ObjectPath& object_path) {
- // Set the adapter to the newly added adapter only if no adapter is present.
- if (!IsPresent())
- SetAdapter(object_path);
-}
-
-void NfcAdapterChromeOS::AdapterRemoved(const dbus::ObjectPath& object_path) {
- if (object_path != object_path_)
- return;
-
- // The current adapter was removed, so mark us as not present and clean up
- // peers and tags.
- RemoveAdapter();
-
- // There may still be other adapters present on the system. Set the next
- // available adapter as the current one.
- const ObjectPathVector& object_paths =
- DBusThreadManager::Get()->GetNfcAdapterClient()->GetAdapters();
- for (ObjectPathVector::const_iterator iter =
- object_paths.begin();
- iter != object_paths.end(); ++iter) {
- // The removed object will still be available until the call to
- // AdapterRemoved returns. Make sure that we are not re-adding the
- // removed adapter.
- if (*iter == object_path)
- continue;
- SetAdapter(*iter);
- }
-}
-
-void NfcAdapterChromeOS::AdapterPropertyChanged(
- const dbus::ObjectPath& object_path,
- const std::string& property_name) {
- if (object_path != object_path_)
- return;
- NfcAdapterClient::Properties* properties =
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_);
- if (property_name == properties->powered.name())
- PoweredChanged(properties->powered.value());
- else if (property_name == properties->polling.name())
- PollingChanged(properties->polling.value());
-}
-
-void NfcAdapterChromeOS::DeviceAdded(const dbus::ObjectPath& object_path) {
- if (!IsPresent())
- return;
-
- if (GetPeer(object_path.value()))
- return;
-
- VLOG(1) << "NFC device found: " << object_path.value();
-
- // Check to see if the device belongs to this adapter.
- const ObjectPathVector& devices =
- DBusThreadManager::Get()->GetNfcDeviceClient()->
- GetDevicesForAdapter(object_path_);
- bool device_found = false;
- for (ObjectPathVector::const_iterator iter = devices.begin();
- iter != devices.end(); ++iter) {
- if (*iter == object_path) {
- device_found = true;
- break;
- }
- }
- if (!device_found) {
- VLOG(1) << "Found peer device does not belong to the current adapter.";
- return;
- }
-
- // Create the peer object.
- NfcPeerChromeOS* peer_chromeos = new NfcPeerChromeOS(object_path);
- SetPeer(object_path.value(), peer_chromeos);
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- PeerFound(this, peer_chromeos));
-}
-
-void NfcAdapterChromeOS::DeviceRemoved(const dbus::ObjectPath& object_path) {
- VLOG(1) << "NFC device lost: " << object_path.value();
- device::NfcPeer* peer = RemovePeer(object_path.value());
- if (!peer) {
- VLOG(1) << "Removed peer device does not belong to the current adapter.";
- return;
- }
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_, PeerLost(this, peer));
- delete peer;
-}
-
-void NfcAdapterChromeOS::TagAdded(const dbus::ObjectPath& object_path) {
- if (!IsPresent())
- return;
-
- if (GetTag(object_path.value()))
- return;
-
- VLOG(1) << "NFC tag found: " << object_path.value();
-
- // Check to see if the tag belongs to this adapter.
- const std::vector<dbus::ObjectPath>& tags =
- DBusThreadManager::Get()->GetNfcTagClient()->
- GetTagsForAdapter(object_path_);
- bool tag_found = false;
- for (std::vector<dbus::ObjectPath>::const_iterator iter = tags.begin();
- iter != tags.end(); ++iter) {
- if (*iter == object_path) {
- tag_found = true;
- break;
- }
- }
- if (!tag_found) {
- VLOG(1) << "Found tag does not belong to the current adapter.";
- return;
- }
-
- // Create the tag object.
- NfcTagChromeOS* tag_chromeos = new NfcTagChromeOS(object_path);
- SetTag(object_path.value(), tag_chromeos);
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- TagFound(this, tag_chromeos));
-}
-
-void NfcAdapterChromeOS::TagRemoved(const dbus::ObjectPath& object_path) {
- VLOG(1) << "NFC tag lost : " << object_path.value();
- device::NfcTag* tag = RemoveTag(object_path.value());
- if (!tag) {
- VLOG(1) << "Removed tag does not belong to the current adapter.";
- return;
- }
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_, TagLost(this, tag));
- delete tag;
-}
-
-void NfcAdapterChromeOS::SetAdapter(const dbus::ObjectPath& object_path) {
- DCHECK(!IsPresent());
- object_path_ = object_path;
- VLOG(1) << "Using NFC adapter: " << object_path.value();
-
- NfcAdapterClient::Properties* properties =
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_);
- PresentChanged(true);
- if (properties->powered.value())
- PoweredChanged(true);
- if (properties->polling.value())
- PollingChanged(true);
-
- // Create peer objects for peers that were added before the adapter was set.
- const ObjectPathVector& devices =
- DBusThreadManager::Get()->GetNfcDeviceClient()->
- GetDevicesForAdapter(object_path_);
- for (ObjectPathVector::const_iterator iter = devices.begin();
- iter != devices.end(); ++iter) {
- const dbus::ObjectPath& object_path = *iter;
- if (GetPeer(object_path.value()))
- continue;
- NfcPeerChromeOS* peer_chromeos = new NfcPeerChromeOS(object_path);
- SetPeer(object_path.value(), peer_chromeos);
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- PeerFound(this, peer_chromeos));
- }
-
- // Create tag objects for tags that were added before the adapter was set.
- const std::vector<dbus::ObjectPath>& tags =
- DBusThreadManager::Get()->GetNfcTagClient()->
- GetTagsForAdapter(object_path_);
- for (std::vector<dbus::ObjectPath>::const_iterator iter = tags.begin();
- iter != tags.end(); ++iter) {
- const dbus::ObjectPath& object_path = *iter;
- if (GetTag(object_path.value()))
- continue;
- NfcTagChromeOS* tag_chromeos = new NfcTagChromeOS(object_path);
- SetTag(object_path.value(), tag_chromeos);
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- TagFound(this, tag_chromeos));
- }
-}
-
-void NfcAdapterChromeOS::RemoveAdapter() {
- DCHECK(IsPresent());
- VLOG(1) << "NFC adapter removed: " << object_path_.value();
-
- NfcAdapterClient::Properties* properties =
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_);
- if (properties->powered.value())
- PoweredChanged(false);
- if (properties->polling.value())
- PollingChanged(false);
-
- // Copy the tags and peers here and clear the original containers so that
- // GetPeers and GetTags return no values during the *Removed observer calls.
- PeerList peers;
- TagList tags;
- GetPeers(&peers);
- GetTags(&tags);
- ClearPeers();
- ClearTags();
-
- for (PeerList::iterator iter = peers.begin();
- iter != peers.end(); ++iter) {
- device::NfcPeer* peer = *iter;
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- PeerLost(this, peer));
- delete peer;
- }
- for (TagList::iterator iter = tags.begin();
- iter != tags.end(); ++iter) {
- device::NfcTag* tag = *iter;
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- TagLost(this, tag));
- delete tag;
- }
-
- object_path_ = dbus::ObjectPath("");
- PresentChanged(false);
-}
-
-void NfcAdapterChromeOS::PoweredChanged(bool powered) {
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- AdapterPoweredChanged(this, powered));
-}
-
-void NfcAdapterChromeOS::PollingChanged(bool polling) {
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- AdapterPollingChanged(this, polling));
-}
-
-void NfcAdapterChromeOS::PresentChanged(bool present) {
- FOR_EACH_OBSERVER(NfcAdapter::Observer, observers_,
- AdapterPresentChanged(this, present));
-}
-
-void NfcAdapterChromeOS::OnSetPowered(const base::Closure& callback,
- const ErrorCallback& error_callback,
- bool success) {
- VLOG(1) << "NfcAdapterChromeOS::OnSetPowered result: " << success;
- if (success) {
- // TODO(armansito): There is a bug in neard 0.13 that causes it not to emit
- // a signal when the "Powered" property changes. Sync the properties here,
- // but remove it in neard 0.14.
- if (IsPresent()) {
- DBusThreadManager::Get()->GetNfcAdapterClient()->
- GetProperties(object_path_)->GetAll();
- }
- callback.Run();
- } else {
- LOG(ERROR) << "Failed to power up the NFC antenna radio.";
- error_callback.Run();
- }
-}
-
-void NfcAdapterChromeOS::OnStartPolling(const base::Closure& callback) {
- callback.Run();
-}
-
-void NfcAdapterChromeOS::OnStartPollingError(
- const ErrorCallback& error_callback,
- const std::string& error_name,
- const std::string& error_message) {
- LOG(ERROR) << object_path_.value() << ": Failed to start polling: "
- << error_name << ": " << error_message;
- error_callback.Run();
-}
-
-void NfcAdapterChromeOS::OnStopPolling(const base::Closure& callback) {
- callback.Run();
-}
-
-void NfcAdapterChromeOS::OnStopPollingError(
- const ErrorCallback& error_callback,
- const std::string& error_name,
- const std::string& error_message) {
- LOG(ERROR) << object_path_.value() << ": Failed to stop polling: "
- << error_name << ": " << error_message;
- error_callback.Run();
-}
-
-} // namespace chromeos
« no previous file with comments | « device/nfc/nfc_adapter_chromeos.h ('k') | device/nfc/nfc_adapter_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698