OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mojo/public/cpp/bindings/lib/control_message_proxy.h" | 5 #include "mojo/public/cpp/bindings/lib/control_message_proxy.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 auto params_ptr = interface_control::RunMessageParams::New(); | 78 auto params_ptr = interface_control::RunMessageParams::New(); |
79 params_ptr->input = std::move(input_ptr); | 79 params_ptr->input = std::move(input_ptr); |
80 size_t size = PrepareToSerialize<interface_control::RunMessageParamsDataView>( | 80 size_t size = PrepareToSerialize<interface_control::RunMessageParamsDataView>( |
81 params_ptr, &context); | 81 params_ptr, &context); |
82 MessageBuilder builder(interface_control::kRunMessageId, | 82 MessageBuilder builder(interface_control::kRunMessageId, |
83 Message::kFlagExpectsResponse, size, 0); | 83 Message::kFlagExpectsResponse, size, 0); |
84 | 84 |
85 interface_control::internal::RunMessageParams_Data* params = nullptr; | 85 interface_control::internal::RunMessageParams_Data* params = nullptr; |
86 Serialize<interface_control::RunMessageParamsDataView>( | 86 Serialize<interface_control::RunMessageParamsDataView>( |
87 params_ptr, builder.buffer(), ¶ms, &context); | 87 params_ptr, builder.buffer(), ¶ms, &context); |
88 MessageReceiver* responder = new RunResponseForwardToCallback(callback); | 88 std::unique_ptr<MessageReceiver> responder = |
89 if (!receiver->AcceptWithResponder(builder.message(), responder)) | 89 base::MakeUnique<RunResponseForwardToCallback>(callback); |
90 delete responder; | 90 ignore_result( |
| 91 receiver->AcceptWithResponder(builder.message(), std::move(responder))); |
91 } | 92 } |
92 | 93 |
93 Message ConstructRunOrClosePipeMessage( | 94 Message ConstructRunOrClosePipeMessage( |
94 interface_control::RunOrClosePipeInputPtr input_ptr) { | 95 interface_control::RunOrClosePipeInputPtr input_ptr) { |
95 SerializationContext context; | 96 SerializationContext context; |
96 | 97 |
97 auto params_ptr = interface_control::RunOrClosePipeMessageParams::New(); | 98 auto params_ptr = interface_control::RunOrClosePipeMessageParams::New(); |
98 params_ptr->input = std::move(input_ptr); | 99 params_ptr->input = std::move(input_ptr); |
99 | 100 |
100 size_t size = PrepareToSerialize< | 101 size_t size = PrepareToSerialize< |
101 interface_control::RunOrClosePipeMessageParamsDataView>(params_ptr, | 102 interface_control::RunOrClosePipeMessageParamsDataView>(params_ptr, |
102 &context); | 103 &context); |
103 MessageBuilder builder(interface_control::kRunOrClosePipeMessageId, 0, size, | 104 MessageBuilder builder(interface_control::kRunOrClosePipeMessageId, 0, size, |
104 0); | 105 0); |
105 | 106 |
106 interface_control::internal::RunOrClosePipeMessageParams_Data* params = | 107 interface_control::internal::RunOrClosePipeMessageParams_Data* params = |
107 nullptr; | 108 nullptr; |
108 Serialize<interface_control::RunOrClosePipeMessageParamsDataView>( | 109 Serialize<interface_control::RunOrClosePipeMessageParamsDataView>( |
109 params_ptr, builder.buffer(), ¶ms, &context); | 110 params_ptr, builder.buffer(), ¶ms, &context); |
110 return std::move(*builder.message()); | 111 return std::move(*builder.message()); |
111 } | 112 } |
112 | 113 |
113 void SendRunOrClosePipeMessage( | 114 void SendRunOrClosePipeMessage( |
114 MessageReceiverWithResponder* receiver, | 115 MessageReceiverWithResponder* receiver, |
115 interface_control::RunOrClosePipeInputPtr input_ptr) { | 116 interface_control::RunOrClosePipeInputPtr input_ptr) { |
116 Message message(ConstructRunOrClosePipeMessage(std::move(input_ptr))); | 117 Message message(ConstructRunOrClosePipeMessage(std::move(input_ptr))); |
117 | 118 |
118 bool ok = receiver->Accept(&message); | 119 ignore_result(receiver->Accept(&message)); |
119 ALLOW_UNUSED_LOCAL(ok); | |
120 } | 120 } |
121 | 121 |
122 void RunVersionCallback( | 122 void RunVersionCallback( |
123 const base::Callback<void(uint32_t)>& callback, | 123 const base::Callback<void(uint32_t)>& callback, |
124 interface_control::RunResponseMessageParamsPtr run_response) { | 124 interface_control::RunResponseMessageParamsPtr run_response) { |
125 uint32_t version = 0u; | 125 uint32_t version = 0u; |
126 if (run_response->output && run_response->output->is_query_version_result()) | 126 if (run_response->output && run_response->output->is_query_version_result()) |
127 version = run_response->output->get_query_version_result()->version; | 127 version = run_response->output->get_query_version_result()->version; |
128 callback.Run(version); | 128 callback.Run(version); |
129 } | 129 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 } | 179 } |
180 | 180 |
181 void ControlMessageProxy::OnConnectionError() { | 181 void ControlMessageProxy::OnConnectionError() { |
182 encountered_error_ = true; | 182 encountered_error_ = true; |
183 if (!run_loop_quit_closure_.is_null()) | 183 if (!run_loop_quit_closure_.is_null()) |
184 RunFlushForTestingClosure(); | 184 RunFlushForTestingClosure(); |
185 } | 185 } |
186 | 186 |
187 } // namespace internal | 187 } // namespace internal |
188 } // namespace mojo | 188 } // namespace mojo |
OLD | NEW |