Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: mojo/public/cpp/bindings/lib/control_message_handler.cc

Issue 1955123003: Mojo C++ bindings: switch the remaining callsites of the old serialization interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@24_union_and_others
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_handler.h" 5 #include "mojo/public/cpp/bindings/lib/control_message_handler.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
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "mojo/public/cpp/bindings/lib/message_builder.h" 12 #include "mojo/public/cpp/bindings/lib/message_builder.h"
13 #include "mojo/public/cpp/bindings/lib/serialization.h"
13 #include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h" 14 #include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
14 15
15 namespace mojo { 16 namespace mojo {
16 namespace internal { 17 namespace internal {
17 18
18 // static 19 // static
19 bool ControlMessageHandler::IsControlMessage(const Message* message) { 20 bool ControlMessageHandler::IsControlMessage(const Message* message) {
20 return message->header()->name == kRunMessageId || 21 return message->header()->name == kRunMessageId ||
21 message->header()->name == kRunOrClosePipeMessageId; 22 message->header()->name == kRunOrClosePipeMessageId;
22 } 23 }
(...skipping 25 matching lines...) Expand all
48 49
49 bool ControlMessageHandler::Run(Message* message, 50 bool ControlMessageHandler::Run(Message* message,
50 MessageReceiverWithStatus* responder) { 51 MessageReceiverWithStatus* responder) {
51 RunResponseMessageParamsPtr response_params_ptr( 52 RunResponseMessageParamsPtr response_params_ptr(
52 RunResponseMessageParams::New()); 53 RunResponseMessageParams::New());
53 response_params_ptr->reserved0 = 16u; 54 response_params_ptr->reserved0 = 16u;
54 response_params_ptr->reserved1 = 0u; 55 response_params_ptr->reserved1 = 0u;
55 response_params_ptr->query_version_result = QueryVersionResult::New(); 56 response_params_ptr->query_version_result = QueryVersionResult::New();
56 response_params_ptr->query_version_result->version = interface_version_; 57 response_params_ptr->query_version_result->version = interface_version_;
57 58
58 size_t size = GetSerializedSize_(response_params_ptr, nullptr); 59 size_t size = PrepareToSerialize<RunResponseMessageParamsPtr>(
60 response_params_ptr, &context_);
59 ResponseMessageBuilder builder(kRunMessageId, size, message->request_id()); 61 ResponseMessageBuilder builder(kRunMessageId, size, message->request_id());
60 62
61 RunResponseMessageParams_Data* response_params = nullptr; 63 RunResponseMessageParams_Data* response_params = nullptr;
62 Serialize_(std::move(response_params_ptr), builder.buffer(), &response_params, 64 Serialize<RunResponseMessageParamsPtr>(response_params_ptr, builder.buffer(),
63 nullptr); 65 &response_params, &context_);
64 response_params->EncodePointers(); 66 response_params->EncodePointers();
65 bool ok = responder->Accept(builder.message()); 67 bool ok = responder->Accept(builder.message());
66 ALLOW_UNUSED_LOCAL(ok); 68 ALLOW_UNUSED_LOCAL(ok);
67 delete responder; 69 delete responder;
68 70
69 return true; 71 return true;
70 } 72 }
71 73
72 bool ControlMessageHandler::RunOrClosePipe(Message* message) { 74 bool ControlMessageHandler::RunOrClosePipe(Message* message) {
73 RunOrClosePipeMessageParams_Data* params = 75 RunOrClosePipeMessageParams_Data* params =
74 reinterpret_cast<RunOrClosePipeMessageParams_Data*>( 76 reinterpret_cast<RunOrClosePipeMessageParams_Data*>(
75 message->mutable_payload()); 77 message->mutable_payload());
76 params->DecodePointers(); 78 params->DecodePointers();
77 79
78 RunOrClosePipeMessageParamsPtr params_ptr; 80 RunOrClosePipeMessageParamsPtr params_ptr;
79 Deserialize_(params, &params_ptr, nullptr); 81 Deserialize<RunOrClosePipeMessageParamsPtr>(params, &params_ptr, &context_);
80 82
81 return interface_version_ >= params_ptr->require_version->version; 83 return interface_version_ >= params_ptr->require_version->version;
82 } 84 }
83 85
84 } // namespace internal 86 } // namespace internal
85 } // namespace mojo 87 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/lib/control_message_handler.h ('k') | mojo/public/cpp/bindings/lib/control_message_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698