| Index: mojo/application/public/cpp/lib/service_registry.h
|
| diff --git a/mojo/application/public/cpp/lib/service_registry.h b/mojo/application/public/cpp/lib/service_registry.h
|
| index dcca5a04c70bba2dc520deb274fa4babfd8b4eb3..7ff737b8c0a3c2aa0930ba50de330e6b478b8653 100644
|
| --- a/mojo/application/public/cpp/lib/service_registry.h
|
| +++ b/mojo/application/public/cpp/lib/service_registry.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef MOJO_APPLICATION_PUBLIC_CPP_LIB_SERVICE_REGISTRY_H_
|
| #define MOJO_APPLICATION_PUBLIC_CPP_LIB_SERVICE_REGISTRY_H_
|
|
|
| +#include <set>
|
| #include <string>
|
|
|
| #include "mojo/application/public/cpp/application_connection.h"
|
| @@ -24,11 +25,15 @@ namespace internal {
|
| class ServiceRegistry : public ServiceProvider, public ApplicationConnection {
|
| public:
|
| ServiceRegistry();
|
| + // |allowed_interfaces| are the set of interfaces that the shell has allowed
|
| + // an application to expose to another application. If this set is empty, the
|
| + // application is allowed to expose all of its interfaces.
|
| ServiceRegistry(ApplicationImpl* application_impl,
|
| const std::string& connection_url,
|
| const std::string& remote_url,
|
| ServiceProviderPtr remote_services,
|
| - InterfaceRequest<ServiceProvider> local_services);
|
| + InterfaceRequest<ServiceProvider> local_services,
|
| + const std::set<std::string>& allowed_interfaces);
|
|
|
| // ApplicationConnection overrides.
|
| void SetServiceConnector(ServiceConnector* service_connector) override;
|
| @@ -57,6 +62,8 @@ class ServiceRegistry : public ServiceProvider, public ApplicationConnection {
|
| Binding<ServiceProvider> local_binding_;
|
| ServiceProviderPtr remote_service_provider_;
|
| ServiceConnectorRegistry service_connector_registry_;
|
| + const std::set<std::string> allowed_interfaces_;
|
| + const bool allow_all_interfaces_;
|
|
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(ServiceRegistry);
|
| };
|
|
|