1 // Copyright (c) 2012 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. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_FILE_BROWSER_PRIVATE_API_H_ 6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_FILE_BROWSER_PRIVATE_API_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "components/browser_context_keyed_service/browser_context_keyed_service.h" 10 11 class Profile; 12 13 namespace file_manager { 14 15 class EventRouter; 16 17 // Manages and registers the fileBrowserPrivate API with the extension system. 18 class FileBrowserPrivateAPI : public BrowserContextKeyedService { 19 public: 20 explicit FileBrowserPrivateAPI(Profile* profile); 21 virtual ~FileBrowserPrivateAPI(); 22 23 // BrowserContextKeyedService overrides. 24 virtual void Shutdown() OVERRIDE; 25 26 // Convenience function to return the FileBrowserPrivateAPI for a Profile. 27 static FileBrowserPrivateAPI* Get(Profile* profile); 28 29 EventRouter* event_router() { return event_router_.get(); } 30 31 private: 32 scoped_ptr<EventRouter> event_router_; 33 }; 34 35 } // namespace file_manager 36 37 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_FILE_BROWSER_PRIVATE_API_H_ 38