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 12namespace drive { 13class DriveAppRegistry; 14} 15 16class BrowserContextKeyedServiceFactory; 17class Profile; 18 19// An interface to access Drive service for a given profile. 20class 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