| Index: services/shell/service_manager.h
|
| diff --git a/services/shell/service_manager.h b/services/shell/service_manager.h
|
| index ac83ade5a10b1020581c945d895909c507fa4b53..7ca4e19c074072c1e67cd36f4c4acd6ac2bbd565 100644
|
| --- a/services/shell/service_manager.h
|
| +++ b/services/shell/service_manager.h
|
| @@ -7,8 +7,10 @@
|
|
|
| #include <map>
|
| #include <memory>
|
| +#include <string>
|
| #include <vector>
|
|
|
| +#include "base/files/file_path.h"
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "mojo/public/cpp/bindings/binding_set.h"
|
| @@ -33,7 +35,9 @@ class ServiceContext;
|
| // connects to services.
|
| Identity CreateServiceManagerIdentity();
|
|
|
| -class ServiceManager : public Service {
|
| +class ServiceManager : public Service,
|
| + public InterfaceFactory<mojom::ServiceManagerControl>,
|
| + public mojom::ServiceManagerControl {
|
| public:
|
| // API for testing.
|
| class TestAPI {
|
| @@ -80,6 +84,16 @@ class ServiceManager : public Service {
|
| bool OnConnect(const Identity& remote_identity,
|
| InterfaceRegistry* registry) override;
|
|
|
| + // InterfaceFactory<mojom::ServiceManagerControl>:
|
| + void Create(const Identity& remote_identity,
|
| + mojom::ServiceManagerControlRequest request) override;
|
| +
|
| + // mojom::ServiceManagerControl:
|
| + void OverridePackagePath(
|
| + const std::string& service_name,
|
| + const base::FilePath& path,
|
| + const OverridePackagePathCallback& callback) override;
|
| +
|
| void InitCatalog(mojom::ServicePtr catalog);
|
|
|
| // Returns the resolver to use for the specified identity.
|
| @@ -176,6 +190,8 @@ class ServiceManager : public Service {
|
| base::Callback<void(const Identity&)> instance_quit_callback_;
|
| std::unique_ptr<NativeRunnerFactory> native_runner_factory_;
|
| std::unique_ptr<ServiceContext> service_context_;
|
| + mojo::BindingSet<mojom::ServiceManagerControl> control_bindings_;
|
| + std::map<std::string, base::FilePath> package_path_overrides_;
|
| base::WeakPtrFactory<ServiceManager> weak_ptr_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ServiceManager);
|
|
|