| 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 ec6bc9160e7701dcf4f45ef73c3d992fcb2d1bf9..a9d0947757d728bb773efe0538952ec1556a7151 100644
|
| --- a/mojo/public/cpp/bindings/interface_impl.h
|
| +++ b/mojo/public/cpp/bindings/interface_impl.h
|
| @@ -20,12 +20,20 @@ namespace mojo {
|
| template <typename Interface>
|
| class InterfaceImpl : public WithErrorHandler<Interface> {
|
| public:
|
| + typedef typename Interface::Client Client;
|
| +
|
| InterfaceImpl() : internal_state_(this) {}
|
| virtual ~InterfaceImpl() {}
|
|
|
| // Subclasses must handle connection errors.
|
| virtual void OnConnectionError() = 0;
|
|
|
| + // We override SetClient here so subclasses don't each have to.
|
| + virtual void SetClient(Client* client) MOJO_OVERRIDE {
|
| + internal_state_.set_client(client);
|
| + }
|
| + Client* client() { return internal_state_.client(); }
|
| +
|
| // DO NOT USE. Exposed only for internal use and for testing.
|
| internal::InterfaceImplState<Interface>* internal_state() {
|
| return &internal_state_;
|
|
|