aboutsummaryrefslogtreecommitdiff
path: root/mojo/public/cpp/bindings/lib/control_message_proxy.h
diff options
context:
space:
mode:
authorHidehiko Abe <hidehiko@google.com>2017-12-13 19:00:02 +0900
committerHidehiko Abe <hidehiko@google.com>2017-12-13 23:42:13 +0900
commit0411add1e14cc2dc041f5f1776f05a8c4b787d73 (patch)
tree19a081baf4afcba8d442b5e839cb1ff247f31b7f /mojo/public/cpp/bindings/lib/control_message_proxy.h
parentc96e5aa6f5f1f6df03ef539b4b85c78bf7c292e5 (diff)
downloadlibmojo-0411add1e14cc2dc041f5f1776f05a8c4b787d73.tar.gz
Revert "Revert "libmojo: Uprev the library to r456626 from Chromium""
This reverts commit 21a249e4d9cb0b2ec6f0ff84ed5f7939ea67ac52. Test: Build. Change-Id: Id31199817067e933eb08889b21b83c787b0d4c0d Merged-In: I2f77e0bb4541d6520dac974cd499b30561c6658f
Diffstat (limited to 'mojo/public/cpp/bindings/lib/control_message_proxy.h')
-rw-r--r--mojo/public/cpp/bindings/lib/control_message_proxy.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/mojo/public/cpp/bindings/lib/control_message_proxy.h b/mojo/public/cpp/bindings/lib/control_message_proxy.h
index 5ec6ddc..2f9314e 100644
--- a/mojo/public/cpp/bindings/lib/control_message_proxy.h
+++ b/mojo/public/cpp/bindings/lib/control_message_proxy.h
@@ -7,8 +7,9 @@
#include <stdint.h>
-#include "base/callback_forward.h"
+#include "base/callback.h"
#include "base/macros.h"
+#include "mojo/public/cpp/bindings/bindings_export.h"
#include "mojo/public/cpp/bindings/lib/serialization_context.h"
namespace mojo {
@@ -18,18 +19,26 @@ class MessageReceiverWithResponder;
namespace internal {
// Proxy for request messages defined in interface_control_messages.mojom.
-class ControlMessageProxy {
+class MOJO_CPP_BINDINGS_EXPORT ControlMessageProxy {
public:
// Doesn't take ownership of |receiver|. It must outlive this object.
explicit ControlMessageProxy(MessageReceiverWithResponder* receiver);
+ ~ControlMessageProxy();
void QueryVersion(const base::Callback<void(uint32_t)>& callback);
void RequireVersion(uint32_t version);
- protected:
+ void FlushForTesting();
+ void OnConnectionError();
+
+ private:
+ void RunFlushForTestingClosure();
+
// Not owned.
MessageReceiverWithResponder* receiver_;
- SerializationContext context_;
+ bool encountered_error_ = false;
+
+ base::Closure run_loop_quit_closure_;
DISALLOW_COPY_AND_ASSIGN(ControlMessageProxy);
};