// 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_NOTIFICATION_MANAGER_INTERFACE_H_ #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_NOTIFICATION_MANAGER_INTERFACE_H_ #include "base/callback.h" namespace chromeos { namespace file_system_provider { // Handles notifications related to provided the file system. class NotificationManagerInterface { public: // Result of a notification. enum NotificationResult { ABORT, CONTINUE }; // Callback for handling result of a notification. typedef base::Callback NotificationCallback; NotificationManagerInterface() {} virtual ~NotificationManagerInterface() {} // Shows a notification about the request being unresponsive. The |callback| // is called when the notification is closed. virtual void ShowUnresponsiveNotification( int id, const NotificationCallback& callback) = 0; // Hides a notification previously shown with |id|. virtual void HideUnresponsiveNotification(int id) = 0; private: DISALLOW_COPY_AND_ASSIGN(NotificationManagerInterface); }; } // namespace file_system_provider } // namespace chromeos #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_NOTIFICATION_MANAGER_INTERFACE_H_