Index: mojo/public/cpp/bindings/interface_impl.h |
diff --git a/mojo/public/cpp/bindings/interface_impl.h b/mojo/public/cpp/bindings/interface_impl.h |
index a9d0947757d728bb773efe0538952ec1556a7151..15dc9807adbf3548917023d6717dec3afef0910e 100644 |
--- a/mojo/public/cpp/bindings/interface_impl.h |
+++ b/mojo/public/cpp/bindings/interface_impl.h |
@@ -13,18 +13,17 @@ namespace mojo { |
// InterfaceImpl<..> is designed to be the base class of an interface |
// implementation. It may be bound to a pipe or a proxy, see BindToPipe and |
// BindToProxy. |
-// |
-// NOTE: A base class of WithErrorHandler<Interface> is used to avoid multiple |
-// inheritance. This base class inserts the signature of ErrorHandler into the |
-// inheritance chain. |
template <typename Interface> |
-class InterfaceImpl : public WithErrorHandler<Interface> { |
+class InterfaceImpl : public internal::InterfaceImplBase<Interface> { |
public: |
typedef typename Interface::Client Client; |
InterfaceImpl() : internal_state_(this) {} |
virtual ~InterfaceImpl() {} |
+ // Subclasses can override this to handle post connection initialization. |
+ virtual void OnConnectionEstablished() {} |
+ |
// Subclasses must handle connection errors. |
virtual void OnConnectionError() = 0; |