Index: mojo/public/cpp/bindings/strong_binding.h |
diff --git a/mojo/public/cpp/bindings/strong_binding.h b/mojo/public/cpp/bindings/strong_binding.h |
deleted file mode 100644 |
index 0cd4f03beb8838e8018fad6017d6da96b35a634e..0000000000000000000000000000000000000000 |
--- a/mojo/public/cpp/bindings/strong_binding.h |
+++ /dev/null |
@@ -1,127 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef MOJO_PUBLIC_CPP_BINDINGS_STRONG_BINDING_H_ |
-#define MOJO_PUBLIC_CPP_BINDINGS_STRONG_BINDING_H_ |
- |
-#include <assert.h> |
- |
-#include "mojo/public/c/environment/async_waiter.h" |
-#include "mojo/public/cpp/bindings/binding.h" |
-#include "mojo/public/cpp/bindings/error_handler.h" |
-#include "mojo/public/cpp/bindings/interface_ptr.h" |
-#include "mojo/public/cpp/bindings/interface_request.h" |
-#include "mojo/public/cpp/bindings/lib/filter_chain.h" |
-#include "mojo/public/cpp/bindings/lib/message_header_validator.h" |
-#include "mojo/public/cpp/bindings/lib/router.h" |
-#include "mojo/public/cpp/system/core.h" |
- |
-namespace mojo { |
- |
-// This connects an interface implementation strongly to a pipe. When a |
-// connection error is detected the implementation is deleted. Deleting the |
-// connector also closes the pipe. |
-// |
-// Example of an implementation that is always bound strongly to a pipe |
-// |
-// class StronglyBound : public Foo { |
-// public: |
-// explicit StronglyBound(InterfaceRequest<Foo> request) |
-// : binding_(this, request.Pass()) {} |
-// |
-// // Foo implementation here |
-// |
-// private: |
-// StrongBinding<Foo> binding_; |
-// }; |
-// |
-// class MyFooFactory : public InterfaceFactory<Foo> { |
-// public: |
-// void Create(..., InterfaceRequest<Foo> request) override { |
-// new StronglyBound(request.Pass()); // The binding now owns the |
-// // instance of StronglyBound. |
-// } |
-// }; |
-template <typename Interface> |
-class StrongBinding : public ErrorHandler { |
- public: |
- explicit StrongBinding(Interface* impl) : binding_(impl) { |
- binding_.set_error_handler(this); |
- } |
- |
- StrongBinding( |
- Interface* impl, |
- ScopedMessagePipeHandle handle, |
- const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) |
- : StrongBinding(impl) { |
- binding_.Bind(handle.Pass(), waiter); |
- } |
- |
- StrongBinding( |
- Interface* impl, |
- InterfacePtr<Interface>* ptr, |
- const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) |
- : StrongBinding(impl) { |
- binding_.Bind(ptr, waiter); |
- } |
- |
- StrongBinding( |
- Interface* impl, |
- InterfaceRequest<Interface> request, |
- const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) |
- : StrongBinding(impl) { |
- binding_.Bind(request.Pass(), waiter); |
- } |
- |
- ~StrongBinding() override {} |
- |
- void Bind( |
- ScopedMessagePipeHandle handle, |
- const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) { |
- assert(!binding_.is_bound()); |
- binding_.Bind(handle.Pass(), waiter); |
- } |
- |
- void Bind( |
- InterfacePtr<Interface>* ptr, |
- const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) { |
- assert(!binding_.is_bound()); |
- binding_.Bind(ptr, waiter); |
- } |
- |
- void Bind( |
- InterfaceRequest<Interface> request, |
- const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) { |
- assert(!binding_.is_bound()); |
- binding_.Bind(request.Pass(), waiter); |
- } |
- |
- bool WaitForIncomingMethodCall() { |
- return binding_.WaitForIncomingMethodCall(); |
- } |
- |
- void set_error_handler(ErrorHandler* error_handler) { |
- error_handler_ = error_handler; |
- } |
- |
- Interface* impl() { return binding_.impl(); } |
- typename Interface::Client* client() { return binding_.client(); } |
- // Exposed for testing, should not generally be used. |
- internal::Router* internal_router() { return binding_.internal_router(); } |
- |
- // ErrorHandler implementation |
- void OnConnectionError() override { |
- if (error_handler_) |
- error_handler_->OnConnectionError(); |
- delete binding_.impl(); |
- } |
- |
- private: |
- ErrorHandler* error_handler_ = nullptr; |
- Binding<Interface> binding_; |
-}; |
- |
-} // namespace mojo |
- |
-#endif // MOJO_PUBLIC_CPP_BINDINGS_STRONG_BINDING_H_ |