Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / chromeos / file_system_provider / notification_manager_interface.h
blob6b889e1d0d805d6e42984a9c970564e305acea86
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_NOTIFICATION_MANAGER_INTERFACE_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_NOTIFICATION_MANAGER_INTERFACE_H_
8 #include "base/callback.h"
10 namespace chromeos {
11 namespace file_system_provider {
13 // Handles notifications related to provided the file system.
14 class NotificationManagerInterface {
15 public:
16 // Result of a notification.
17 enum NotificationResult { ABORT, CONTINUE };
19 // Callback for handling result of a notification.
20 typedef base::Callback<void(NotificationResult)> NotificationCallback;
22 NotificationManagerInterface() {}
23 virtual ~NotificationManagerInterface() {}
25 // Shows a notification about the request being unresponsive. The |callback|
26 // is called when the notification is closed.
27 virtual void ShowUnresponsiveNotification(
28 int id,
29 const NotificationCallback& callback) = 0;
31 // Hides a notification previously shown with |id|.
32 virtual void HideUnresponsiveNotification(int id) = 0;
34 private:
35 DISALLOW_COPY_AND_ASSIGN(NotificationManagerInterface);
38 } // namespace file_system_provider
39 } // namespace chromeos
41 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_NOTIFICATION_MANAGER_INTERFACE_H_