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 |