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

Unified Diff: chrome/browser/chromeos/file_system_provider/request_value.h

Issue 257493004: [fsp] Refactor handling operations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed tests. Created 6 years, 8 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/chromeos/file_system_provider/request_value.h
diff --git a/chrome/browser/chromeos/file_system_provider/request_value.h b/chrome/browser/chromeos/file_system_provider/request_value.h
new file mode 100644
index 0000000000000000000000000000000000000000..33872b0c3241b0c9af895d61a28440fb0df4ee3e
--- /dev/null
+++ b/chrome/browser/chromeos/file_system_provider/request_value.h
@@ -0,0 +1,52 @@
+// Copyright 2014 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.
+
+#ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_VALUE_H_
+#define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_VALUE_H_
+
+#include <string>
+
+#include "base/memory/scoped_ptr.h"
+#include "chrome/common/extensions/api/file_system_provider_internal.h"
+
+namespace chromeos {
+namespace file_system_provider {
+
+// Holds a parsed value returned by a providing extension. Each accessor can
+// return NULL in case the requested value type is not available. It is used
+// to pass values of success callbacks.
+class RequestValue {
+ public:
+ // Creates an empty value. Use static methods to create a value holding a
+ // proper content.
+ RequestValue();
+
+ virtual ~RequestValue();
+
+ static scoped_ptr<RequestValue> CreateForUnmountSuccess(
+ scoped_ptr<extensions::api::file_system_provider_internal::
+ UnmountRequestedSuccess::Params> params);
+
+ static scoped_ptr<RequestValue> CreateForTesting(const std::string& params);
+
+ const std::string* testing_params() const { return testing_params_.get(); }
+
+ const extensions::api::file_system_provider_internal::
+ UnmountRequestedSuccess::Params*
+ unmount_success_params() const {
+ return unmount_success_params_.get();
+ }
+
+ private:
+ scoped_ptr<extensions::api::file_system_provider_internal::
+ UnmountRequestedSuccess::Params> unmount_success_params_;
+ scoped_ptr<std::string> testing_params_;
+
+ DISALLOW_COPY_AND_ASSIGN(RequestValue);
+};
+
+} // namespace file_system_provider
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_VALUE_H_

Powered by Google App Engine
This is Rietveld 408576698