summaryrefslogtreecommitdiffstats
path: root/mojo/public/cpp/bindings/interface_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/public/cpp/bindings/interface_impl.h')
-rw-r--r--mojo/public/cpp/bindings/interface_impl.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/mojo/public/cpp/bindings/interface_impl.h b/mojo/public/cpp/bindings/interface_impl.h
index a9d0947..15dc980 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;