| Index: mojo/shell/public/cpp/lib/connection_impl.h
|
| diff --git a/mojo/shell/public/cpp/lib/connection_impl.h b/mojo/shell/public/cpp/lib/connection_impl.h
|
| index 86ca3a73c4dfbee3f1585b1e7e150cb7c267f56c..7d9c55e0e1b1f51ba246c7254e8075005fd131d3 100644
|
| --- a/mojo/shell/public/cpp/lib/connection_impl.h
|
| +++ b/mojo/shell/public/cpp/lib/connection_impl.h
|
| @@ -21,27 +21,8 @@ namespace internal {
|
| // A ConnectionImpl represents each half of a connection between two
|
| // applications, allowing customization of which interfaces are published to the
|
| // other.
|
| -class ConnectionImpl : public Connection,
|
| - public shell::mojom::InterfaceProvider {
|
| +class ConnectionImpl : public Connection {
|
| public:
|
| - class TestApi {
|
| - public:
|
| - explicit TestApi(ConnectionImpl* impl) : impl_(impl) {}
|
| - ~TestApi() {}
|
| -
|
| - void SetInterfaceBinderForName(InterfaceBinder* binder,
|
| - const std::string& interface_name) {
|
| - impl_->SetInterfaceBinderForName(binder, interface_name);
|
| - }
|
| - void RemoveInterfaceBinderForName(const std::string& interface_name) {
|
| - impl_->RemoveInterfaceBinderForName(interface_name);
|
| - }
|
| -
|
| - private:
|
| - ConnectionImpl* impl_;
|
| - DISALLOW_COPY_AND_ASSIGN(TestApi);
|
| - };
|
| -
|
| ConnectionImpl();
|
| // |allowed_interfaces| are the set of interfaces that the shell has allowed
|
| // an application to expose to another application. If this set contains only
|
| @@ -58,28 +39,19 @@ class ConnectionImpl : public Connection,
|
| GetConnectToApplicationCallback();
|
|
|
| private:
|
| - using NameToInterfaceBinderMap = std::map<std::string, InterfaceBinder*>;
|
| -
|
| // Connection:
|
| - void SetDefaultInterfaceBinder(InterfaceBinder* binder) override;
|
| - bool SetInterfaceBinderForName(InterfaceBinder* binder,
|
| - const std::string& interface_name) override;
|
| const std::string& GetConnectionURL() override;
|
| const std::string& GetRemoteApplicationURL() override;
|
| - shell::mojom::InterfaceProvider* GetRemoteInterfaces() override;
|
| - shell::mojom::InterfaceProvider* GetLocalInterfaces() override;
|
| void SetRemoteInterfaceProviderConnectionErrorHandler(
|
| const Closure& handler) override;
|
| bool GetRemoteApplicationID(uint32_t* remote_id) const override;
|
| bool GetRemoteContentHandlerID(uint32_t* content_handler_id) const override;
|
| void AddRemoteIDCallback(const Closure& callback) override;
|
| + bool AllowsInterface(const std::string& interface_name) const override;
|
| + shell::mojom::InterfaceProvider* GetRemoteInterfaces() override;
|
| + InterfaceRegistry* GetLocalRegistry() override;
|
| base::WeakPtr<Connection> GetWeakPtr() override;
|
|
|
| - // InterfaceProvider:
|
| - void GetInterface(const mojo::String& interface_name,
|
| - ScopedMessagePipeHandle handle) override;
|
| -
|
| - void RemoveInterfaceBinderForName(const std::string& interface_name);
|
| void OnGotRemoteIDs(uint32_t target_application_id,
|
| uint32_t content_handler_id);
|
|
|
| @@ -93,15 +65,12 @@ class ConnectionImpl : public Connection,
|
| bool remote_ids_valid_;
|
| std::vector<Closure> remote_id_callbacks_;
|
|
|
| - Binding<shell::mojom::InterfaceProvider> local_binding_;
|
| + InterfaceRegistry local_registry_;
|
| shell::mojom::InterfaceProviderPtr remote_interfaces_;
|
|
|
| const std::set<std::string> allowed_interfaces_;
|
| const bool allow_all_interfaces_;
|
|
|
| - InterfaceBinder* default_binder_;
|
| - NameToInterfaceBinderMap name_to_binder_;
|
| -
|
| base::WeakPtrFactory<ConnectionImpl> weak_factory_;
|
|
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(ConnectionImpl);
|
|
|