| Index: chromeos/dbus/fake_nfc_record_client.cc
|
| diff --git a/chromeos/dbus/fake_nfc_record_client.cc b/chromeos/dbus/fake_nfc_record_client.cc
|
| deleted file mode 100644
|
| index 33b275400bf8a227759eb93c20b1c0fcffa5db71..0000000000000000000000000000000000000000
|
| --- a/chromeos/dbus/fake_nfc_record_client.cc
|
| +++ /dev/null
|
| @@ -1,322 +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 "chromeos/dbus/fake_nfc_record_client.h"
|
| -
|
| -#include <stdint.h>
|
| -
|
| -#include "base/logging.h"
|
| -#include "chromeos/dbus/dbus_thread_manager.h"
|
| -#include "chromeos/dbus/fake_nfc_device_client.h"
|
| -#include "chromeos/dbus/fake_nfc_tag_client.h"
|
| -#include "third_party/cros_system_api/dbus/service_constants.h"
|
| -
|
| -namespace chromeos {
|
| -
|
| -namespace {
|
| -
|
| -// Gets and returns the value for |key| in |dictionary| as a string. If |key| is
|
| -// not found, returns an empty string.
|
| -std::string GetStringValue(const base::DictionaryValue& dictionary,
|
| - const std::string& key) {
|
| - std::string value;
|
| - bool result = dictionary.GetString(key, &value);
|
| -
|
| - // Simply return |value|. |value| will remain untouched if
|
| - // base::DictionaryValue::GetString returns false.
|
| - DCHECK(result || value.empty());
|
| - return value;
|
| -}
|
| -
|
| -// Gets and returns the value for |key| in |dictionary| as a double. If |key| is
|
| -// not found, returns 0.
|
| -double GetDoubleValue(const base::DictionaryValue& dictionary,
|
| - const std::string& key) {
|
| - double value = 0;
|
| - bool result = dictionary.GetDouble(key, &value);
|
| -
|
| - // Simply return |value|. |value| will remain untouched if
|
| - // base::DictionaryValue::GetString returns false.
|
| - DCHECK(result || !value);
|
| - return value;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -const char FakeNfcRecordClient::kDeviceSmartPosterRecordPath[] =
|
| - "/fake/device/record0";
|
| -const char FakeNfcRecordClient::kDeviceTextRecordPath[] =
|
| - "/fake/device/record1";
|
| -const char FakeNfcRecordClient::kDeviceUriRecordPath[] = "/fake/device/record2";
|
| -const char FakeNfcRecordClient::kTagRecordPath[] = "/fake/tag/record0";
|
| -
|
| -FakeNfcRecordClient::Properties::Properties(
|
| - const PropertyChangedCallback& callback)
|
| - : NfcRecordClient::Properties(NULL, callback) {
|
| -}
|
| -
|
| -FakeNfcRecordClient::Properties::~Properties() {
|
| -}
|
| -
|
| -void FakeNfcRecordClient::Properties::Get(
|
| - dbus::PropertyBase* property,
|
| - dbus::PropertySet::GetCallback callback) {
|
| - VLOG(1) << "Get " << property->name();
|
| - callback.Run(false);
|
| -}
|
| -
|
| -void FakeNfcRecordClient::Properties::GetAll() {
|
| - VLOG(1) << "GetAll";
|
| - if (!on_get_all_callback().is_null())
|
| - on_get_all_callback().Run();
|
| -}
|
| -
|
| -void FakeNfcRecordClient::Properties::Set(
|
| - dbus::PropertyBase* property,
|
| - dbus::PropertySet::SetCallback callback) {
|
| - VLOG(1) << "Set " << property->name();
|
| - callback.Run(false);
|
| -}
|
| -
|
| -FakeNfcRecordClient::FakeNfcRecordClient()
|
| - : device_records_visible_(false),
|
| - tag_records_visible_(false) {
|
| - VLOG(1) << "Creating FakeNfcRecordClient";
|
| -
|
| - device_smart_poster_record_properties_.reset(new Properties(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertyChanged,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kDeviceSmartPosterRecordPath))));
|
| - device_smart_poster_record_properties_->SetAllPropertiesReceivedCallback(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertiesReceived,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kDeviceSmartPosterRecordPath)));
|
| -
|
| - device_text_record_properties_.reset(new Properties(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertyChanged,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kDeviceTextRecordPath))));
|
| - device_text_record_properties_->SetAllPropertiesReceivedCallback(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertiesReceived,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kDeviceTextRecordPath)));
|
| -
|
| - device_uri_record_properties_.reset(new Properties(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertyChanged,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kDeviceUriRecordPath))));
|
| - device_uri_record_properties_->SetAllPropertiesReceivedCallback(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertiesReceived,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kDeviceUriRecordPath)));
|
| -
|
| - tag_record_properties_.reset(new Properties(
|
| - base::Bind(&FakeNfcRecordClient::OnPropertyChanged,
|
| - base::Unretained(this),
|
| - dbus::ObjectPath(kTagRecordPath))));
|
| -}
|
| -
|
| -FakeNfcRecordClient::~FakeNfcRecordClient() {
|
| -}
|
| -
|
| -void FakeNfcRecordClient::Init(dbus::Bus* bus) {
|
| -}
|
| -
|
| -void FakeNfcRecordClient::AddObserver(Observer* observer) {
|
| - observers_.AddObserver(observer);
|
| -}
|
| -
|
| -void FakeNfcRecordClient::RemoveObserver(Observer* observer) {
|
| - observers_.RemoveObserver(observer);
|
| -}
|
| -
|
| -std::vector<dbus::ObjectPath> FakeNfcRecordClient::GetRecordsForDevice(
|
| - const dbus::ObjectPath& device_path) {
|
| - std::vector<dbus::ObjectPath> record_paths;
|
| - if (device_records_visible_ &&
|
| - device_path == dbus::ObjectPath(FakeNfcDeviceClient::kDevicePath)) {
|
| - record_paths.push_back(dbus::ObjectPath(kDeviceSmartPosterRecordPath));
|
| - record_paths.push_back(dbus::ObjectPath(kDeviceTextRecordPath));
|
| - record_paths.push_back(dbus::ObjectPath(kDeviceUriRecordPath));
|
| - }
|
| - return record_paths;
|
| -}
|
| -
|
| -std::vector<dbus::ObjectPath> FakeNfcRecordClient::GetRecordsForTag(
|
| - const dbus::ObjectPath& tag_path) {
|
| - std::vector<dbus::ObjectPath> record_paths;
|
| - if (tag_records_visible_ && tag_path.value() == FakeNfcTagClient::kTagPath)
|
| - record_paths.push_back(dbus::ObjectPath(kTagRecordPath));
|
| - return record_paths;
|
| -}
|
| -
|
| -FakeNfcRecordClient::Properties*
|
| -FakeNfcRecordClient::GetProperties(const dbus::ObjectPath& object_path) {
|
| - if (device_records_visible_) {
|
| - if (object_path.value() == kDeviceSmartPosterRecordPath)
|
| - return device_smart_poster_record_properties_.get();
|
| - if (object_path.value() == kDeviceTextRecordPath)
|
| - return device_text_record_properties_.get();
|
| - if (object_path.value() == kDeviceUriRecordPath)
|
| - return device_uri_record_properties_.get();
|
| - return NULL;
|
| - }
|
| - if (tag_records_visible_ && object_path.value() == kTagRecordPath)
|
| - return tag_record_properties_.get();
|
| - return NULL;
|
| -}
|
| -
|
| -void FakeNfcRecordClient::SetDeviceRecordsVisible(bool visible) {
|
| - if (device_records_visible_ == visible) {
|
| - VLOG(1) << "Record visibility is already: " << visible;
|
| - return;
|
| - }
|
| - FakeNfcDeviceClient* device_client = static_cast<FakeNfcDeviceClient*>(
|
| - DBusThreadManager::Get()->GetNfcDeviceClient());
|
| - if (!device_client->device_visible()) {
|
| - VLOG(1) << "Cannot set records when device is not visible.";
|
| - return;
|
| - }
|
| - if (!visible) {
|
| - device_client->ClearRecords();
|
| - FOR_EACH_OBSERVER(
|
| - NfcRecordClient::Observer, observers_,
|
| - RecordRemoved(dbus::ObjectPath(kDeviceSmartPosterRecordPath)));
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordRemoved(dbus::ObjectPath(kDeviceTextRecordPath)));
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordRemoved(dbus::ObjectPath(kDeviceUriRecordPath)));
|
| - device_records_visible_ = visible;
|
| - return;
|
| - }
|
| - device_records_visible_ = visible;
|
| - std::vector<dbus::ObjectPath> record_paths =
|
| - GetRecordsForDevice(
|
| - dbus::ObjectPath(FakeNfcDeviceClient::kDevicePath));
|
| - device_client->SetRecords(record_paths);
|
| -
|
| - // Reassign each property and send signals.
|
| - FOR_EACH_OBSERVER(
|
| - NfcRecordClient::Observer, observers_,
|
| - RecordAdded(dbus::ObjectPath(kDeviceSmartPosterRecordPath)));
|
| - device_smart_poster_record_properties_->type.ReplaceValue(
|
| - nfc_record::kTypeSmartPoster);
|
| - device_smart_poster_record_properties_->uri.ReplaceValue(
|
| - "http://fake.uri0.fake");
|
| - device_smart_poster_record_properties_->mime_type.ReplaceValue("text/fake");
|
| - device_smart_poster_record_properties_->size.ReplaceValue(128);
|
| - device_smart_poster_record_properties_->
|
| - representation.ReplaceValue("Fake Title");
|
| - device_smart_poster_record_properties_->encoding.ReplaceValue(
|
| - nfc_record::kEncodingUtf16);
|
| - device_smart_poster_record_properties_->language.ReplaceValue("en");
|
| - OnPropertiesReceived(dbus::ObjectPath(kDeviceSmartPosterRecordPath));
|
| -
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordAdded(dbus::ObjectPath(kDeviceTextRecordPath)));
|
| - device_text_record_properties_->type.ReplaceValue(nfc_record::kTypeText);
|
| - device_text_record_properties_->representation.ReplaceValue(
|
| - "Kablosuz \xC4\xb0leti\xC5\x9fim");
|
| - device_text_record_properties_->encoding.ReplaceValue(
|
| - nfc_record::kEncodingUtf8);
|
| - device_text_record_properties_->language.ReplaceValue("tr");
|
| - OnPropertiesReceived(dbus::ObjectPath(kDeviceTextRecordPath));
|
| -
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordAdded(dbus::ObjectPath(kDeviceUriRecordPath)));
|
| - device_uri_record_properties_->type.ReplaceValue(nfc_record::kTypeUri);
|
| - device_uri_record_properties_->uri.ReplaceValue("file://some/fake/path");
|
| - device_uri_record_properties_->mime_type.ReplaceValue("text/fake");
|
| - device_uri_record_properties_->size.ReplaceValue(512);
|
| - OnPropertiesReceived(dbus::ObjectPath(kDeviceUriRecordPath));
|
| -}
|
| -
|
| -void FakeNfcRecordClient::SetTagRecordsVisible(bool visible) {
|
| - if (tag_records_visible_ == visible) {
|
| - VLOG(1) << "Record visibility is already: " << visible;
|
| - return;
|
| - }
|
| - FakeNfcTagClient* tag_client = static_cast<FakeNfcTagClient*>(
|
| - DBusThreadManager::Get()->GetNfcTagClient());
|
| - if (!tag_client->tag_visible()) {
|
| - VLOG(1) << "Cannot set records when tag is not visible.";
|
| - return;
|
| - }
|
| - if (!visible) {
|
| - tag_client->ClearRecords();
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordRemoved(dbus::ObjectPath(kTagRecordPath)));
|
| - tag_records_visible_ = visible;
|
| - return;
|
| - }
|
| - tag_records_visible_ = visible;
|
| - std::vector<dbus::ObjectPath> record_paths =
|
| - GetRecordsForTag(dbus::ObjectPath(FakeNfcTagClient::kTagPath));
|
| - tag_client->SetRecords(record_paths);
|
| -
|
| - // Reassign each property to its current value to trigger a property change
|
| - // signal.
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordAdded(dbus::ObjectPath(kTagRecordPath)));
|
| - tag_record_properties_->type.ReplaceValue(
|
| - tag_record_properties_->type.value());
|
| - tag_record_properties_->representation.ReplaceValue(
|
| - tag_record_properties_->representation.value());
|
| - tag_record_properties_->encoding.ReplaceValue(
|
| - tag_record_properties_->encoding.value());
|
| - tag_record_properties_->language.ReplaceValue(
|
| - tag_record_properties_->language.value());
|
| - tag_record_properties_->uri.ReplaceValue(
|
| - tag_record_properties_->uri.value());
|
| - tag_record_properties_->mime_type.ReplaceValue(
|
| - tag_record_properties_->mime_type.value());
|
| - tag_record_properties_->size.ReplaceValue(
|
| - tag_record_properties_->size.value());
|
| - tag_record_properties_->action.ReplaceValue(
|
| - tag_record_properties_->action.value());
|
| - OnPropertiesReceived(dbus::ObjectPath(kTagRecordPath));
|
| -}
|
| -
|
| -bool FakeNfcRecordClient::WriteTagRecord(
|
| - const base::DictionaryValue& attributes) {
|
| - if (attributes.empty())
|
| - return false;
|
| -
|
| - tag_record_properties_->type.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kTypeProperty));
|
| - tag_record_properties_->encoding.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kEncodingProperty));
|
| - tag_record_properties_->language.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kLanguageProperty));
|
| - tag_record_properties_->representation.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kRepresentationProperty));
|
| - tag_record_properties_->uri.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kUriProperty));
|
| - tag_record_properties_->mime_type.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kMimeTypeProperty));
|
| - tag_record_properties_->action.ReplaceValue(
|
| - GetStringValue(attributes, nfc_record::kActionProperty));
|
| - tag_record_properties_->size.ReplaceValue(static_cast<uint32_t>(
|
| - GetDoubleValue(attributes, nfc_record::kSizeProperty)));
|
| -
|
| - SetTagRecordsVisible(false);
|
| - SetTagRecordsVisible(true);
|
| -
|
| - return true;
|
| -}
|
| -
|
| -void FakeNfcRecordClient::OnPropertyChanged(
|
| - const dbus::ObjectPath& object_path,
|
| - const std::string& property_name) {
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordPropertyChanged(object_path, property_name));
|
| -}
|
| -
|
| -void FakeNfcRecordClient::OnPropertiesReceived(
|
| - const dbus::ObjectPath& object_path) {
|
| - FOR_EACH_OBSERVER(NfcRecordClient::Observer, observers_,
|
| - RecordPropertiesReceived(object_path));
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|