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. 4 5 #ifndef CHROME_BROWSER_APPS_DRIVE_DRIVE_SERVICE_BRIDGE_H_ 6 #define CHROME_BROWSER_APPS_DRIVE_DRIVE_SERVICE_BRIDGE_H_ 7 8 #include <set> 9 10 #include "base/memory/scoped_ptr.h" 11 12 namespace drive { 13 class DriveAppRegistry; 14 } 15 16 class BrowserContextKeyedServiceFactory; 17 class Profile; 18 19 // An interface to access Drive service for a given profile. 20 class DriveServiceBridge { 21 public: 22 virtual ~DriveServiceBridge() {} 23 24 // Factory to create an instance of DriveServiceBridge. 25 static scoped_ptr<DriveServiceBridge> Create(Profile* profile); 26 27 // Appends PKS factories this class depends on. 28 static void AppendDependsOnFactories( 29 std::set<BrowserContextKeyedServiceFactory*>* factories); 30 31 // Returns the DriveAppRegistery to use. The ownership is not transferred. 32 virtual drive::DriveAppRegistry* GetAppRegistry() = 0; 33 }; 34 35 #endif // CHROME_BROWSER_APPS_DRIVE_DRIVE_SERVICE_BRIDGE_H_ 36