Index: mojo/public/cpp/bindings/lib/control_message_proxy.cc |
diff --git a/mojo/public/cpp/bindings/lib/control_message_proxy.cc b/mojo/public/cpp/bindings/lib/control_message_proxy.cc |
index 6189e6973e792f691b9a94fb8cdc7ec329062273..219e04b04cc9cace4d5f2b064b627aa8b9465495 100644 |
--- a/mojo/public/cpp/bindings/lib/control_message_proxy.cc |
+++ b/mojo/public/cpp/bindings/lib/control_message_proxy.cc |
@@ -8,6 +8,7 @@ |
#include <stdint.h> |
#include <utility> |
+#include "base/bind.h" |
#include "base/macros.h" |
#include "mojo/public/cpp/bindings/lib/message_builder.h" |
#include "mojo/public/cpp/bindings/lib/serialization.h" |
@@ -87,6 +88,11 @@ void SendRunOrClosePipeMessage(MessageReceiverWithResponder* receiver, |
ALLOW_UNUSED_LOCAL(ok); |
} |
+void RunVersionCallback(const Callback<void(uint32_t)>& callback, |
+ QueryVersionResultPtr query_version_result) { |
+ callback.Run(query_version_result->version); |
+} |
+ |
} // namespace |
ControlMessageProxy::ControlMessageProxy(MessageReceiverWithResponder* receiver) |
@@ -95,10 +101,8 @@ ControlMessageProxy::ControlMessageProxy(MessageReceiverWithResponder* receiver) |
void ControlMessageProxy::QueryVersion( |
const Callback<void(uint32_t)>& callback) { |
- auto run_callback = [callback](QueryVersionResultPtr query_version_result) { |
- callback.Run(query_version_result->version); |
- }; |
- SendRunMessage(receiver_, QueryVersion::New(), run_callback, &context_); |
+ SendRunMessage(receiver_, QueryVersion::New(), |
+ base::Bind(&RunVersionCallback, callback), &context_); |
} |
void ControlMessageProxy::RequireVersion(uint32_t version) { |