Index: content/public/common/service_manager_connection.h |
diff --git a/content/public/common/service_manager_connection.h b/content/public/common/service_manager_connection.h |
index 674cf2da29eb7d085f483fc2dc54a4835b8e4b69..5e5378cd73b86438417db7a9d7b25f71b80ceaf1 100644 |
--- a/content/public/common/service_manager_connection.h |
+++ b/content/public/common/service_manager_connection.h |
@@ -15,7 +15,10 @@ |
#include "services/service_manager/public/interfaces/service.mojom.h" |
namespace service_manager { |
+class Connection; |
class Connector; |
+class InterfaceProvider; |
+class InterfaceRegistry; |
} |
namespace content { |
@@ -89,6 +92,22 @@ |
// run immediately before returning from this function. |
virtual void SetConnectionLostClosure(const base::Closure& closure) = 0; |
+ // Provides an InterfaceRegistry to forward incoming interface requests to |
+ // on the ServiceManagerConnection's own thread if they aren't bound by the |
+ // connection's internal InterfaceRegistry on the IO thread. |
+ // |
+ // Also configures |interface_provider| to forward all of its outgoing |
+ // interface requests to the connection's internal remote interface provider. |
+ // |
+ // Note that neither |interface_registry| or |interface_provider| is owned |
+ // and both MUST outlive the ServiceManagerConnection. |
+ // |
+ // TODO(rockot): Remove this. It's a temporary solution to avoid porting all |
+ // relevant code to ConnectionFilters at once. |
+ virtual void SetupInterfaceRequestProxies( |
+ service_manager::InterfaceRegistry* registry, |
+ service_manager::InterfaceProvider* provider) = 0; |
+ |
static const int kInvalidConnectionFilterId = 0; |
// Allows the caller to filter inbound connections and/or expose interfaces |