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

Unified Diff: chrome/browser/extensions/api/system_storage/system_storage_api.cc

Issue 18578008: [SystemInfo API] Move Storage API out of experimental namespace and rename to the "system" namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename to the "system" namespace. Created 7 years, 5 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: chrome/browser/extensions/api/system_storage/system_storage_api.cc
diff --git a/chrome/browser/extensions/api/system_storage/system_storage_api.cc b/chrome/browser/extensions/api/system_storage/system_storage_api.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b0d1b0f7d72ca6fcbf5a88f7d7fe083f8af4f6f8
--- /dev/null
+++ b/chrome/browser/extensions/api/system_storage/system_storage_api.cc
@@ -0,0 +1,146 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
not at google - send to devlin 2013/07/18 17:06:18 ditto
Haojian Wu 2013/07/19 08:47:12 Done.
+// found in the LICENSE file.
+#include "chrome/browser/extensions/api/system_storage/system_storage_api.h"
+
+namespace extensions {
+
+using api::system_storage::StorageUnitInfo;
+namespace EjectDevice = api::system_storage::EjectDevice;
+
+SystemStorageGetFunction::SystemStorageGetFunction() {
+}
+
+SystemStorageGetFunction::~SystemStorageGetFunction() {
+}
+
+bool SystemStorageGetFunction::RunImpl() {
+ StorageInfoProvider::Get()->StartQueryInfo(
+ base::Bind(&SystemStorageGetFunction::OnGetStorageInfoCompleted,
+ this));
+ return true;
+}
+
+void SystemStorageGetFunction::OnGetStorageInfoCompleted(bool success) {
+ if (success) {
+ results_ = api::system_storage::Get::Results::Create(
+ StorageInfoProvider::Get()->storage_unit_info_list());
+ } else {
+ SetError("Error occurred when querying storage information.");
+ }
+
+ SendResponse(success);
+}
+
+SystemStorageEjectDeviceFunction::~SystemStorageEjectDeviceFunction() {
+}
+
+bool SystemStorageEjectDeviceFunction::RunImpl() {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+
+ scoped_ptr<EjectDevice::Params> params(EjectDevice::Params::Create(*args_));
+ EXTENSION_FUNCTION_VALIDATE(params.get());
+
+ chrome::StorageMonitor::GetInstance()->EnsureInitialized(base::Bind(
+ &SystemStorageEjectDeviceFunction::OnStorageMonitorInit,
+ this,
+ params->id));
+ return true;
+}
+
+void SystemStorageEjectDeviceFunction::OnStorageMonitorInit(
+ const std::string& transient_device_id) {
+ DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
+ chrome::StorageMonitor* monitor = chrome::StorageMonitor::GetInstance();
+ std::string device_id_str =
+ StorageInfoProvider::Get()->GetDeviceIdForTransientId(
+ transient_device_id);
+
+ if (device_id_str == "") {
+ HandleResponse(chrome::StorageMonitor::EJECT_NO_SUCH_DEVICE);
+ return;
+ }
+
+ monitor->EjectDevice(
+ device_id_str,
+ base::Bind(&SystemStorageEjectDeviceFunction::HandleResponse,
+ this));
+}
+
+void SystemStorageEjectDeviceFunction::HandleResponse(
+ chrome::StorageMonitor::EjectStatus status) {
+ api::system_storage:: EjectDeviceResultCode result =
+ api::system_storage::EJECT_DEVICE_RESULT_CODE_FAILURE;
+ switch (status) {
+ case chrome::StorageMonitor::EJECT_OK:
+ result = api::system_storage::EJECT_DEVICE_RESULT_CODE_SUCCESS;
+ break;
+ case chrome::StorageMonitor::EJECT_IN_USE:
+ result = api::system_storage::EJECT_DEVICE_RESULT_CODE_IN_USE;
+ break;
+ case chrome::StorageMonitor::EJECT_NO_SUCH_DEVICE:
+ result = api::system_storage::
+ EJECT_DEVICE_RESULT_CODE_NO_SUCH_DEVICE;
+ break;
+ case chrome::StorageMonitor::EJECT_FAILURE:
+ result = api::system_storage::EJECT_DEVICE_RESULT_CODE_FAILURE;
+ }
+
+ SetResult(base::StringValue::CreateStringValue(
+ api::system_storage::ToString(result)));
+ SendResponse(true);
+}
+
+SystemStorageAddAvailableCapacityWatchFunction::
+ SystemStorageAddAvailableCapacityWatchFunction() {
+}
+
+SystemStorageAddAvailableCapacityWatchFunction::
+ ~SystemStorageAddAvailableCapacityWatchFunction() {
+}
+
+bool SystemStorageAddAvailableCapacityWatchFunction::RunImpl() {
+ // TODO(Haojian): Implement the addAvailableCapacityWatch API.
+ return false;
+}
+
+SystemStorageRemoveAvailableCapacityWatchFunction::
+ SystemStorageRemoveAvailableCapacityWatchFunction() {
+}
+
+SystemStorageRemoveAvailableCapacityWatchFunction::
+ ~SystemStorageRemoveAvailableCapacityWatchFunction() {
+}
+
+bool SystemStorageRemoveAvailableCapacityWatchFunction::RunImpl() {
+ // TODO(Haojian): Implement the removeAvailableCapacityWatch API.
+ return false;
+}
+
+SystemStorageGetAllAvailableCapacityWatchesFunction
+ ::SystemStorageGetAllAvailableCapacityWatchesFunction() {
+}
+
+SystemStorageGetAllAvailableCapacityWatchesFunction
+ ::~SystemStorageGetAllAvailableCapacityWatchesFunction() {
+}
+
+bool SystemStorageGetAllAvailableCapacityWatchesFunction::RunImpl() {
+ // TODO(Haojian): Implement the getAllAvailableCapacityWatches API.
+ return false;
+}
+
+SystemStorageRemoveAllAvailableCapacityWatchesFunction::
+ SystemStorageRemoveAllAvailableCapacityWatchesFunction() {
+}
+
+SystemStorageRemoveAllAvailableCapacityWatchesFunction::
+ ~SystemStorageRemoveAllAvailableCapacityWatchesFunction() {
+}
+
+bool SystemStorageRemoveAllAvailableCapacityWatchesFunction::RunImpl() {
+ // TODO(Haojian): Implement the removeAllAvailableCapacityWatches api.
+ return false;
+}
+
+} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698