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"
11 namespace file_system_provider
{
13 // Handles notifications related to provided the file system.
14 class NotificationManagerInterface
{
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(
29 const NotificationCallback
& callback
) = 0;
31 // Hides a notification previously shown with |id|.
32 virtual void HideUnresponsiveNotification(int id
) = 0;
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_