Index: mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h |
diff --git a/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h b/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h |
index 2a111eaf190e4e7927b9978c126f5353d2feb930..00f2de5fb5846742f5c86c7c2d808ff61a57fcff 100644 |
--- a/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h |
+++ b/mojo/public/cpp/bindings/lib/associated_interface_ptr_state.h |
@@ -24,6 +24,8 @@ namespace internal { |
template <typename Interface> |
class AssociatedInterfacePtrState { |
public: |
+ using GenericInterface = typename Interface::GenericInterface; |
+ |
AssociatedInterfacePtrState() : version_(0u) {} |
~AssociatedInterfacePtrState() { |
@@ -69,7 +71,7 @@ class AssociatedInterfacePtrState { |
swap(other->version_, version_); |
} |
- void Bind(AssociatedInterfacePtrInfo<Interface> info) { |
+ void Bind(AssociatedInterfacePtrInfo<GenericInterface> info) { |
DCHECK(!endpoint_client_); |
DCHECK(!proxy_); |
DCHECK_EQ(0u, version_); |
@@ -85,12 +87,12 @@ class AssociatedInterfacePtrState { |
// After this method is called, the object is in an invalid state and |
// shouldn't be reused. |
- AssociatedInterfacePtrInfo<Interface> PassInterface() { |
+ AssociatedInterfacePtrInfo<GenericInterface> PassInterface() { |
ScopedInterfaceEndpointHandle handle = endpoint_client_->PassHandle(); |
endpoint_client_.reset(); |
proxy_.reset(); |
- AssociatedInterfacePtrInfo<Interface> result; |
+ AssociatedInterfacePtrInfo<GenericInterface> result; |
result.set_version(version_); |
AssociatedInterfacePtrInfoHelper::SetHandle(&result, handle.Pass()); |
return result.Pass(); |