Chromium Code Reviews| 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..f374e379e410e5ac45b77fc2cb64386f056c4741 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,20 +25,25 @@ 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 |
|
sky
2015/07/24 15:36:55
Isn't allow_all only true if the set contains "*"?
|
| + // 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; |
| - void SetServiceConnectorForName(ServiceConnector* service_connector, |
| + bool SetServiceConnectorForName(ServiceConnector* service_connector, |
| const std::string& interface_name) override; |
| const std::string& GetConnectionURL() override; |
| const std::string& GetRemoteApplicationURL() override; |
| ServiceProvider* GetServiceProvider() override; |
| ServiceProvider* GetLocalServiceProvider() override; |
| + void SetConnectionErrorHandler(const Closure& handler) override; |
| void RemoveServiceConnectorForName(const std::string& interface_name); |
| @@ -57,6 +63,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_; |
|
sky
2015/07/24 15:36:55
nit: As you can calculate allow_all_interfaces_ fr
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(ServiceRegistry); |
| }; |